+ echo " <INPUT TYPE=SUBMIT NAME=\"markRead\" VALUE=\"". _("Read")."\">\n";
+ echo " <INPUT TYPE=SUBMIT NAME=\"markUnread\" VALUE=\"". _("Unread")."\">\n";
+ echo " <INPUT TYPE=SUBMIT VALUE=\"". _("Delete") . "\"> \n";
+ echo " </TD>\n";
+ echo " </TR>\n";
+ echo "</TABLE>\n";
+ do_hook('mailbox_form_before');
+ echo '</TD></TR>';
+
+ echo "<TR><TD BGCOLOR=\"$color[0]\">";
+ echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=";
+ if ($GLOBALS['alt_index_colors']) {
+ echo "0";
+ } else {
+ echo "1";
+ }
+ echo " BGCOLOR=\"$color[0]\">";
+ echo "<TR BGCOLOR=\"$color[5]\" ALIGN=\"center\">";
+
+ // Print the headers
+ for ($i=1; $i <= count($index_order); $i++) {
+ switch ($index_order[$i]) {
+ case 1: # checkbox
+ case 5: # flags
+ echo ' <TD WIDTH="1%"><B> </B></TD>';
+ break;
+
+ case 2: # from
+ if ($mailbox == $sent_folder)
+ echo ' <TD WIDTH="25%"><B>'. _("To") .'</B>';
+ else
+ echo ' <TD WIDTH="25%"><B>'. _("From") .'</B>';
+ ShowSortButton($sort, $mailbox, 2, 3);
+ echo "</TD>\n";
+ break;
+
+ case 3: # date
+ echo ' <TD NOWRAP WIDTH="5%"><B>'. _("Date") .'</B>';
+ ShowSortButton($sort, $mailbox, 0, 1);
+ echo "</TD>\n";
+ break;
+
+ case 4: # subject
+ echo ' <TD><B>'. _("Subject") .'</B> ';
+ ShowSortButton($sort, $mailbox, 4, 5);
+ echo "</TD>\n";
+ break;
+
+ case 6: # size
+ echo ' <TD WIDTH="5%"><b>' . _("Size")."</b></TD>\n";
+ break;
+ }
+ }
+ echo "</TR>\n";
+ }
+
+ function ShowSortButton($sort, $mailbox, $Up, $Down) {
+ if ($sort != $Up && $sort != $Down) {
+ $img = 'sort_none.gif';
+ $which = $Up;
+ } elseif ($sort == $Up) {
+ $img = 'up_pointer.gif';
+ $which = $Down;
+ } else {
+ $img = 'down_pointer.gif';
+ $which = 6;
+ }
+ echo ' <a href="right_main.php?newsort=' . $which .
+ '&startMessage=1&mailbox=' . urlencode($mailbox) .
+ '"><IMG SRC="../images/' . $img .
+ '" BORDER=0 WIDTH=12 HEIGHT=10></a>';
+ }
+
+ function ShowSelectAllLink($startMessage, $sort)
+ {
+ global $checkall, $PHP_SELF, $what, $where, $mailbox;
+
+ // This code is from Philippe Mingo <mingo@rotedic.com>
+
+ ?>
+<script language="JavaScript">
+<!--
+function CheckAll() {
+ for (var i = 0; i < document.messageList.elements.length; i++) {
+ if( document.messageList.elements[i].name.substr( 0, 3 ) == 'msg') {
+ document.messageList.elements[i].checked =
+ !(document.messageList.elements[i].checked);
+ }
+ }
+}
+window.document.write('<a href="#" onClick="CheckAll();"><?php echo
+ _("Toggle All") ?></A>');
+//-->
+</script><noscript>
+<?PHP
+
+ echo "<a href=\"$PHP_SELF?mailbox=" . urlencode($mailbox) .
+ "&startMessage=$startMessage&sort=$sort&checkall=";
+ if (isset($checkall) && $checkall == '1')
+ echo '0';
+ else
+ echo '1';
+ if (isset($where) && isset($what))
+ echo '&where=' . urlencode($where) . '&what=' . urlencode($what);
+ echo "\">";
+ if (isset($checkall) && $checkall == '1')
+ echo _("Unselect All");
+ else
+ echo _("Select All");
+
+ echo "</A>\n</noscript>\n";
+ }
+
+ function processSubject($subject)
+ {
+ // Shouldn't ever happen -- caught too many times in the IMAP functions
+ if ($subject == '')
+ return _("(no subject)");
+
+ if (strlen($subject) <= 55)
+ return $subject;
+
+ $ent_strlen=strlen($subject);
+ $trim_val=50;
+ $ent_offset=0;
+ // see if this is entities-encoded string
+ // If so, Iterate through the whole string, find out
+ // the real number of characters, and if more
+ // than 55, substr with an updated trim value.
+ while (($ent_loc = strpos($subject, '&', $ent_offset)) !== false &&
+ ($ent_loc_end = strpos($subject, ';', $ent_loc)) !== false)
+ {
+ $trim_val += ($ent_loc_end-$ent_loc)+1;
+ $ent_strlen -= $ent_loc_end-$ent_loc;
+ $ent_offset = $ent_loc_end+1;
+ }
+
+ if ($ent_strlen <= 55)
+ return $subject;
+
+ return substr($subject, 0, $trim_val) . '...';