* The following functions are utility functions for templates. Do not
* echo output in these functions.
*
- * @copyright © 2005-2006 The SquirrelMail Project Team
+ * @copyright 2005-2018 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
/**
* Generate a paginator link.
*
- * @param string $box Mailbox name
+ * @param string $box Mailbox name
* @param integer $start_msg Message Offset
- * @param string $text text used for paginator link
+ * @param string $text The text used for paginator link
+ * @param string $accesskey The access key for the link, if any
* @return string
*/
-function get_paginator_link($box, $start_msg, $text) {
+function get_paginator_link($box, $start_msg, $text, $accesskey='NONE') {
sqgetGlobalVar('PHP_SELF',$php_self,SQ_SERVER);
- return create_hyperlink("$php_self?startMessage=$start_msg&mailbox=$box", $text);
+ return create_hyperlink("$php_self?startMessage=$start_msg&mailbox=$box"
+ . (strpos($php_self, 'src/search.php') ? '&smtoken=' . sm_generate_security_token() : ''),
+ $text, '', '', '', '', '',
+ ($accesskey == 'NONE'
+ ? array()
+ : array('accesskey' => $accesskey)));
}
*/
function get_compact_paginator_str($box, $iOffset, $iTotal, $iLimit, $bShowAll, $javascript_on, $page_selector) {
+ static $accesskeys_constructed = FALSE;
+
/* This will be used as a space. */
global $oTemplate, $nbsp;
$prev_grp = $iOffset - $iLimit;
if (!$bShowAll) {
+
/* Compute the basic previous and next strings. */
+
+ global $accesskey_mailbox_previous, $accesskey_mailbox_next;
if (($next_grp <= $iTotal) && ($prev_grp >= 0)) {
- $prv_str = get_paginator_link($box, $prev_grp, '<');
- $nxt_str = get_paginator_link($box, $next_grp, '>');
+ $prv_str = get_paginator_link($box, $prev_grp, '<',
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_previous));
+ $nxt_str = get_paginator_link($box, $next_grp, '>',
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_next));
} else if (($next_grp > $iTotal) && ($prev_grp >= 0)) {
- $prv_str = get_paginator_link($box, $prev_grp, '<');
+ $prv_str = get_paginator_link($box, $prev_grp, '<',
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_previous));
$nxt_str = '>';
} else if (($next_grp <= $iTotal) && ($prev_grp < 0)) {
$prv_str = '<';
- $nxt_str = get_paginator_link($box, $next_grp, '>');
+ $nxt_str = get_paginator_link($box, $next_grp, '>',
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_next));
}
/* Page selector block. Following code computes page links. */
$last_grp = (($tot_pgs - 1) * $iLimit) + 1;
}
} else {
- $pg_str = create_hyperlink("$php_self?showall=0&startMessage=1&mailbox=$box", _("Paginate"));
+ global $accesskey_mailbox_all_paginate;
+ $pg_str = create_hyperlink("$php_self?showall=0&startMessage=1&mailbox=$box" . (strpos($php_self, 'src/search.php') ? '&smtoken=' . sm_generate_security_token() : ''), _("Paginate"), '', '', '', '', '', ($accesskeys_constructed ? array() : array('accesskey' => $accesskey_mailbox_all_paginate)));
}
/* Put all the pieces of the paginator string together. */
if ( $prv_str || $nxt_str ) {
/* Compute the 'show all' string. */
- $all_str = create_hyperlink("$php_self?showall=1&startMessage=1&mailbox=$box", _("Show All"));
+ global $accesskey_mailbox_all_paginate;
+ $all_str = create_hyperlink("$php_self?showall=1&startMessage=1&mailbox=$box" . (strpos($php_self, 'src/search.php') ? '&smtoken=' . sm_generate_security_token() : ''), _("Show All"), '', '', '', '', '', ($accesskeys_constructed ? array() : array('accesskey' => $accesskey_mailbox_all_paginate)));
$result .= '[' . get_paginator_link($box, 1, '<<') . ']';
$result .= '[' . $prv_str . ']';
- $pg_url = $php_self . '?mailbox=' . $box;
+ $pg_url = $php_self . '?mailbox=' . $box . (strpos($php_self, 'src/search.php') ? '&smtoken=' . sm_generate_security_token() : '');
$result .= '[' . $nxt_str . ']';
$result .= '[' . get_paginator_link($box, $last_grp, '>>') . ']';
if ($result == '') {
$result = ' ';
}
+
+ $accesskeys_constructed = TRUE;
+
/* Return our final magical paginator string. */
return ($result);
}
*/
function get_paginator_str($box, $iOffset, $iTotal, $iLimit, $bShowAll,$page_selector, $page_selector_max) {
+ static $accesskeys_constructed = FALSE;
+
/* This will be used as a space. */
global $oTemplate, $nbsp;
sqgetGlobalVar('PHP_SELF',$php_self,SQ_SERVER);
$prev_grp = $iOffset - $iLimit;
if (!$bShowAll) {
+
/* Compute the basic previous and next strings. */
+ global $accesskey_mailbox_previous, $accesskey_mailbox_next;
if (($next_grp <= $iTotal) && ($prev_grp >= 0)) {
- $prv_str = get_paginator_link($box, $prev_grp, _("Previous"));
- $nxt_str = get_paginator_link($box, $next_grp, _("Next"));
+ $prv_str = get_paginator_link($box, $prev_grp, _("Previous"),
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_previous));
+ $nxt_str = get_paginator_link($box, $next_grp, _("Next"),
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_next));
} else if (($next_grp > $iTotal) && ($prev_grp >= 0)) {
- $prv_str = get_paginator_link($box, $prev_grp, _("Previous"));
+ $prv_str = get_paginator_link($box, $prev_grp, _("Previous"),
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_previous));
$nxt_str = _("Next");
} else if (($next_grp <= $iTotal) && ($prev_grp < 0)) {
$prv_str = _("Previous");
- $nxt_str = get_paginator_link($box, $next_grp, _("Next"));
+ $nxt_str = get_paginator_link($box, $next_grp, _("Next"),
+ ($accesskeys_constructed
+ ? 'NONE' : $accesskey_mailbox_next));
}
/* Page selector block. Following code computes page links. */
$last_grp = (($tot_pgs - 1) * $iLimit) + 1;
}
} else {
- $pg_str = create_hyperlink("$php_self?showall=0&startMessage=1&mailbox=$box", _("Paginate"));
+ global $accesskey_mailbox_all_paginate;
+ $pg_str = create_hyperlink("$php_self?showall=0&startMessage=1&mailbox=$box" . (strpos($php_self, 'src/search.php') ? '&smtoken=' . sm_generate_security_token() : ''), _("Paginate"), '', '', '', '', '', ($accesskeys_constructed ? array() : array('accesskey' =>
+$accesskey_mailbox_all_paginate)));
}
/* Put all the pieces of the paginator string together. */
if ( $prv_str || $nxt_str ) {
/* Compute the 'show all' string. */
- $all_str = create_hyperlink("$php_self?showall=1&startMessage=1&mailbox=$box", _("Show All"));
+ global $accesskey_mailbox_all_paginate;
+ $all_str = create_hyperlink("$php_self?showall=1&startMessage=1&mailbox=$box" . (strpos($php_self, 'src/search.php') ? '&smtoken=' . sm_generate_security_token() : ''), _("Show All"), '', '', '', '', '', ($accesskeys_constructed ? array() : array('accesskey' =>
+$accesskey_mailbox_all_paginate)));
$result .= '[';
$result .= ($prv_str != '' ? $prv_str . $nbsp . $sep . $nbsp : '');
if ($result == '') {
$result = $nbsp;
}
+
+ $accesskeys_constructed = TRUE;
+
/* Return our final magical compact paginator string. */
return ($result);
}