From 8949acd68dc6459372ef79823c88c0fbf2ae4e23 Mon Sep 17 00:00:00 2001 From: pdontthink Date: Wed, 25 Mar 2009 07:53:49 +0000 Subject: [PATCH] Add accesskeys accessibility implementation. Need to keep adding other pages, especially mailbox view and perhaps folder frame. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@13439 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- include/constants.php | 29 ++ include/load_prefs.php | 31 ++ include/options/accessibility.php | 283 ++++++++++++++++++ src/compose.php | 45 ++- src/options.php | 22 ++ src/read_body.php | 15 + templates/default/compose_attachments.tpl | 13 +- templates/default/compose_body.tpl | 6 +- templates/default/compose_buttons.tpl | 18 +- templates/default/compose_header.tpl | 14 +- templates/default/read_menubar_buttons.tpl | 27 +- templates/default_advanced/compose_body.tpl | 6 +- .../default_advanced/read_menubar_buttons.tpl | 27 +- 13 files changed, 497 insertions(+), 39 deletions(-) create mode 100644 include/options/accessibility.php diff --git a/include/constants.php b/include/constants.php index bf649187..38a85b5d 100644 --- a/include/constants.php +++ b/include/constants.php @@ -260,3 +260,32 @@ define('SMOPT_SIZE_NORMAL', 5); define('SMOPT_SAVE_DEFAULT', 'save_option'); define('SMOPT_SAVE_NOOP', 'save_option_noop'); +// Convenience array of values 'a' through 'z' +$a_to_z = array( + 'a' => 'a', + 'b' => 'b', + 'c' => 'c', + 'd' => 'd', + 'e' => 'e', + 'f' => 'f', + 'g' => 'g', + 'h' => 'h', + 'i' => 'i', + 'j' => 'j', + 'k' => 'k', + 'l' => 'l', + 'm' => 'm', + 'n' => 'n', + 'o' => 'o', + 'p' => 'p', + 'q' => 'q', + 'r' => 'r', + 's' => 's', + 't' => 't', + 'u' => 'u', + 'v' => 'v', + 'w' => 'w', + 'x' => 'x', + 'y' => 'y', + 'z' => 'z', + ); diff --git a/include/load_prefs.php b/include/load_prefs.php index 17a38abd..1045c877 100644 --- a/include/load_prefs.php +++ b/include/load_prefs.php @@ -349,6 +349,37 @@ $show_recipient_instead = getPref($data_dir, $username, 'show_recipient_instead' $delete_prev_next_display = getPref($data_dir, $username, 'delete_prev_next_display', SMPREF_ON); +/** + * Access keys + * @since 1.5.2 + */ +$accesskey_read_msg_reply = getPref($data_dir, $username, 'accesskey_read_msg_reply', 'r'); +$accesskey_read_msg_reply_all = getPref($data_dir, $username, 'accesskey_read_msg_reply_all', 'a'); +$accesskey_read_msg_forward = getPref($data_dir, $username, 'accesskey_read_msg_forward', 'f'); +$accesskey_read_msg_as_attach = getPref($data_dir, $username, 'accesskey_read_msg_as_attach', 'h'); +$accesskey_read_msg_delete = getPref($data_dir, $username, 'accesskey_read_msg_delete', 'd'); +$accesskey_read_msg_bypass_trash = getPref($data_dir, $username, 'accesskey_read_msg_bypass_trash', 'b'); +$accesskey_read_msg_move_to = getPref($data_dir, $username, 'accesskey_read_msg_move_to', 't'); +$accesskey_read_msg_move = getPref($data_dir, $username, 'accesskey_read_msg_move', 'm'); +$accesskey_read_msg_copy = getPref($data_dir, $username, 'accesskey_read_msg_copy', 'c'); + +$accesskey_compose_to = getPref($data_dir, $username, 'accesskey_compose_to', 't'); +$accesskey_compose_cc = getPref($data_dir, $username, 'accesskey_compose_cc', 'c'); +$accesskey_compose_bcc = getPref($data_dir, $username, 'accesskey_compose_bcc', 'NONE'); +$accesskey_compose_subject = getPref($data_dir, $username, 'accesskey_compose_subject', 'j'); +$accesskey_compose_priority = getPref($data_dir, $username, 'accesskey_compose_priority', 'p'); +$accesskey_compose_on_read = getPref($data_dir, $username, 'accesskey_compose_on_read', 'r'); +$accesskey_compose_on_delivery = getPref($data_dir, $username, 'accesskey_compose_on_delivery', 'v'); +$accesskey_compose_signature = getPref($data_dir, $username, 'accesskey_compose_signature', 'g'); +$accesskey_compose_addresses = getPref($data_dir, $username, 'accesskey_compose_addresses', 'a'); +$accesskey_compose_save_draft = getPref($data_dir, $username, 'accesskey_compose_save_draft', 'd'); +$accesskey_compose_send = getPref($data_dir, $username, 'accesskey_compose_send', 's'); +$accesskey_compose_body = getPref($data_dir, $username, 'accesskey_compose_body', 'b'); +$accesskey_compose_attach_browse = getPref($data_dir, $username, 'accesskey_compose_attach_browse', 'w'); +$accesskey_compose_attach = getPref($data_dir, $username, 'accesskey_compose_attach', 'h'); +$accesskey_compose_delete_attach = getPref($data_dir, $username, 'accesskey_compose_delete_attach', 'l'); + + /** * Height of iframe that displays html formated emails * @since 1.5.1 diff --git a/include/options/accessibility.php b/include/options/accessibility.php new file mode 100644 index 00000000..b84f71ef --- /dev/null +++ b/include/options/accessibility.php @@ -0,0 +1,283 @@ + _("Not used")), $a_to_z); + + /* Build a simple array into which we will build options. */ + $optgrps = array(); + $optvals = array(); + + /******************************************************/ + /* LOAD EACH GROUP OF OPTIONS INTO THE OPTIONS ARRAY. */ + /******************************************************/ + + /*** Load the Access Key Options for the Read Message page into the array ***/ + $optgrps[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE] = _("Access Keys For Read Message Screen"); + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE] = array(); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_reply', + 'caption' => _("Reply"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_reply_all', + 'caption' => _("Reply All"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_forward', + 'caption' => _("Forward"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_as_attach', + 'caption' => _("As Attachment"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_delete', + 'caption' => _("Delete"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_bypass_trash', + 'caption' => _("Bypass Trash"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_move_to', + 'caption' => _("Move To"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_move', + 'caption' => _("Move"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_READ_MESSAGE][] = array( + 'name' => 'accesskey_read_msg_copy', + 'caption' => _("Copy"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + + /*** Load the Access Key Options for the Compose page into the array ***/ + $optgrps[SMOPT_GRP_ACCESSKEYS_COMPOSE] = _("Access Keys For Compose Screen"); + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE] = array(); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_to', + 'caption' => _("To"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_cc', + 'caption' => _("Cc"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_bcc', + 'caption' => _("Bcc"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_subject', + 'caption' => _("Subject"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_priority', + 'caption' => _("Priority"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_on_read', + 'caption' => _("On Read"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_on_delivery', + 'caption' => _("On Delivery"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_signature', + 'caption' => _("Signature"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_addresses', + 'caption' => _("Addresses"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_save_draft', + 'caption' => _("Save Draft"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_send', + 'caption' => _("Send"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_body', + 'caption' => _("Body"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_attach_browse', + 'caption' => _("Browse"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_attach', + 'caption' => _("Attach"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + $optvals[SMOPT_GRP_ACCESSKEYS_COMPOSE][] = array( + 'name' => 'accesskey_compose_delete_attach', + 'caption' => _("Delete Selected Attachments"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_TINY, + 'posvals' => $my_a_to_z, + ); + + + /* Assemble all this together and return it as our result. */ + $result = array( + 'grps' => $optgrps, + 'vals' => $optvals + ); + return ($result); +} + +/******************************************************************/ +/** Define any specialized save functions for this option page. ***/ +/** ***/ +/** You must add every function that is set in save parameter ***/ +/******************************************************************/ + diff --git a/src/compose.php b/src/compose.php index 189b65a8..fcd707fa 100644 --- a/src/compose.php +++ b/src/compose.php @@ -1216,6 +1216,15 @@ 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_bcc, $accesskey_compose_subject; + $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') { @@ -1259,6 +1268,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') { @@ -1315,6 +1330,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 */ @@ -1368,10 +1391,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); @@ -1385,6 +1414,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'); } diff --git a/src/options.php b/src/options.php index f11694dd..ad4c99cb 100644 --- a/src/options.php +++ b/src/options.php @@ -39,6 +39,7 @@ define('SMOPT_PAGE_MAIN', 'main'); define('SMOPT_PAGE_PERSONAL', 'personal'); define('SMOPT_PAGE_DISPLAY', 'display'); define('SMOPT_PAGE_COMPOSE', 'compose'); +define('SMOPT_PAGE_ACCESSIBILITY', 'accessibility'); define('SMOPT_PAGE_HIGHLIGHT', 'highlight'); define('SMOPT_PAGE_FOLDER', 'folder'); define('SMOPT_PAGE_ORDER', 'order'); @@ -149,6 +150,12 @@ switch ($optpage) { $optpage_loader = 'load_optpage_data_compose'; $optpage_loadhook = 'optpage_loadhook_compose'; break; + case SMOPT_PAGE_ACCESSIBILITY: + $optpage_name = _("Accessibility Preferences"); + $optpage_file = SM_PATH . 'include/options/accessibility.php'; + $optpage_loader = 'load_optpage_data_accessibility'; + $optpage_loadhook = 'optpage_loadhook_accessibility'; + break; case SMOPT_PAGE_HIGHLIGHT: $optpage_name = _("Message Highlighting"); $optpage_file = SM_PATH . 'include/options/highlight.php'; @@ -228,6 +235,9 @@ if ($optmode == SMOPT_MODE_SUBMIT) { case SMOPT_PAGE_COMPOSE: $save_hook_name = 'options_compose_save'; break; + case SMOPT_PAGE_ACCESSIBILITY: + $save_hook_name = 'options_accessibility_save'; + break; case SMOPT_PAGE_FOLDER: $save_hook_name = 'options_folder_save'; break; @@ -361,6 +371,14 @@ if ($optpage == SMOPT_PAGE_MAIN) { 'js' => false ); + /* Build a section for Accessibility Options. */ + $optpage_blocks[] = array( + 'name' => _("Accessibility Preferences"), + 'url' => 'options.php?optpage=' . SMOPT_PAGE_ACCESSIBILITY, + 'desc' => _("You can configure features that improve interface usability."), + 'js' => false + ); + /* Build a section for plugins wanting to register an optionpage. */ do_hook('optpage_register_block', $null); @@ -407,6 +425,10 @@ if ($optpage == SMOPT_PAGE_MAIN) { $bottom_hook_name = 'options_compose_bottom'; $submit_name = 'submit_compose'; break; + case SMOPT_PAGE_ACCESSIBILITY: + $bottom_hook_name = 'options_accessibility_bottom'; + $submit_name = 'submit_accessibility'; + break; case SMOPT_PAGE_HIGHLIGHT: $bottom_hook_name = 'options_highlight_bottom'; $submit_name = 'submit_highlight'; diff --git a/src/read_body.php b/src/read_body.php index fb93be43..12be8adb 100644 --- a/src/read_body.php +++ b/src/read_body.php @@ -658,6 +658,21 @@ function formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message, $removed $oTemplate->assign('can_be_copied', false); } + // access keys... + // + global $accesskey_read_msg_reply, $accesskey_read_msg_reply_all, + $accesskey_read_msg_forward, $accesskey_read_msg_as_attach, + $accesskey_read_msg_delete, $accesskey_read_msg_bypass_trash, + $accesskey_read_msg_move_to, $accesskey_read_msg_move; + $oTemplate->assign('accesskey_read_msg_reply', $accesskey_read_msg_reply); + $oTemplate->assign('accesskey_read_msg_reply_all', $accesskey_read_msg_reply_all); + $oTemplate->assign('accesskey_read_msg_forward', $accesskey_read_msg_forward); + $oTemplate->assign('accesskey_read_msg_as_attach', $accesskey_read_msg_as_attach); + $oTemplate->assign('accesskey_read_msg_delete', $accesskey_read_msg_delete); + $oTemplate->assign('accesskey_read_msg_bypass_trash', $accesskey_read_msg_bypass_trash); + $oTemplate->assign('accesskey_read_msg_move_to', $accesskey_read_msg_move_to); + $oTemplate->assign('accesskey_read_msg_move', $accesskey_read_msg_move); + global $null; do_hook('read_body_menu', $null); diff --git a/templates/default/compose_attachments.tpl b/templates/default/compose_attachments.tpl index 16fbab9d..0b969228 100644 --- a/templates/default/compose_attachments.tpl +++ b/templates/default/compose_attachments.tpl @@ -5,6 +5,9 @@ * Description * * The following variables are available in this template: + * $accesskey_compose_attach_browse - The access key to be used for the Browse button + * $accesskey_compose_attach - The access key to be used for the Attach button + * $accesskey_compose_delete_attach - The access key to be used for the Delete Attachments button * * @copyright © 1999-2006 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License @@ -25,9 +28,9 @@ extract($t); : - + />   - " /> + value="" />   - + - () 0) { ?> - " /> + value="" /> - + - " /> + name="" value="" /> : - > $name) { echo ''; @@ -51,9 +57,9 @@ extract($t); : - /> + />   - /> + /> - " />  + value="" />    - " />  + value="" />  - " />  + name="" value="" />  diff --git a/templates/default/compose_header.tpl b/templates/default/compose_header.tpl index fa02db94..1c07b703 100644 --- a/templates/default/compose_header.tpl +++ b/templates/default/compose_header.tpl @@ -5,6 +5,10 @@ * Description * * The following variables are available in this template: + * $accesskey_compose_to - The access key to be used for the To field + * $accesskey_compose_cc - The access key to be used for the Cc field + * $accesskey_compose_bcc - The access key to be used for the Bcc field + * $accesskey_compose_subject - The access key to be used for the Subject field * * @copyright © 1999-2006 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License @@ -48,7 +52,7 @@ extract($t); - /> + /> @@ -56,7 +60,7 @@ extract($t); - /> + /> @@ -64,7 +68,7 @@ extract($t); - /> + /> @@ -72,8 +76,8 @@ extract($t); - /> + /> - \ No newline at end of file + diff --git a/templates/default/read_menubar_buttons.tpl b/templates/default/read_menubar_buttons.tpl index 6a08edcf..3edce9b9 100644 --- a/templates/default/read_menubar_buttons.tpl +++ b/templates/default/read_menubar_buttons.tpl @@ -39,6 +39,15 @@ * $delete_form_extra - additional input elements needed by the DELETE form * $move_form_extra - additional input elements needed by the MOVE form. * $last_move_target - the last folder that a message was moved/copied to. + * $accesskey_read_msg_reply - The accesskey to be used for the Reply button + * $accesskey_read_msg_reply_all - The accesskey to be used for the Reply All button + * $accesskey_read_msg_forward - The accesskey to be used for the Forward button + * $accesskey_read_msg_as_attach - The accesskey to be used for the As Attachment checkbox + * $accesskey_read_msg_delete - The accesskey to be used for the Delete button + * $accesskey_read_msg_bypass_trash - The accesskey to be used for the Bypass Trash checkbox + * $accesskey_read_msg_move_to - The accesskey to be used for the folder select list + * $accesskey_read_msg_move - The accesskey to be used for the Move button + * $accesskey_read_msg_copy - The accesskey to be used for the Copy button * * * @copyright © 1999-2006 The SquirrelMail Project Team @@ -95,14 +104,14 @@ if ($nav_on_top) { - " onclick="" />  - " onclick="" /> + value="" onclick="" />  + value="" onclick="" />   |   - " onclick="" /> + value="" onclick="" /> - + /> " method="post"> - " /> - + value="" /> + /> : - name="targetMailbox"> $option) { echo ''."\n"; } ?> - " /> + value="" /> - " /> + value="" /> diff --git a/templates/default_advanced/compose_body.tpl b/templates/default_advanced/compose_body.tpl index c16b01b6..989db9e5 100644 --- a/templates/default_advanced/compose_body.tpl +++ b/templates/default_advanced/compose_body.tpl @@ -5,6 +5,8 @@ * Description * * The following variables are available in this template: + * $accesskey_compose_body - The access key to use for the message body textarea + * $accesskey_compose_send - The access key to be use for the Send button * * @copyright © 1999-2006 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License @@ -24,7 +26,7 @@ extract($t); - " onclick="" />  - " onclick="" /> + value="" onclick="" />  + value="" onclick="" />   |   - " onclick="" /> + value="" onclick="" /> - + /> " method="post"> - value="'; ?> - + /> '; ?> : - name="targetMailbox"> $option) { echo ''."\n"; } ?> - value="'; if ($can_be_copied) { ?> - " /> + value="" /> -- 2.25.1
- +
- " /> + name="" value="" />