X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=templates%2Fdefault%2Fmessage_list.tpl;h=73e6345ab93547a9b363d662ea1bcac46d39f468;hp=bb155e86e858e178a89fa0222d8144ca940cb612;hb=a1d29fb8ec4da41eea13f093cf58f33082b7a84e;hpb=799ee2d583764bbebbaa55bf9c76c65a4f774794 diff --git a/templates/default/message_list.tpl b/templates/default/message_list.tpl index bb155e86..73e6345a 100644 --- a/templates/default/message_list.tpl +++ b/templates/default/message_list.tpl @@ -3,21 +3,77 @@ /** * message_list.tpl * - * Copyright (c) 1999-2004 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * * Template for viewing a messages list * + * The following variables are available in this template: +//FIXME: need to clean (and document) this list, it is just a dump of the array keys of $t + * $sTemplateID + * $icon_theme_path + * $javascript_on + * $delayed_errors + * $frames + * $lang + * $page_title + * $header_tags + * $plugin_output + * $header_sent + * $body_tag_js + * $shortBoxName + * $sm_attribute_str + * $frame_top + * $urlMailbox + * $startMessage + * $hide_sm_attributions + * $uri + * $text + * $onclick + * $class + * $id + * $target + * $color + * $form_name + * $form_id + * $page_selector + * $page_selector_max + * $messagesPerPage + * $showall + * $end_msg + * $align + * $iNumberOfMessages + * $aOrder + * $aFormElements + * $sort + * $pageOffset + * $baseurl + * $aMessages + * $trash_folder + * $sent_folder + * $draft_folder + * $thread_link_str + * $php_self + * $mailbox + * $enablesort + * $icon_theme + * $use_icons + * $alt_index_colors + * $fancy_index_highlite + * $compact_paginator + * $aErrors + * + * @copyright © 1999-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail + * @subpackage templates */ -include_once(SM_PATH . 'templates/util_message_list.php'); +/** add required includes */ +include_once(SM_PATH . 'functions/template/message_list_util.php'); /* retrieve the template vars */ extract($t); -do_hook('mailbox_index_before'); +if (!empty($plugin_output['mailbox_index_before'])) echo $plugin_output['mailbox_index_before']; /** * Calculate string "Viewing message x to y (z total)" @@ -25,21 +81,21 @@ do_hook('mailbox_index_before'); $msg_cnt_str = ''; if ($pageOffset < $end_msg) { $msg_cnt_str = sprintf(_("Viewing Messages: %s to %s (%s total)"), - ''.$pageOffset.'', ''.$end_msg.'', $iNumberOfMessages); + ''.$pageOffset.'', ''.$end_msg.'', $iNumberOfMessages); } else if ($pageOffset == $end_msg) { - $msg_cnt_str = sprintf(_("Viewing Message: %s (%s total)"), ''.$pageOffset.'', $iNumberOfMessages); + $msg_cnt_str = sprintf(_("Viewing Message: %s (%s total)"), ''.$pageOffset.'', $iNumberOfMessages); } if (!($sort & SQSORT_THREAD) && $enablesort) { - $aSortSupported = array(SQM_COL_SUBJ => array(SQSORT_SUBJ_ASC , SQSORT_SUBJ_DESC), - SQM_COL_DATE => array(SQSORT_DATE_ASC , SQSORT_DATE_DESC), - SQM_COL_INT_DATE => array(SQSORT_INT_DATE_ASC, SQSORT_INT_DATE_DESC), - SQM_COL_FROM => array(SQSORT_FROM_ASC , SQSORT_FROM_DESC), - SQM_COL_TO => array(SQSORT_TO_ASC , SQSORT_TO_DESC), - SQM_COL_CC => array(SQSORT_CC_ASC , SQSORT_CC_DESC), - SQM_COL_SIZE => array(SQSORT_SIZE_ASC , SQSORT_SIZE_DESC)); + $aSortSupported = array(SQM_COL_SUBJ => array(SQSORT_SUBJ_ASC , SQSORT_SUBJ_DESC), + SQM_COL_DATE => array(SQSORT_DATE_DESC , SQSORT_DATE_ASC), + SQM_COL_INT_DATE => array(SQSORT_INT_DATE_DESC, SQSORT_INT_DATE_ASC), + SQM_COL_FROM => array(SQSORT_FROM_ASC , SQSORT_FROM_DESC), + SQM_COL_TO => array(SQSORT_TO_ASC , SQSORT_TO_DESC), + SQM_COL_CC => array(SQSORT_CC_ASC , SQSORT_CC_DESC), + SQM_COL_SIZE => array(SQSORT_SIZE_ASC , SQSORT_SIZE_DESC)); } else { $aSortSupported = array(); } @@ -75,28 +131,30 @@ if (!($javascript_on && $fancy_index_highlite)) { } } +/** + * All icon functionality is now handled through $icon_theme_path. + * $icon_theme_path will contain the path to the user-selected theme. If it is + * NULL, the user and/or admin have turned off icons. +*/ + // set this to an empty string to turn off extra // highlighting of checked rows // //$clickedColor = ''; -if (!empty($color[16])) - $clickedColor = $color[16]; -else - $clickedColor = $color[2]; - +$clickedColor = (empty($color[16])) ? $color[2] : $color[16]; ?> -
- +
+ +
-
- + - +
+ + @@ -176,35 +255,39 @@ else ?>
- +
- - +
- +
@@ -118,27 +175,28 @@ else if (count($aFormElements)) { ?> -
- +
- - + + + -
- + $value) { switch ($value[1]) { case 'submit': - if ($key != 'moveButton') { // add move in a different table cell + if ($key != 'moveButton' && $key != 'copyButton' && $key != 'delete' && $key != 'undeleteButton') { // add move in a different table cell ?> -   +   -   +   \n"; @@ -147,25 +205,46 @@ else } } ?> - +   - + if (isset($aFormElements['delete'])) { +?> +   + +   + +   + + - - - + + + + + +
- +
- - - - +
+ - + + - - + + ' ; break; - case 5: $sValue .= 'prio_low.png" border="0" height="10" width="5" alt="" /> ' ; break; - default: $sValue .= 'transparent.png" border="0" width="5" alt="" /> ' ; break; - } - } else { - $sValue = ''; - switch ($aColumns[SQM_COL_PRIO]['value']) { - case 1: - case 2: $sValue .= "!"; break; - case 5: $sValue .= "?"; break; - default: break; - } - } + $sValue = getPriorityIcon($aColumns[SQM_COL_PRIO]['value'], $icon_theme_path); $aColumns[SQM_COL_PRIO]['value'] = $sValue; } @@ -340,42 +398,33 @@ else * Check the attachment column */ if (isset($aColumns[SQM_COL_ATTACHMENT])) { - /* FIX ME, we should use separate templates for icons */ - if ($bIcons) { - $sValue = '' - : 'transparent.png" border="0" width="6" alt="" />'; - } else { - $sValue = ($aColumns[SQM_COL_ATTACHMENT]['value']) ? '+' : ''; - } + $sValue = getAttachmentIcon($aColumns[SQM_COL_ATTACHMENT]['value'], $icon_theme_path); $aColumns[SQM_COL_ATTACHMENT]['value'] = $sValue; } - - $bgcolor = $color[4]; - + $class = 'even'; /** - * If alternating row colors is set, adapt the bgcolor + * If alternating row colors is set, adapt the CSS class */ if (isset($alt_index_colors) && $alt_index_colors) { if (!($i % 2)) { - if (!isset($color[12])) { - $color[12] = '#EAEAEA'; - } - $bgcolor = $color[12]; + $class = 'odd'; } } - $bgcolor = (isset($aMsg['row']['color'])) ? $aMsg['row']['color']: $bgcolor; - $class = 'msg_row'; + if (isset($aMsg['row']['color'])) + { + $bgcolor = $aMsg['row']['color']; + $class = 'misc'.$i; + } + else $bgcolor = ''; $row_extra = ''; // this stuff does the auto row highlighting on mouseover // if ($javascript_on && $fancy_index_highlite) { - $row_extra .= ' onmouseover="rowOver(\''.$form_id . "_msg$i','". $mouseoverColor . '\', \'' . $clickedColor . '\');" onmouseout="setPointer(this, ' . $i . ', \'out\', \'' . $bgcolor . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');" onmousedown="setPointer(this, ' . $i . ', \'click\', \'' . $bgcolor . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');"'; + $row_extra .= ' onmouseover="rowOver(\''.$form_id . '_msg' . $i.'\');" onmouseout="setPointer(this, ' . $i . ', \'out\', \'' . $class . '\', \'mouse_over\', \'clicked\');" onmousedown="setPointer(this, ' . $i . ', \'click\', \'' . $class . '\', \'mouse_over\', \'clicked\');"'; } // this does the auto-checking of the checkbox no matter // where on the row you click @@ -386,21 +435,38 @@ else $javascript_auto_click = " onMouseDown=\"row_click('$form_id"."_msg$i')\""; } +/* + * Message Highlighting requires a unique CSS class declaration for proper + * mouseover functionality. There is no harm in doing this when the mouseover + * functionality is disabled + */ +if ($class != 'even' && $class != 'odd') +{ +?> + + -> +> '; $sEnd = ''; - } - if (in_array('deleted',$aFlags) && $aFlags['deleted']) { - $sPre = "" . $sPre; - $sEnd .= ''; - } else { - if (in_array('flagged',$aFlags) && $aFlags['flagged']) { - $sPre = "" . $sPre; - $sEnd .= ''; + if (isset($aColumns[SQM_COL_FLAGS])) { + if (!in_array('seen',$aFlags) || !$aFlags['seen']) { + $sPre = ''; $sEnd = ''; + } + if (in_array('deleted',$aFlags) && $aFlags['deleted']) { + $sPre = '' . $sPre; + $sEnd .= ''; + } else { + if (in_array('flagged',$aFlags) && $aFlags['flagged']) { + $sPre = '' . $sPre; + $sEnd .= ''; + } } } /** @@ -408,18 +474,21 @@ else * we have to do some php coding to display the columns in the right order */ foreach ($aOrder as $iCol) { - if (in_array($index_order_part, $show_label_columns)) { - $sLabelStart = ' + if ($javascript_on) { + echo ''; + $checked = ($checkall) ? " checked=checked " : " "; + echo ""; + } break; case SQM_COL_SUBJ: $indent = $aCol['indent']; - $sText = " \n"; + $sText = " \n"; echo $sText; break; case SQM_COL_INT_DATE: case SQM_COL_DATE: - $sText = " \n"; echo $sText; break; default: - $sText = " "; + $sLine = "\n"; ++$i; /* @@ -500,16 +577,16 @@ else
- + '; + echo ''."\n"; } else { - $link = $baseurl . "&startMessage=$pageOffset&&checkall="; + $link = $baseurl . "&startMessage=$pageOffset&checkall="; if (sqgetGlobalVar('checkall',$checkall,SQ_GET)) { $link .= ($checkall) ? '0' : '1'; } else { @@ -213,44 +296,52 @@ else echo ""._("All").''; } break; - case SQM_COL_FROM: echo _("From"); break; - case SQM_COL_DATE: echo _("Date"); break; - case SQM_COL_SUBJ: echo _("Subject"); break; - case SQM_COL_FLAGS: echo ' '; break; - case SQM_COL_SIZE: echo _("Size"); break; - case SQM_COL_PRIO: echo '!'; break; - case SQM_COL_ATTACHMENT: echo '+'; break; - case SQM_COL_INT_DATE: echo _("Received"); break; - case SQM_COL_TO: echo _("To"); break; - case SQM_COL_CC: echo _("Cc"); break; - case SQM_COL_BCC: echo _("Bcc"); break; + case SQM_COL_FROM: echo _("From")."\n"; break; + case SQM_COL_DATE: echo _("Date")."\n"; break; + case SQM_COL_SUBJ: echo _("Subject")."\n"; break; + case SQM_COL_FLAGS: + echo getIcon($icon_theme_path, 'msg_new.png', ' ', _("Message Flags")) . "\n"; + break; + case SQM_COL_SIZE: echo _("Size")."\n"; break; + case SQM_COL_PRIO: + echo getIcon($icon_theme_path, 'prio_high.png', '!', _("Priority")) . "\n"; + break; + case SQM_COL_ATTACHMENT: + echo getIcon($icon_theme_path, 'attach.png', '+', _("Attachment")) . "\n"; + break; + case SQM_COL_INT_DATE: echo _("Received")."\n"; break; + case SQM_COL_TO: echo _("To")."\n"; break; + case SQM_COL_CC: echo _("Cc")."\n"; break; + case SQM_COL_BCC: echo _("Bcc")."\n"; break; default: break; } // add the sort buttons if (isset($aSortSupported[$iCol])) { if ($sort == $aSortSupported[$iCol][0]) { - $newsort = $aSortSupported[$iCol][1]; - $img = 'up_pointer.png'; + $newsort = $aSortSupported[$iCol][1]; + $img = 'up_pointer.png'; + $text_icon = '⇧'; // U+21E7 UPWARDS WHITE ARROW } else if ($sort == $aSortSupported[$iCol][1]) { - $newsort = 0; - $img = 'down_pointer.png'; + $newsort = 0; + $img = 'down_pointer.png'; + $text_icon = '⇩'; // U+21E9 DOWNWARDS WHITE ARROW } else { - $newsort = $aSortSupported[$iCol][0]; - $img = 'sort_none.png'; + $newsort = $aSortSupported[$iCol][0]; + $img = 'sort_none.png'; + $text_icon = '◻'; // U+25FB WHITE MEDIUM SQUARE } /* Now that we have everything figured out, show the actual button. */ - echo " "; - echo 'sort'; + echo " " . + getIcon($icon_theme_path, $img, $text_icon, _("Click here to change the sorting of the message list")) . "\n" . + ''; } ?> -
' ?> - " id="" value="" />' ?> + " id="" value="" /> "; + $sText = " "; if ($align['left'] == 'left') { $sText .= str_repeat('  ',$indent); } $sText .= ""; - $sText .= "$value"; + $sText .= "$value"; + $sText = " "; $sText .= $value. "
- +
@@ -519,8 +596,9 @@ else
- +
- - + +
- +
+