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 +?>