X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fmailbox_display.php;h=04b1c566cffa214e229fe0b6b88210ed36c0a32d;hp=a0284193f025e778358a458f3897ed56c3232380;hb=995666230810c1e1ddac1846724c89a76c41345f;hpb=e50f5ac2682d655013d18d97f9a2aa30b7ed9485
diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php
index a0284193..04b1c566 100644
--- a/functions/mailbox_display.php
+++ b/functions/mailbox_display.php
@@ -98,7 +98,9 @@ function printMessageInfo($aMsg) {
$email_address,
$show_recipient_instead, /* show recipient name instead of default identity */
$use_icons, /* indicates to use icons or text markers */
- $icon_theme; /* icons theming */
+ $icon_theme, /* icons theming */
+ $javascript_on,
+ $fancy_index_highlite;
$color_string = $color[4];
@@ -302,10 +304,85 @@ function printMessageInfo($aMsg) {
$sSubject = str_replace(' ', ' ', decodeHeader($sSubject));
$subject = processSubject($sSubject, $iIndent);
- echo html_tag( 'tr','','','','valign="top"') . "\n";
+
+ $row_extra = 'valign="top"';
+
+
+ // this stuff does the auto row highlighting on mouseover
+ //
+ if ($javascript_on && $fancy_index_highlite) {
+
+ $mouseoverColor = $color[5];
+
+ // 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];
+
+ $row_extra .= ' onmouseover="setPointer(this, ' . $t . ', \'over\', \'' . $hlt_color . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');" onmouseout="setPointer(this, ' . $t . ', \'out\', \'' . $hlt_color . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');" onmousedown="setPointer(this, ' . $t . ', \'click\', \'' . $hlt_color . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');"';
+
+ }
+
+
+ echo html_tag( 'tr','','','',$row_extra) . "\n";
+
+
+ // this does the auto-checking of the checkbox no matter
+ // where on the row you click
+ //
+ $javascript_auto_click = '';
+ if ($javascript_on && $fancy_index_highlite)
+ $javascript_auto_click = ' onMouseDown="row_click(\'msg[' . $t . ']\')"';
+
if (sizeof($index_order)) {
+
+ // 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();
+ if (!($javascript_on && $fancy_index_highlite)) {
+ $get_next_two = 0;
+ $last_order_part = 0;
+ $last_last_order_part = 0;
+ foreach ($index_order as $index_order_part) {
+
+ if ($index_order_part == 1) {
+ $get_next_two = 1;
+ if ($last_last_order_part != 4)
+ $show_label_columns[] = $last_last_order_part;
+ if ($last_order_part != 4)
+ $show_label_columns[] = $last_order_part;
+
+ } else if ($get_next_two > 0 && $get_next_two < 3 && $index_order_part != 4) {
+ $show_label_columns[] = $index_order_part;
+ $get_next_two++;
+ }
+ $last_last_order_part = $last_order_part;
+ $last_order_part = $index_order_part;
+ }
+ }
+
+
+ // build the actual columns for display
+ //
foreach ($index_order as $index_order_part) {
+ if (in_array($index_order_part, $show_label_columns)) {
+ $label_start = '';
+ } else {
+ $label_start = '';
+ $label_end = '';
+ }
switch ($index_order_part) {
case 1: /* checkbox */
echo html_tag( 'td',
@@ -321,21 +398,21 @@ function printMessageInfo($aMsg) {
$title = '';
}
echo html_tag( 'td',
- $italic . $bold . $flag . $fontstr . $senderName .
- $fontstr_end . $flag_end . $bold_end . $italic_end,
+ $label_start . $italic . $bold . $flag . $fontstr . $senderName .
+ $fontstr_end . $flag_end . $bold_end . $italic_end . $label_end,
'left',
- $hlt_color, $title );
+ $hlt_color, $title . $javascript_auto_click);
break;
case 3: /* date */
if ($sDate == '') {
$sDate = _("Unknown date");
}
echo html_tag( 'td',
- $bold . $flag . $fontstr . $sDate .
- $fontstr_end . $flag_end . $bold_end,
+ $label_start . $bold . $flag . $fontstr . $sDate .
+ $fontstr_end . $flag_end . $bold_end . $label_end,
'center',
$hlt_color,
- 'style="white-space: nowrap;"' );
+ 'style="white-space: nowrap;"' . $javascript_auto_click );
break;
case 4: /* subject */
$td_str = $bold;
@@ -345,6 +422,15 @@ function printMessageInfo($aMsg) {
$td_str .= '';
$td_str .= '';
echo html_tag( 'td',
- $td_str,
+ $label_start . $td_str . $label_end,
'right',
$hlt_color,
- 'style="white-space: nowrap;"' );
+ 'style="white-space: nowrap;"' . $javascript_auto_click );
}
// plain text message markers
@@ -441,18 +527,18 @@ function printMessageInfo($aMsg) {
}
$td_str .= '';
echo html_tag( 'td',
- $td_str,
+ $label_start . $td_str . $label_end,
'center',
$hlt_color,
- 'style="white-space: nowrap;"' );
+ 'style="white-space: nowrap;"' . $javascript_auto_click );
}
break;
case 6: /* size */
echo html_tag( 'td',
- $bold . $fontstr . show_readable_size($iSize) .
- $fontstr_end . $bold_end,
+ $label_start . $bold . $fontstr . show_readable_size($iSize) .
+ $fontstr_end . $bold_end . $label_end,
'right',
- $hlt_color );
+ $hlt_color, $javascript_auto_click );
break;
}
++$col;
@@ -2141,4 +2227,4 @@ function attachSelectedMessages($imapConnection,$aMsgHeaders) {
}
// vim: et ts=4
-?>
\ No newline at end of file
+?>