X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=templates%2Fdefault%2Fmessage_list.tpl;h=c57aebe5116d46dd86ee90634920b4f36a8ad1cb;hp=01aab28b3a7600c3726f6aac6474206b90c0441c;hb=1977ab5587905d225c6288141b82f7a6e3d29d02;hpb=069a91d353789f95214d40e7f38b4cd0cb240dd7 diff --git a/templates/default/message_list.tpl b/templates/default/message_list.tpl index 01aab28b..c57aebe5 100644 --- a/templates/default/message_list.tpl +++ b/templates/default/message_list.tpl @@ -3,22 +3,94 @@ /** * message_list.tpl * - * Copyright (c) 1999-2005 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 + * $provider_link + * $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_uri + * $thread_name + * $php_self + * $mailbox + * $enablesort + * $icon_theme + * $use_icons + * $alt_index_colors + * $fancy_index_highlite + * $aSortSupported + * $show_label_columns + * $compact_paginator + * $aErrors + * $checkall + * $preselected + * $show_personal_names boolean When turned on, all email + * address fields should display + * the personal name and use the + * email address as a tool tip; + * When turned off, this logic + * should be inverted + * $accesskey_mailbox_toggle_selected The access key to use for the toggle all checkbox + * $accesskey_mailbox_thread The access key to use for the Thread/Unthread links + * + * @copyright 1999-2010 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail + * @subpackage templates */ + /** add required includes */ -include_once(SM_PATH . 'templates/util_message_list.php'); +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)" @@ -26,98 +98,55 @@ 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); -} - - - -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)); -} else { - $aSortSupported = array(); + $msg_cnt_str = sprintf(_("Viewing Message: %s (%s total)"), + '' . $pageOffset . '', + $iNumberOfMessages); } -// figure out which columns should serve as labels for checkbox: -// we try to grab the two columns before and after the checkbox, -// except the subject column, since it is the link that opens -// the message view -// -// if $javascript_on is set, then the highlighting code takes -// care of this; just skip it -// -$show_label_columns = array(); -$index_order_part = array(); -if (!($javascript_on && $fancy_index_highlite)) { - $get_next_two = 0; - $last_order_part = 0; - $last_last_order_part = 0; - foreach ($aOrder as $index_order_part) { - if ($index_order_part == SQM_COL_CHECK) { - $get_next_two = 1; - if ($last_last_order_part != SQM_COL_SUBJ) - $show_label_columns[] = $last_last_order_part; - if ($last_order_part != SQM_COL_SUBJ) - $show_label_columns[] = $last_order_part; - - } else if ($get_next_two > 0 && $get_next_two < 3 && $index_order_part != SQM_COL_SUBJ) { - $show_label_columns[] = $index_order_part; - $get_next_two++; - } - $last_last_order_part = $last_order_part; - $last_order_part = $index_order_part; - } -} /** - * Check usage of images for attachments, flags and priority + * 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. */ -$bIcons = ($use_icons && $icon_theme) ? true : false; -/** - * Location of icon images - */ -if ($bIcons) { - $sImageLocation = SM_PATH . 'images/themes/' . $icon_theme . '/'; -} - -// set this to an empty string to turn off extra -// highlighting of checked rows -// -//$clickedColor = ''; -$clickedColor = (empty($color[16])) ? $color[2] : $color[16]; ?> -
- +
+ + +
-
- + - +
+ + @@ -184,126 +173,133 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; } // if (count($aFormElements)) ?>
- +
- - +
- +
@@ -127,56 +156,16 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; if (count($aFormElements)) { ?> -
- - - - - -
- - - $value) { - switch ($value[1]) { - case 'submit': - if ($key != 'moveButton') { // add move in a different table cell -?> -   - -   -\n"; - break; - default: break; - } - } -?> - - - - -   - - - - - - -
+ fetch('message_list_controls.tpl'); + echo $message_list_controls ."\n"; ?>
- +
- +
- - - - +
+ - + + + + - - + + $aMsg) { + echo $sLine; + /** * Display message header row in messages list * @@ -317,12 +313,8 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; */ if (isset($aColumns[SQM_COL_FLAGS])) { $aFlags = $aColumns[SQM_COL_FLAGS]['value']; - if ($bIcons) { + $sFlags = getFlagIcon($aFlags, $icon_theme_path); - $sFlags = getFlagIcon($aFlags, $sImageLocation); - } else { - $sFlags = getFlagText($aFlags); - } /* add the flag string to the value index */ $aColumns[SQM_COL_FLAGS]['value'] = $sFlags; } @@ -330,24 +322,7 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; * Check the priority column */ if (isset($aColumns[SQM_COL_PRIO])) { - /* FIX ME, we should use separate templates for icons */ - if ($bIcons) { - $sValue = ' ' ; 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; } @@ -355,68 +330,110 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; * 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 = (($checkall || in_array($iUid, $preselected)) && $javascript_on && $fancy_index_highlite ? 'clicked_even' : 'even'); + $non_clicked_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 = (($checkall || in_array($iUid, $preselected)) && $javascript_on && $fancy_index_highlite ? 'clicked_odd' : 'odd'); + $non_clicked_class = 'odd'; } } - $bgcolor = (isset($aMsg['row']['color'])) ? $aMsg['row']['color']: $bgcolor; - $class = 'msg_row'; + + /** + * Message Highlighting Functionality + */ + if (isset($aMsg['row']['color'])) + { + if (($checkall || in_array($iUid, $preselected)) && $javascript_on && $fancy_index_highlite) { +//FIXME: would be best not to use $color directly here; want to move this to be a CSS style-defined value only, but the problem is that this CSS class is being defined on the fly right here + $bgcolor = $color[16]; + $class = 'clicked_misc'.$i; + } else { + $bgcolor = $aMsg['row']['color']; + $class = 'misc'.$i; + } + $non_clicked_class = 'misc'.$i; + $non_clicked_bgcolor = $aMsg['row']['color']; + } + else + { + $bgcolor = ''; + $non_clicked_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\', \'' . $non_clicked_class . '\', \'mouse_over\', \'clicked\');" onmousedown="setPointer(this, ' . $i . ', \'click\', \'' . $non_clicked_class . '\', \'mouse_over\', \'clicked\');"'; } // this does the auto-checking of the checkbox no matter // where on the row you click // $javascript_auto_click = ''; + $row_click_extra = ''; + if (!empty($plugin_output['row_click_extra'])) $row_click_extra = $plugin_output['row_click_extra']; if ($javascript_on && $fancy_index_highlite) { // include the form_id in order to show multiple messages lists. Otherwise id isn't unique - $javascript_auto_click = " onMouseDown=\"row_click('$form_id"."_msg$i')\""; + $javascript_auto_click = " onmousedown=\"row_click('$form_id"."_msg$i', event, '$form_name', 'msg[' + $i + ']', '$row_click_extra')\""; } + +/* + * 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' + && $class != 'clicked_even' && $class != 'clicked_odd') +{ +?> + + -> + + +> '; $sEnd = ''; + if (!in_array('seen',$aFlags) || !$aFlags['seen']) { + $sPre = ''; $sEnd = ''; } if (in_array('deleted',$aFlags) && $aFlags['deleted']) { - $sPre = "" . $sPre; - $sEnd .= ''; + $sPre = '' . $sPre; + $sEnd .= ''; } else { if (in_array('flagged',$aFlags) && $aFlags['flagged']) { - $sPre = "" . $sPre; - $sEnd .= ''; + $sPre = '' . $sPre; + $sEnd .= ''; } } } @@ -426,17 +443,30 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; */ foreach ($aOrder as $iCol) { if (in_array($iCol, $show_label_columns)) { - $sLabelStart = ' + $checked = (($checkall || in_array($iUid, $preselected)) ? ' checked="checked" ' : ''); + if ($javascript_on) { + echo ''; + 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"; + $sText = " \n"; echo $sText; break; default: - $sText = " -"; + + echo ''; + $sLine = "\n"; ++$i; /* @@ -517,16 +553,25 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16];
- + + + '; + $checked = ($checkall ? ' checked="checked" ' : ''); + $accesskey = ($accesskey_mailbox_toggle_selected == 'NONE' ? '' + : ' accesskey="' . $accesskey_mailbox_toggle_selected . '" '); + echo '' . "\n"; } else { - $link = $baseurl . "&startMessage=$pageOffset&&checkall="; - if (sqgetGlobalVar('checkall',$checkall,SQ_GET)) { - $link .= ($checkall) ? '0' : '1'; - } else { - $link .= '1'; - } - echo ""._("All").''; + $link = $baseurl + . "&startMessage=$pageOffset&checkall=" + . ($checkall ? '0' : '1'); + 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_FROM: + echo '\n"; + break; + case SQM_COL_DATE: echo _("Date") . "\n"; break; + case SQM_COL_SUBJ: echo _("Subject") . "\n"; break; case SQM_COL_FLAGS: - if ($bIcons) { - echo '!'; - } else { - echo ' '; - } - break; - case SQM_COL_SIZE: echo _("Size"); break; + echo getIcon($icon_theme_path, 'msg_new.png', ' ', _("Message Flags")) . "\n"; + break; + case SQM_COL_SIZE: echo _("Size") . "\n"; break; case SQM_COL_PRIO: - if ($bIcons) { - echo '!'; - } else { - echo '!'; - } - break; + echo getIcon($icon_theme_path, 'prio_high.png', '!', _("Priority")) . "\n"; + break; case SQM_COL_ATTACHMENT: - if ($bIcons) { - echo '+'; - } else { - 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; + echo getIcon($icon_theme_path, 'attach.png', '+', _("Attachment")) . "\n"; + break; + case SQM_COL_INT_DATE: echo _("Received") . "\n"; break; + case SQM_COL_TO: + echo '\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 . ''; if ($align['left'] == 'right') { $sText .= str_repeat('  ',$indent); } @@ -471,18 +508,18 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; break; case SQM_COL_SIZE: case SQM_COL_FLAGS: - $sText = " "; - $sText .= "$value" + . "$value"; - $sText .= $value. "" + . $value. " -
- +
@@ -535,9 +580,14 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16]; -
- +
- - + +
- + +
+ + + +

© The SquirrelMail Project Team - About SquirrelMail

+