X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fmailbox_display.php;h=29a3b340e178cf25fdcf279eb6956b2e2d02eb55;hb=e1a125cdd9aafec0ac3048b72405fd3cba0378d3;hp=b54905c838d8cf90926c7493519bb26732ad6346;hpb=bdfa0f9a6bf233ee61b3b9d24f816d0e33db271c;p=squirrelmail.git diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php index b54905c8..29a3b340 100644 --- a/functions/mailbox_display.php +++ b/functions/mailbox_display.php @@ -427,7 +427,7 @@ function fetchMessageHeaders($imapConnection, &$aMailbox) { function prepareMessageList(&$aMailbox, $aProps) { /* Globalize link attributes so plugins can share in modifying them */ - global $link, $title, $target, $onclick, $link_extra; + global $link, $title, $target, $onclick, $link_extra, $preselected; /* retrieve the properties */ $my_email_address = (isset($aProps['email'])) ? $aProps['email'] : false; @@ -569,7 +569,7 @@ function prepareMessageList(&$aMailbox, $aProps) { $sTrunc = truncateWithEntities($sTmp, $aColumnDesc[$k]['truncate']); if ($sTrunc != $sTmp) { if (!$title) { - $title = htmlspecialchars($sTmp); + $title = $sTmp; } else if ($title_maybe) { $title = $title .', '.$title_maybe; $title = substr($title,0,-2); // strip ', '; @@ -606,7 +606,8 @@ function prepareMessageList(&$aMailbox, $aProps) { // $onclick, $link_extra, $title, and so forth) // plugins are responsible for sharing nicely (such as for // setting the target, etc) - do_hook('subject_link', $temp=array(&$iPageOffset, &$sSearch, &$aSearch, $aMsg)); + $temp = array(&$iPageOffset, &$sSearch, &$aSearch, $aMsg); + do_hook('subject_link', $temp); } $value = (trim($value)) ? $value : _("(no subject)"); /* add thread indentation */ @@ -627,7 +628,7 @@ function prepareMessageList(&$aMailbox, $aProps) { 'draft' => false); if(!is_array($value)) $value = array(); - foreach ($value as $sFlag => $value) { + foreach ($value as $sFlag => $v) { switch ($sFlag) { case '\\seen' : $aFlagColumn['seen'] = true; break; case '\\deleted' : $aFlagColumn['deleted'] = true; break; @@ -646,7 +647,7 @@ function prepareMessageList(&$aMailbox, $aProps) { $value = (is_array($value) && $value[0] == 'multipart' && $value[1] == 'mixed') ? true : false; break; case SQM_COL_CHECK: - $value = $checkall; + $value = ($checkall || in_array($iUid, $preselected)); break; default : break; } @@ -1299,14 +1300,17 @@ function handleAsSent($mailbox) { * use it i.e. in read_body.php for del move next and update the cache * * @param resource $imapConnection imap connection - * @param array $aMailbox (reference) cached mailbox - * @param string $sButton fake a submit button - * @param array $aUid fake the $msg array + * @param array $aMailbox (reference) cached mailbox + * @param string $sButton fake a submit button + * @param array $aUid fake the $msg array + * @param string $targetMailbox fake the target mailbox for move operations + * @param boolean $bypass_trash fake the bypass trash checkbox for delete operations * @return string $sError error string in case of an error * @since 1.5.1 * @author Marc Groot Koerkamp */ -function handleMessageListForm($imapConnection,&$aMailbox,$sButton='',$aUid = array()) { +function handleMessageListForm($imapConnection, &$aMailbox, $sButton='', + $aUid = array(), $targetMailbox='', $bypass_trash=NULL) { /* incoming formdata */ $sButton = (sqgetGlobalVar('moveButton', $sTmp, SQ_FORM)) ? 'move' : $sButton; $sButton = (sqgetGlobalVar('copyButton', $sTmp, SQ_FORM)) ? 'copy' : $sButton; @@ -1318,8 +1322,8 @@ function handleMessageListForm($imapConnection,&$aMailbox,$sButton='',$aUid = ar $sButton = (sqgetGlobalVar('markUnread', $sTmp, SQ_FORM)) ? 'unsetSeen' : $sButton; $sButton = (sqgetGlobalVar('markFlagged', $sTmp, SQ_FORM)) ? 'setFlagged' : $sButton; $sButton = (sqgetGlobalVar('markUnflagged', $sTmp, SQ_FORM)) ? 'unsetFlagged' : $sButton; - sqgetGlobalVar('targetMailbox', $targetMailbox, SQ_FORM); - sqgetGlobalVar('bypass_trash', $bypass_trash, SQ_FORM); + if (empty($targetMailbox)) sqgetGlobalVar('targetMailbox', $targetMailbox, SQ_FORM); + if (is_null($bypass_trash)) sqgetGlobalVar('bypass_trash', $bypass_trash, SQ_FORM); sqgetGlobalVar('msg', $msg, SQ_FORM); if (sqgetGlobalVar('account', $iAccount, SQ_FORM) === false) { $iAccount = 0; @@ -1538,13 +1542,14 @@ function attachSelectedMessages($imapConnection,$aMsgHeaders) { $body = implode('', $body_a); $body .= "\r\n"; + global $username, $attachment_dir; $filename = sq_get_attach_tempfile(); - $fp = fopen($filename, 'wb'); + $fullpath = getHashedDir($username, $attachment_dir) . '/' . $filename; + $fp = fopen($fullpath, 'wb'); fwrite ($fp, $body); fclose($fp); - $composeMessage->initAttachment('message/rfc822',$subject.'.msg', - $filename); + $composeMessage->initAttachment('message/rfc822', $subject . '.eml', $filename); } }