* $clock - formatted string containing last refresh
* $settings - Array containing user perferences needed by this
* template. Indexes are as follows:
- * $settings['imapConnection'] - IMAP connection handle. Needed to
- * allow plugins to read the mailbox.
- * $settings['iconThemePath'] - Path to the desired icon theme. If
- * the user has disabled icons, this will be NULL.
- * $settings['templateDirectory'] - contains the path to the current
- * template directory. This may be needed by third
+ * $settings['templateID'] - contains the ID of the current
+ * template set. This may be needed by third
* party packages that don't integrate easily.
* $settings['unreadNotificationEnabled'] - Boolean TRUE if the user
* wants to see unread message count on mailboxes
* in all folders in this mailbox,
* excluding trash folders.
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright 1999-2009 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @author Steve Brown
*/
-/** include required files */
-include_once(SM_PATH . 'templates/util_global.php');
/*
* Recursively parse the mailbox structure to build the navigation tree.
*
* @since 1.5.2
*/
-function buildMailboxTree ($box, $settings, $indent_factor=0) {
+function buildMailboxTree ($box, $settings, $icon_theme_path, $indent_factor=0) {
// stop condition
if (empty($box)) {
return '';
* image based on whatever logic they see fit here.
*/
$folder_icon = '';
- if (!is_null($settings['iconThemePath'])) {
+ if (!is_null($icon_theme_path)) {
switch (true) {
case $box['IsInbox']:
- $folder_icon = getIcon($settings['iconThemePath'], 'inbox.png', '', $box['MailboxName']);
+ $folder_icon = getIcon($icon_theme_path, 'inbox.png', '', $box['MailboxName']);
break;
case $box['IsSent']:
- $folder_icon = getIcon($settings['iconThemePath'], 'senti.png', '', $box['MailboxName']);
+ $folder_icon = getIcon($icon_theme_path, 'senti.png', '', $box['MailboxName']);
break;
case $box['IsTrash']:
- $folder_icon = getIcon($settings['iconThemePath'], 'delitem.png', '', $box['MailboxName']);
+ $folder_icon = getIcon($icon_theme_path, 'delitem.png', '', $box['MailboxName']);
break;
case $box['IsDraft']:
- $folder_icon = getIcon($settings['iconThemePath'], 'draft.png', '', $box['MailboxName']);
+ $folder_icon = getIcon($icon_theme_path, 'draft.png', '', $box['MailboxName']);
break;
case $box['IsNoInferiors']:
- $folder_icon = getIcon($settings['iconThemePath'], 'folder_noinf.png', '', $box['MailboxName']);
+ $folder_icon = getIcon($icon_theme_path, 'folder_noinf.png', '', $box['MailboxName']);
break;
default:
- $folder_icon = getIcon($settings['iconThemePath'], 'folder.png', '', $box['MailboxName']);
+ $folder_icon = getIcon($icon_theme_path, 'folder.png', '', $box['MailboxName']);
break;
}
$folder_icon .= ' ';
}
$pre .= $folder_icon;
+ // calculate if access key is needed
+ //
+ if ($box['IsInbox']) {
+ global $accesskey_folders_inbox;
+ $accesskey = $accesskey_folders_inbox;
+ }
+ else $accesskey = '';
+
/*
* The Trash folder should only be displayed if message recycling has
* been enabled, i.e. when deleted is a message moved to the trash or
* deleted forever?
*/
$view_link = '<a href="'.$box['ViewLink']['URL'].'" ' .
+ ($accesskey == '' ? '' : 'accesskey="' . $accesskey . '" ') .
'target="'.$box['ViewLink']['Target'].'" ' .
'style="text-decoration:none">';
}
}
+ // Add any extra output that may have been added by plugins, etc
+ //
+ if (!empty($box['ExtraOutput']))
+ $end .= $box['ExtraOutput'];
+
$span = '';
$spanend = '';
if ($settings['useSpecialFolderColor'] && $box['IsSpecial']) {
$spanend = '</span>';
}
- // let plugins fiddle with end of line
- $end .= concat_hook_function('left_main_after_each_folder',
- array(isset($numMessages) ? $numMessages : '',
- $box['MailboxFullName'], $settings['imapConnection']));
-
$end .= '</span>';
$out = '';
if (!$box['IsCollapsed'] || $box['IsRoot']) {
for ($i = 0; $i<sizeof($box['ChildBoxes']); $i++) {
- $out .= buildMailboxTree($box['ChildBoxes'][$i], $settings, $indent_factor);
+ $out .= buildMailboxTree($box['ChildBoxes'][$i], $settings, $icon_theme_path, $indent_factor);
}
}
?>
<body class="sqm_leftMain">
<div class="sqm_leftMain">
-<?php do_hook('left_main_before'); ?>
+<?php if (!empty($plugin_output['left_main_before'])) echo $plugin_output['left_main_before']; ?>
<table class="sqm_wrapperTable" cellspacing="0">
<tr>
<td>
<td style="text-align:center">
<span class="sqm_folderHeader"><?php echo _("Folders"); ?></span><br />
<span class="sqm_clock"><?php echo $clock; ?></span>
- <span class="sqm_refreshButton"><small>[<a href="../src/left_main.php" target="left"><?php echo _("Check mail"); ?></a>]</small></span>
+ <span class="sqm_refreshButton"><small>[<a href="../src/left_main.php" <?php if ($accesskey_folders_refresh != 'NONE') echo 'accesskey="' . $accesskey_folders_refresh . '" '; ?>target="left"><?php echo _("Check Mail"); ?></a>]</small></span>
</td>
</tr>
</table>
<br />
- <?php echo buildMailboxTree($mailboxes, $settings); ?>
+ <?php echo buildMailboxTree($mailboxes, $settings, $icon_theme_path); ?>
</td>
</tr>
</table>
-<?php do_hook('left_main_after'); ?>
+<?php if (!empty($plugin_output['left_main_after'])) echo $plugin_output['left_main_after']; ?>
</div>