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',
+ );
$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
--- /dev/null
+<?php
+
+/**
+ * options_accessibility.php
+ *
+ * Displays all options concerning accessibility features in SquirrelMail.
+ *
+ * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package squirrelmail
+ */
+
+/** Define the group constants for this options page. */
+define('SMOPT_GRP_ACCESSKEYS_READ_MESSAGE', 0);
+define('SMOPT_GRP_ACCESSKEYS_COMPOSE', 1);
+
+/**
+ * This function builds an array with all the information about
+ * the options available to the user, and returns it. The options
+ * are grouped by the groups in which they are displayed.
+ * For each option, the following information is stored:
+ * - name: the internal (variable) name
+ * - caption: the description of the option in the UI
+ * - type: one of SMOPT_TYPE_*
+ * - refresh: one of SMOPT_REFRESH_*
+ * - size: one of SMOPT_SIZE_*
+ * - save: the name of a function to call when saving this option
+ * @return array all option information
+ */
+function load_optpage_data_accessibility() {
+
+ global $a_to_z;
+ $my_a_to_z = array_merge(array('NONE' => _("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 ***/
+/******************************************************************/
+
$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') {
$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') {
$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 */
$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);
$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');
}
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');
$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';
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;
'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);
$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';
$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);
* 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
<?php echo _("New attachment");?>:
</td>
<td class="fieldValue">
- <input type="file" name="attachfile" size="48" />
+ <input type="file" name="attachfile" size="48" <?php if ($accesskey_compose_attach_browse != 'NONE') echo 'accesskey="' . $accesskey_compose_attach_browse . '" '; ?>/>
- <input type="submit" name="attach" value="<?php echo _("Attach"); ?>" />
+ <input type="submit" name="attach" <?php if ($accesskey_compose_attach != 'NONE') echo 'accesskey="' . $accesskey_compose_attach . '" '; ?>value="<?php echo _("Attach"); ?>" />
<?php
if($max_file_size != -1) {
</td>
</tr>
<?php
+ $attachment_count = 1;
foreach ($attachments as $attach) {
?>
<tr class="attachment">
<td class="fieldName" style="width: 1%">
- <input type="checkbox" name="delete[]" value="<?php echo $attach['Key']; ?>" />
+ <input type="checkbox" name="delete[]" accesskey="<?php echo ($attachment_count % 10); ?>" value="<?php echo $attach['Key']; ?>" />
</td>
<td class="fieldValue">
<?php echo $attach['FileName']; ?> - <?php echo $attach['ContentType']; ?> (<?php echo humanReadableSize($attach['Size']); ?>)
</td>
</tr>
<?php
+ $attachment_count++;
}
if (count($attachments) > 0) {
?>
<tr class="header">
<td colspan="2">
- <input type="submit" name="do_delete" value="<?php echo _("Delete selected attachments"); ?>" />
+ <input type="submit" name="do_delete" <?php if ($accesskey_compose_delete_attach != 'NONE') echo 'accesskey="' . $accesskey_compose_delete_attach . '" '; ?>value="<?php echo _("Delete Selected Attachments"); ?>" />
</td>
</tr>
<?php
* 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
<table cellspacing="0" class="table1">
<tr>
<td style="text-align: center">
- <textarea name="body" id="body" rows="<?php echo $editor_height; ?>" cols="<?php echo $editor_width; ?>" <?php echo $input_onfocus; ?>><?php echo $body; ?></textarea>
+ <textarea name="body" id="body" rows="<?php echo $editor_height; ?>" cols="<?php echo $editor_width; ?>" <?php if ($accesskey_compose_body != 'NONE') echo 'accesskey="' . $accesskey_compose_body . '" '; echo $input_onfocus; ?>><?php echo $body; ?></textarea>
</td>
</tr>
<?php
?>
<tr>
<td class="bottomSend">
- <input type="submit" name="<?php echo unique_widget_name('send'); ?>" value="<?php echo _("Send"); ?>" />
+ <input type="submit" <?php if (!unique_widget_name('send', TRUE) && $accesskey_compose_send != 'NONE') echo 'accesskey="' . $accesskey_compose_send . '" '; ?>name="<?php echo unique_widget_name('send'); ?>" value="<?php echo _("Send"); ?>" />
</td>
</tr>
<?php
* Description
*
* The following variables are available in this template:
+ * $accesskey_compose_priority - The access key to be use for the Priority list
+ * $accesskey_compose_on_read - The access key to be use for the On Read checkbox
+ * $accesskey_compose_on_delivery - The access key to be use for the On Delivery checkbox
+ * $accesskey_compose_signature - The access key to be use for the Signature button
+ * $accesskey_compose_save_draft - The access key to be use for the Save Draft button
+ * $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
<label for="mailprio"><?php echo _("Priority"); ?>:</label>
</td>
<td class="fieldValue">
- <select name="mailprio" id="mailprio">
+ <select name="mailprio" id="mailprio"<?php if ($accesskey_compose_priority != 'NONE') echo ' accesskey="' . $accesskey_compose_priority . '"'; ?>>
<?php
foreach ($priority_list as $value=>$name) {
echo '<option value="'.$value.'"'. ($value==$current_priority ? ' selected="selected"' : '') .'>'.$name.'</option>';
<?php echo _("Receipts"); ?>:
</td>
<td class="fieldValue">
- <input type="checkbox" name="request_mdn" id="request_mdn" value="1" <?php if ($read_receipt) echo ' checked="checked"'; ?> /><label for="request_mdn"><?php echo _("On Read"); ?></label>
+ <input type="checkbox" name="request_mdn" id="request_mdn" value="1" <?php if ($read_receipt) echo ' checked="checked"'; ?> <?php if ($accesskey_compose_on_read != 'NONE') echo 'accesskey="' . $accesskey_compose_on_read . '" '; ?>/><label for="request_mdn"><?php echo _("On Read"); ?></label>
- <input type="checkbox" name="request_dr" id="request_dr" value="1" <?php if ($delivery_receipt) echo ' checked="checked"'; ?> /><label for="request_dr"><?php echo _("On Delivery"); ?></label>
+ <input type="checkbox" name="request_dr" id="request_dr" value="1" <?php if ($delivery_receipt) echo ' checked="checked"'; ?> <?php if ($accesskey_compose_on_delivery != 'NONE') echo 'accesskey="' . $accesskey_compose_on_delivery . '" '; ?>/><label for="request_dr"><?php echo _("On Delivery"); ?></label>
</td>
</tr>
<?php
?>
<tr>
<td colspan="2" class="buttons">
- <input type="submit" name="sigappend" value="<?php echo _("Signature"); ?>" />
+ <input type="submit" name="sigappend" <?php if ($accesskey_compose_signature != 'NONE') echo 'accesskey="' . $accesskey_compose_signature . '" '; ?>value="<?php echo _("Signature"); ?>" />
<?php echo $address_book_button; ?>
<?php
if ($drafts_enabled) {
?>
- <input type="submit" name="draft" value="<?php echo _("Save Draft"); ?>" />
+ <input type="submit" name="draft" <?php if ($accesskey_compose_save_draft != 'NONE') echo 'accesskey="' . $accesskey_compose_save_draft . '" '; ?>value="<?php echo _("Save Draft"); ?>" />
<?php
}
?>
- <input type="submit" name="<?php echo unique_widget_name('send'); ?>" value="<?php echo _("Send"); ?>" />
+ <input type="submit" <?php if (!unique_widget_name('send', TRUE) && $accesskey_compose_send != 'NONE') echo 'accesskey="' . $accesskey_compose_send . '" '; ?>name="<?php echo unique_widget_name('send'); ?>" value="<?php echo _("Send"); ?>" />
<?php if (!empty($plugin_output['compose_button_row'])) echo $plugin_output['compose_button_row']; ?>
</td>
</tr>
* 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
<label for="to"><?php echo _("To"); ?>:</label>
</td>
<td class="fieldValue">
- <input type="text" name="send_to" id="to" value="<?php echo $to; ?>" size="50" <?php echo $input_onfocus; ?> />
+ <input type="text" name="send_to" id="to" value="<?php echo $to; ?>" size="50" <?php if ($accesskey_compose_to != 'NONE') echo 'accesskey="' . $accesskey_compose_to . '" '; echo $input_onfocus; ?> />
</td>
</tr>
<tr>
<label for="send_to_cc"><?php echo _("Cc"); ?>:</label>
</td>
<td class="fieldValue">
- <input type="text" name="send_to_cc" id="send_to_cc" value="<?php echo $cc; ?>" size="50" <?php echo $input_onfocus; ?> />
+ <input type="text" name="send_to_cc" id="send_to_cc" value="<?php echo $cc; ?>" size="50" <?php if ($accesskey_compose_cc != 'NONE') echo 'accesskey="' . $accesskey_compose_cc . '" '; echo $input_onfocus; ?> />
</td>
</tr>
<tr>
<label for="send_to_bcc"><?php echo _("Bcc"); ?>:</label>
</td>
<td class="fieldValue">
- <input type="text" name="send_to_bcc" id="send_to_bcc" value="<?php echo $bcc; ?>" size="50" <?php echo $input_onfocus; ?> />
+ <input type="text" name="send_to_bcc" id="send_to_bcc" value="<?php echo $bcc; ?>" size="50" <?php if ($accesskey_compose_bcc != 'NONE') echo 'accesskey="' . $accesskey_compose_bcc . '" '; echo $input_onfocus; ?> />
</td>
</tr>
<tr>
<label for="subject"><?php echo _("Subject"); ?>:</label>
</td>
<td class="fieldValue">
- <input type="text" name="subject" id="subject" value="<?php echo $subject; ?>" size="50" <?php echo $input_onfocus; ?> />
+ <input type="text" name="subject" id="subject" value="<?php echo $subject; ?>" size="50" <?php if ($accesskey_compose_subject != 'NONE') echo 'accesskey="' . $accesskey_compose_subject . '" '; echo $input_onfocus; ?> />
</td>
</tr>
</table>
-</div>
\ No newline at end of file
+</div>
* $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
<?php
}
?>
- <input type="submit" name="smaction_reply" value="<?php echo _("Reply"); ?>" onclick="<?php echo $button_onclick; ?>" />
- <input type="submit" name="smaction_reply_all" value="<?php echo _("Reply All"); ?>" onclick="<?php echo $button_onclick; ?>" />
+ <input type="submit" name="smaction_reply" <?php if ($accesskey_read_msg_reply != 'NONE') echo 'accesskey="' . $accesskey_read_msg_reply . '" '; ?>value="<?php echo _("Reply"); ?>" onclick="<?php echo $button_onclick; ?>" />
+ <input type="submit" name="smaction_reply_all" <?php if ($accesskey_read_msg_reply_all != 'NONE') echo 'accesskey="' . $accesskey_read_msg_reply_all . '" '; ?>value="<?php echo _("Reply All"); ?>" onclick="<?php echo $button_onclick; ?>" />
|
- <input type="submit" name="smaction_forward" value="<?php echo _("Forward"); ?>" onclick="<?php echo $button_onclick; ?>" />
+ <input type="submit" name="smaction_forward" <?php if ($accesskey_read_msg_forward != 'NONE') echo 'accesskey="' . $accesskey_read_msg_forward . '" '; ?>value="<?php echo _("Forward"); ?>" onclick="<?php echo $button_onclick; ?>" />
<?php
if ($forward_as_attachment_enabled) {
?>
- <input type="checkbox" name="smaction_attache" id="smaction_attache" />
+ <input type="checkbox" name="smaction_attache" id="smaction_attache" <?php if ($accesskey_read_msg_as_attach != 'NONE') echo 'accesskey="' . $accesskey_read_msg_as_attach . '" '; ?>/>
<label for="smaction_attache"><?php echo _("As Attachment"); ?></label>
<?php
}
<form name="deleteMessageForm" action="<?php echo $move_delete_form_action; ?>" method="post">
<?php echo $delete_form_extra; ?>
<small>
- <input type="submit" name="delete" value="<?php echo _("Delete"); ?>" />
- <input type="checkbox" name="bypass_trash" id="bypass_trash" /><label for="bypass_trash"><?php echo _("Bypass Trash"); ?></label>
+ <input type="submit" name="delete" <?php if ($accesskey_read_msg_delete != 'NONE') echo 'accesskey="' . $accesskey_read_msg_delete . '" '; ?>value="<?php echo _("Delete"); ?>" />
+ <input type="checkbox" name="bypass_trash" id="bypass_trash" <?php if ($accesskey_read_msg_bypass_trash != 'NONE') echo 'accesskey="' . $accesskey_read_msg_bypass_trash . '" '; ?>/><label for="bypass_trash"><?php echo _("Bypass Trash"); ?></label>
</small>
</form>
<?php
<?php echo $move_form_extra; ?>
<small>
<?php echo _("Move To"); ?>:
- <select name="targetMailbox">
+ <select <?php if ($accesskey_read_msg_move_to != 'NONE') echo 'accesskey="' . $accesskey_read_msg_move_to . '" '; ?>name="targetMailbox">
<?php
foreach ($mailboxes as $value=>$option) {
echo '<option value="'. $value .'"' . ($value==$last_move_target ? ' selected="selected"' : '').'>' . $option .'</option>'."\n";
}
?>
</select>
- <input type="submit" name="moveButton" value="<?php echo _("Move"); ?>" />
+ <input type="submit" name="moveButton" <?php if ($accesskey_read_msg_move != 'NONE') echo 'accesskey="' . $accesskey_read_msg_move . '" '; ?>value="<?php echo _("Move"); ?>" />
<?php
if ($can_be_copied) {
?>
- <input type="submit" name="copyButton" value="<?php echo _("Copy"); ?>" />
+ <input type="submit" name="copyButton" <?php if ($accesskey_read_msg_copy != 'NONE') echo 'accesskey="' . $accesskey_read_msg_copy . '" '; ?>value="<?php echo _("Copy"); ?>" />
<?php
}
?>
* 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
<table cellspacing="0" class="table1">
<tr>
<td style="text-align: center">
- <textarea name="body" id="body" rows="<?php echo $editor_height; ?>" cols="<?php echo $editor_width; ?>" <?php echo $input_onfocus; ?>><?php echo $body; ?></textarea>
+ <textarea name="body" id="body" rows="<?php echo $editor_height; ?>" cols="<?php echo $editor_width; ?>" <?php if ($accesskey_compose_body != 'NONE') echo 'accesskey="' . $accesskey_compose_body . '" '; echo $input_onfocus; ?>><?php echo $body; ?></textarea>
<?php if (checkForJavascript()) // Display text area resizing handle
?>
<tr>
<td class="bottomSend">
- <input type="submit" name="<?php echo unique_widget_name('send'); ?>" value="<?php echo _("Send"); ?>" />
+ <input type="submit" <?php if (!unique_widget_name('send', TRUE) && $accesskey_compose_send != 'NONE') echo 'accesskey="' . $accesskey_compose_send . '" '; ?>name="<?php echo unique_widget_name('send'); ?>" value="<?php echo _("Send"); ?>" />
</td>
</tr>
<?php
* $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
<?php
}
?>
- <input type="submit" name="smaction_reply" value="<?php echo _("Reply"); ?>" onclick="<?php echo $button_onclick; ?>" />
- <input type="submit" name="smaction_reply_all" value="<?php echo _("Reply All"); ?>" onclick="<?php echo $button_onclick; ?>" />
+ <input type="submit" name="smaction_reply" <?php if ($accesskey_read_msg_reply != 'NONE') echo 'accesskey="' . $accesskey_read_msg_reply . '" '; ?>value="<?php echo _("Reply"); ?>" onclick="<?php echo $button_onclick; ?>" />
+ <input type="submit" name="smaction_reply_all" <?php if ($accesskey_read_msg_reply_all != 'NONE') echo 'accesskey="' . $accesskey_read_msg_reply_all . '" '; ?>value="<?php echo _("Reply All"); ?>" onclick="<?php echo $button_onclick; ?>" />
|
- <input type="submit" name="smaction_forward" value="<?php echo _("Forward"); ?>" onclick="<?php echo $button_onclick; ?>" />
+ <input type="submit" name="smaction_forward" <?php if ($accesskey_read_msg_forward != 'NONE') echo 'accesskey="' . $accesskey_read_msg_forward . '" '; ?>value="<?php echo _("Forward"); ?>" onclick="<?php echo $button_onclick; ?>" />
<?php
if ($forward_as_attachment_enabled) {
?>
- <input type="checkbox" name="smaction_attache" id="smaction_attache" />
+ <input type="checkbox" name="smaction_attache" id="smaction_attache" <?php if ($accesskey_read_msg_as_attach != 'NONE') echo 'accesskey="' . $accesskey_read_msg_as_attach . '" '; ?>/>
<label for="smaction_attache"><?php echo _("As Attachment"); ?></label>
<?php
}
<form name="deleteMessageForm" action="<?php echo $move_delete_form_action; ?>" method="post">
<?php echo $delete_form_extra; ?>
<small>
- <input type="submit" name="delete" value="<?php
+ <input type="submit" name="delete" <?php if ($accesskey_read_msg_delete != 'NONE') echo 'accesskey="' . $accesskey_read_msg_delete . '" '; ?>value="<?php
echo _("Delete") .'"';
echo ' />'; ?>
- <input type="checkbox" name="bypass_trash" id="bypass_trash" /><label for="bypass_trash"><?php echo _("Bypass Trash"); ?></label>
+ <input type="checkbox" name="bypass_trash" id="bypass_trash" <?php if ($accesskey_read_msg_bypass_trash != 'NONE') echo 'accesskey="' . $accesskey_read_msg_bypass_trash . '" '; ?>/><label for="bypass_trash"><?php echo _("Bypass Trash"); ?></label>
</small>
</form>
<?php
<?php echo $move_form_extra; ?>
<small>
<?php echo _("Move To"); ?>:
- <select name="targetMailbox">
+ <select <?php if ($accesskey_read_msg_move_to != 'NONE') echo 'accesskey="' . $accesskey_read_msg_move_to . '" '; ?>name="targetMailbox">
<?php
foreach ($mailboxes as $value=>$option) {
echo '<option value="'. $value .'"' . ($value==$last_move_target ? ' selected="selected"' : '').'>' . $option .'</option>'."\n";
}
?>
</select>
- <input type="submit" name="moveButton" value="<?php
+ <input type="submit" name="moveButton" <?php if ($accesskey_read_msg_move != 'NONE') echo 'accesskey="' . $accesskey_read_msg_move . '" '; ?>value="<?php
echo _("Move") . '"';
if ($can_be_copied) {
?>
- <input type="submit" name="copyButton" value="<?php echo _("Copy"); ?>" />
+ <input type="submit" name="copyButton" <?php if ($accesskey_read_msg_copy != 'NONE') echo 'accesskey="' . $accesskey_read_msg_copy . '" '; ?>value="<?php echo _("Copy"); ?>" />
<?php
}
?>