X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fmailbox_display.php;h=42ae26cb13d08c91a1acf23aa02a9734da7a8d5a;hb=134ee6a85886fe56aec3ef4953790ac398d3f010;hp=f858bb4a280217333867949c19f338511470d53c;hpb=c0d968010e710870fdfee2f22d7cc9fad370c7a9;p=squirrelmail.git diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php index f858bb4a..42ae26cb 100644 --- a/functions/mailbox_display.php +++ b/functions/mailbox_display.php @@ -6,7 +6,7 @@ * This contains functions that display mailbox information, such as the * table row that has sender, date, subject, etc... * - * @copyright 1999-2012 The SquirrelMail Project Team + * @copyright 1999-2017 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail @@ -21,13 +21,20 @@ * @param string $mailbox mailbox to select and retrieve message headers from * @param array $aConfig array with system config settings and incoming vars * @param array $aProps mailbox specific properties + * @param boolean $handle_errors When TRUE, IMAP errors + * are handled herein, causing + * an error to be displayed on + * screen and execution to stop + * and when FALSE, error status + * is returned to the caller + * (OPTIONAL; default is TRUE) * * @return array $aMailbox mailbox array with all relevant information * * @since 1.5.1 * @author Marc Groot Koerkamp */ -function sqm_api_mailbox_select($imapConnection,$account,$mailbox,$aConfig,$aProps) { +function sqm_api_mailbox_select($imapConnection,$account,$mailbox,$aConfig,$aProps,$handle_errors=true) { /** * NB: retrieve this from the session before accessing this function @@ -48,7 +55,7 @@ function sqm_api_mailbox_select($imapConnection,$account,$mailbox,$aConfig,$aPro $iSetIndx = $aConfig['setindex']; - $aMbxResponse = sqimap_mailbox_select($imapConnection, $mailbox); + $aMbxResponse = sqimap_mailbox_select($imapConnection, $mailbox, $handle_errors); if ($mailbox_cache) { if (isset($mailbox_cache[$account.'_'.$mailbox])) { @@ -554,11 +561,11 @@ function prepareMessageList(&$aMailbox, $aProps) { $sMailbox = (isset($aAddr[SQM_ADDR_MAILBOX])) ? $aAddr[SQM_ADDR_MAILBOX] : ''; $sHost = (isset($aAddr[SQM_ADDR_HOST])) ? $aAddr[SQM_ADDR_HOST] : ''; if ($sPersonal) { - $title .= htmlspecialchars($sMailbox.'@'.$sHost).', '; + $title .= sm_encode_html_special_chars($sMailbox.'@'.$sHost).', '; } else { // if $value gets truncated we need to add the addresses with no // personal name as well - $title_maybe .= htmlspecialchars($sMailbox.'@'.$sHost).', '; + $title_maybe .= sm_encode_html_special_chars($sMailbox.'@'.$sHost).', '; } } if ($title) { @@ -593,7 +600,9 @@ function prepareMessageList(&$aMailbox, $aProps) { if (isset($aColumnDesc[$k]['truncate']) && $aColumnDesc[$k]['truncate']) { $sTmp = sm_truncate_string($value, $aColumnDesc[$k]['truncate']-$iIndent, '...', TRUE); // drop any double spaces since these will be displayed in the title - $title = ($sTmp != $value) ? preg_replace('/\s{2,}/', ' ', $value) : ''; + // Nah, it's nice to always have a roll-over + //$title = ($sTmp != $value) ? preg_replace('/\s{2,}/', ' ', $value) : ''; + $title = preg_replace('/\s{2,}/', ' ', $value); $value = $sTmp; } /* generate the link to the message */ @@ -618,7 +627,9 @@ function prepareMessageList(&$aMailbox, $aProps) { break; case SQM_COL_DATE: case SQM_COL_INT_DATE: - $value = getDateString(getTimeStamp(explode(' ',trim($value)))); + $value = getTimeStamp(explode(' ',trim($value))); + $title = getDateString($value, TRUE); + $value = getDateString($value); break; case SQM_COL_FLAGS: $aFlagColumn = array('seen' => false, @@ -1297,7 +1308,7 @@ function handleMessageListForm($imapConnection, &$aMailbox, $sButton='', // don't do anything to any messages until we have done security check // FIXME: not sure this code really belongs here, but there's nowhere else to put it with this architecture sqgetGlobalVar('smtoken', $submitted_token, SQ_FORM, ''); - sm_validate_security_token($submitted_token, 3600, TRUE); + sm_validate_security_token($submitted_token, -1, TRUE); // make sure message UIDs are sanitized (BIGINT) foreach ($aUid as $i => $uid)