X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fcompose.php;h=c42266a254874a3ca742a03b6e91b1105b567142;hb=5f20677e08624dfdbddde258226a063cb909c268;hp=37a2887c1127167e974167b211958b7d23d2e680;hpb=bc07287b2e95dd9c3f2a64ff2285193f302afd48;p=squirrelmail.git diff --git a/src/compose.php b/src/compose.php index 37a2887c..c42266a2 100644 --- a/src/compose.php +++ b/src/compose.php @@ -60,7 +60,9 @@ sqsession_unregister('compose_messages'); $oErrorHandler->setDelayedErrors(true); /** SESSION/POST/GET VARS */ -sqgetGlobalVar('send', $send, SQ_POST); +sqgetGlobalVar('send_button_count', $send_button_count, SQ_POST, 1, SQ_TYPE_INT); +for ($i = 1; $i <= $send_button_count; $i++) + if (sqgetGlobalVar('send' . $i, $send, SQ_POST)) break; // Send can only be achieved by setting $_POST var. If Send = true then // retrieve other form fields from $_POST if (isset($send) && $send) { @@ -83,7 +85,7 @@ sqgetGlobalVar('request_mdn',$request_mdn, $SQ_GLOBAL); sqgetGlobalVar('request_dr',$request_dr, $SQ_GLOBAL); sqgetGlobalVar('html_addr_search',$html_addr_search, $SQ_GLOBAL); sqgetGlobalVar('mail_sent',$mail_sent, $SQ_GLOBAL); -sqgetGlobalVar('passed_id',$passed_id, $SQ_GLOBAL); +sqgetGlobalVar('passed_id',$passed_id, $SQ_GLOBAL, NULL, SQ_TYPE_BIGINT); sqgetGlobalVar('passed_ent_id',$passed_ent_id, $SQ_GLOBAL); sqgetGlobalVar('attach',$attach, SQ_POST); @@ -363,11 +365,11 @@ if (sqsession_is_registered('session_expired_post')) { } else { $sHeaderJs = (isset($sHeaderJs)) ? $sHeaderJs : ''; if (strpos($action, 'reply') !== false && $reply_focus) { - $sBodyTagJs = 'onload="checkForm(\''.$replyfocus.'\');"'; + $sOnload = 'checkForm(\''.$replyfocus.'\');'; } else { - $sBodyTagJs = 'onload="checkForm();"'; + $sOnload = 'checkForm();'; } - displayPageHeader($color, $mailbox,$sHeaderJs,$sBodyTagJs); + displayPageHeader($color, $mailbox,$sHeaderJs,$sOnload); } showInputForm($session, false); exit(); @@ -659,6 +661,8 @@ elseif (isset($sigappend)) { foreach($delete as $index) { if (!empty($composeMessage->entities) && isset($composeMessage->entities[$index])) { $composeMessage->entities[$index]->purgeAttachments(); + // FIXME: one person reported that unset() didn't do anything at all here, so this is a work-around... but it triggers PHP notices if the unset() doesn't work, which should be fixed... but bigger question is if unset() doesn't work here, what about everywhere else? Anyway, uncomment this if you think you need it + //$composeMessage->entities[$index] = NULL; unset ($composeMessage->entities[$index]); } } @@ -1212,6 +1216,17 @@ function showInputForm ($session, $values=false) { $oTemplate->assign('bcc', htmlspecialchars($send_to_bcc)); $oTemplate->assign('subject', htmlspecialchars($subject)); + // access keys... + // + global $accesskey_compose_to, $accesskey_compose_cc, + $accesskey_compose_identity, $accesskey_compose_bcc, + $accesskey_compose_subject; + $oTemplate->assign('accesskey_compose_identity', $accesskey_compose_identity); + $oTemplate->assign('accesskey_compose_to', $accesskey_compose_to); + $oTemplate->assign('accesskey_compose_cc', $accesskey_compose_cc); + $oTemplate->assign('accesskey_compose_bcc', $accesskey_compose_bcc); + $oTemplate->assign('accesskey_compose_subject', $accesskey_compose_subject); + $oTemplate->display('compose_header.tpl'); if ($location_of_buttons == 'between') { @@ -1255,6 +1270,12 @@ function showInputForm ($session, $values=false) { $oTemplate->assign('body', $body_str); $oTemplate->assign('show_bottom_send', $location_of_buttons!='bottom'); + // access keys... + // + global $accesskey_compose_body, $accesskey_compose_send; + $oTemplate->assign('accesskey_compose_body', $accesskey_compose_body); + $oTemplate->assign('accesskey_compose_send', $accesskey_compose_send); + $oTemplate->display ('compose_body.tpl'); if ($location_of_buttons == 'bottom') { @@ -1311,6 +1332,14 @@ function showInputForm ($session, $values=false) { $oTemplate->assign('max_file_size', empty($max) ? -1 : $max); $oTemplate->assign('attachments', $attach); + // access keys... + // + global $accesskey_compose_attach_browse, $accesskey_compose_attach, + $accesskey_compose_delete_attach; + $oTemplate->assign('accesskey_compose_attach_browse', $accesskey_compose_attach_browse); + $oTemplate->assign('accesskey_compose_attach', $accesskey_compose_attach); + $oTemplate->assign('accesskey_compose_delete_attach', $accesskey_compose_delete_attach); + $oTemplate->display('compose_attachments.tpl'); } // End of file_uploads if-block /* End of attachment code */ @@ -1364,10 +1393,16 @@ function showComposeButtonRow() { $mdn_user_support=getPref($data_dir, $username, 'mdn_user_support',$default_use_mdn); + $address_book_button_attribs = array(); + global $accesskey_compose_addresses; + if ($accesskey_compose_addresses != 'NONE') + $address_book_button_attribs['accesskey'] = $accesskey_compose_addresses; if ($use_javascript_addr_book && checkForJavascript()) { - $addr_book = addButton(_("Addresses"), null, array('onclick' => 'javascript:open_abook();')); + $addr_book = addButton(_("Addresses"), + null, + array_merge($address_book_button_attribs, array('onclick' => 'javascript:open_abook();'))); } else { - $addr_book = addSubmit(_("Addresses"), 'html_addr_search'); + $addr_book = addSubmit(_("Addresses"), 'html_addr_search', $address_book_button_attribs); } $oTemplate->assign('allow_priority', $default_use_priority==1); @@ -1381,6 +1416,18 @@ function showComposeButtonRow() { $oTemplate->assign('drafts_enabled', $save_as_draft); $oTemplate->assign('address_book_button', $addr_book); + // access keys... + // + global $accesskey_compose_priority, $accesskey_compose_on_read, + $accesskey_compose_on_delivery, $accesskey_compose_signature, + $accesskey_compose_save_draft, $accesskey_compose_send; + $oTemplate->assign('accesskey_compose_priority', $accesskey_compose_priority); + $oTemplate->assign('accesskey_compose_on_read', $accesskey_compose_on_read); + $oTemplate->assign('accesskey_compose_on_delivery', $accesskey_compose_on_delivery); + $oTemplate->assign('accesskey_compose_signature', $accesskey_compose_signature); + $oTemplate->assign('accesskey_compose_save_draft', $accesskey_compose_save_draft); + $oTemplate->assign('accesskey_compose_send', $accesskey_compose_send); + $oTemplate->display('compose_buttons.tpl'); } @@ -1523,7 +1570,7 @@ function deliverMessage(&$composeMessage, $draft=false) { /* Receipt: On Delivery */ if (!empty($request_dr)) { //FIXME: it would be better to fiddle with headers inside of the message object or possibly when delivering the message to its destination; is this possible? - $rfc822_header->more_headers['Return-Receipt-To'] = $from->mailbox.'@'.$from->domain; + $rfc822_header->more_headers['Return-Receipt-To'] = $from_addr; } elseif (isset($rfc822_header->more_headers['Return-Receipt-To'])) { unset($rfc822_header->more_headers['Return-Receipt-To']); }