".
- "'
+ . html_tag( 'tr' )
+ . html_tag( 'td' ,'' , '', $color[0], '' );
+
+ /* if using server sort we highjack the
+ * the $sort var and use $server_sort_order
+ * instead. but here we reset sort for a bit
+ * since its easy
+ */
+ if ($allow_server_sort == TRUE) {
+ $sort = $server_sort_order;
+ }
+}
+
+function mail_message_listing_end($num_msgs, $paginator_str, $msg_cnt_str, $color) {
+ if ($num_msgs) {
+ echo html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td',
+ html_tag( 'table',
+ html_tag( 'tr',
+ html_tag( 'td', $paginator_str ) .
+ html_tag( 'td', $msg_cnt_str, 'right' )
+ )
+ , '', $color[4], 'width="100%" cellpadding="1" cellspacing="1"' )
+ )
+ , '', $color[4] )
+ , '', $color[9], 'width="100%" cellpadding="1" cellspacing="1"' );
+
}
- echo " BGCOLOR=\"$color[0]\">".
- "";
+ /* End of message-list table */
+
+ do_hook('mailbox_index_after');
+ echo "\n";
+}
- /* Print the headers. */
- for ($i=1; $i <= count($index_order); $i++) {
+function printHeader($mailbox, $sort, $color, $showsort=true) {
+ global $index_order;
+ echo html_tag( 'table' ,'' , '', $color[4], 'border="0" width="100%" cellpadding="1" cellspacing="0"' );
+ echo html_tag( 'tr' ,'' , 'center', $color[5] );
+ for ($i = 1; $i <= count($index_order); $i++) {
switch ($index_order[$i]) {
case 1: /* checkbox */
case 5: /* flags */
- echo ' | ';
+ echo html_tag( 'td' ,' ' , '', '', 'width="1%"' );
break;
-
case 2: /* from */
if (handleAsSent($mailbox)) {
- echo ' '. _("To") .'';
+ echo html_tag( 'td' ,'' , 'left', '', 'width="25%"' )
+ . '' . _("To") . '';
} else {
- echo ' | '. _("From") .'';
+ echo html_tag( 'td' ,'' , 'left', '', 'width="25%"' )
+ . '' . _("From") . '';
}
-
- ShowSortButton($sort, $mailbox, 2, 3);
- echo " | \n";
+ if ($showsort) {
+ ShowSortButton($sort, $mailbox, 2, 3);
+ }
+ echo "\n";
break;
-
case 3: /* date */
- echo ' '. _("Date") .'';
- ShowSortButton($sort, $mailbox, 0, 1);
- echo " | \n";
+ echo html_tag( 'td' ,'' , 'left', '', 'width="5%" nowrap' )
+ . '' . _("Date") . '';
+ if ($showsort) {
+ ShowSortButton($sort, $mailbox, 0, 1);
+ }
+ echo "\n";
break;
-
case 4: /* subject */
- echo ' '. _("Subject") .' ';
- ShowSortButton($sort, $mailbox, 4, 5);
- echo " | \n";
+ echo html_tag( 'td' ,'' , 'left', '', '' )
+ . '' . _("Subject") . '';
+ if ($showsort) {
+ ShowSortButton($sort, $mailbox, 4, 5);
+ }
+ echo "\n";
break;
-
case 6: /* size */
- echo ' ' . _("Size")." | \n";
+ echo html_tag( 'td', '' . _("Size") . '', 'center', '', 'width="5%"' );
break;
}
}
- echo " \n";
+ echo "\n";
}
+
/*
* This function shows the sort button. Isn't this a good comment?
*/
-function ShowSortButton($sort, $mailbox, $Up, $Down) {
+function ShowSortButton($sort, $mailbox, $Up, $Down ) {
+ global $PHP_SELF;
/* Figure out which image we want to use. */
if ($sort != $Up && $sort != $Down) {
$img = 'sort_none.png';
@@ -589,33 +857,46 @@ function ShowSortButton($sort, $mailbox, $Up, $Down) {
$which = 6;
}
+ if (preg_match('/^(.+)\?.+$/',$PHP_SELF,$regs)) {
+ $source_url = $regs[1];
+ } else {
+ $source_url = $PHP_SELF;
+ }
+
/* Now that we have everything figured out, show the actual button. */
- echo ' ';
+ echo ' ';
}
function get_selectall_link($start_msg, $sort) {
global $checkall, $what, $where, $mailbox, $javascript_on;
global $PHP_SELF, $PG_SHOWNUM;
+ $result = '';
if ($javascript_on) {
- $result =
- '' . _("Toggle All") . "\n";
+ $result = '' . _("Toggle All")
+ . "\n";
} else {
- $result .= "";
if (isset($checkall) && ($checkall == '1')) {
@@ -638,7 +914,6 @@ function get_selectall_link($start_msg, $sort) {
} else {
$result .= _("Select All");
}
-
$result .= "\n";
}
@@ -646,49 +921,64 @@ function get_selectall_link($start_msg, $sort) {
return ($result);
}
-/**
-* This function computes the "Viewing Messages..." string.
-*/
+/*
+ * This function computes the "Viewing Messages..." string.
+ */
function get_msgcnt_str($start_msg, $end_msg, $num_msgs) {
/* Compute the $msg_cnt_str. */
$result = '';
if ($start_msg < $end_msg) {
- $result = sprintf(_("Viewing Messages: %s to %s (%s total)"), $start_msg, $end_msg, $num_msgs);
+ $result = sprintf(_("Viewing Messages: %s to %s (%s total)"),
+ $start_msg, $end_msg, $num_msgs);
} else if ($start_msg == $end_msg) {
$result = sprintf(_("Viewing Message: %s (1 total)"), $start_msg);
} else {
$result = ' ';
}
-
/* Return our result string. */
return ($result);
}
-/**
+/*
* Generate a paginator link.
*/
-function get_paginator_link
-($box, $start_msg, $use, $text) {
+function get_paginator_link($box, $start_msg, $use, $text) {
+ global $PHP_SELF;
+
$result = "$text";
+ return ($result);
+/*
+ if (preg_match('/^(.+)\?.+$/',$PHP_SELF,$regs)) {
+ $source_url = $regs[1];
+ } else {
+ $source_url = $PHP_SELF;
+ }
+
+ $result = '$text";
return ($result);
+*/
}
-/**
+/*
* This function computes the paginator string.
*/
-function get_paginator_str
-($box, $start_msg, $end_msg, $num_msgs, $show_num, $sort) {
+function get_paginator_str($box, $start_msg, $end_msg, $num_msgs,
+ $show_num, $sort) {
global $username, $data_dir, $use_mailbox_cache, $color, $PG_SHOWNUM;
/* Initialize paginator string chunks. */
$prv_str = '';
$nxt_str = '';
- $pg_str = '';
+ $pg_str = '';
$all_str = '';
$tgl_str = '';
+ $box = urlencode($box);
+
/* Create simple strings that will be creating the paginator. */
$spc = ' '; /* This will be used as a space. */
$sep = '|'; /* This will be used as a seperator. */
@@ -730,30 +1020,30 @@ function get_paginator_str
$cur_pg = intval($start_msg / $show_num) + 1;
/* Compute total # of pages and # of paginator page links. */
- $tot_pgs = ceil($num_msgs / $show_num); /* Total # of Pages */
+ $tot_pgs = ceil($num_msgs / $show_num); /* Total number of Pages */
$vis_pgs = min($pg_max, $tot_pgs - 1); /* Visible Pages */
- /************************************************************/
/* Compute the size of the four quarters of the page links. */
- /************************************************************/
/* If we can, just show all the pages. */
if (($tot_pgs - 1) <= $pg_max) {
$q1_pgs = $cur_pg - 1;
$q2_pgs = $q3_pgs = 0;
$q4_pgs = $tot_pgs - $cur_pg;
-
+
/* Otherwise, compute some magic to choose the four quarters. */
} else {
- /* Compute the magic base values. Added together, */
- /* these values will always equal to the $pag_pgs. */
- /* NOTE: These are DEFAULT values and do not take */
- /* the current page into account. That is below. */
+ /*
+ * Compute the magic base values. Added together,
+ * these values will always equal to the $pag_pgs.
+ * NOTE: These are DEFAULT values and do not take
+ * the current page into account. That is below.
+ */
$q1_pgs = floor($vis_pgs/4);
$q2_pgs = round($vis_pgs/4, 0);
$q3_pgs = ceil($vis_pgs/4);
$q4_pgs = round(($vis_pgs - $q2_pgs)/3, 0);
-
+
/* Adjust if the first quarter contains the current page. */
if (($cur_pg - $q1_pgs) < 1) {
$extra_pgs = ($q1_pgs - ($cur_pg - 1)) + $q2_pgs;
@@ -788,14 +1078,14 @@ function get_paginator_str
}
}
- /* I am leaving this debug code here, commented out, because */
- /* it is a really nice way to see what the above code is doing. */
- /* echo "qts = $q1_pgs/$q2_pgs/$q3_pgs/$q4_pgs = " */
- /* . ($q1_pgs + $q2_pgs + $q3_pgs + $q4_pgs) . ' '; */
+ /*
+ * I am leaving this debug code here, commented out, because
+ * it is a really nice way to see what the above code is doing.
+ * echo "qts = $q1_pgs/$q2_pgs/$q3_pgs/$q4_pgs = "
+ * . ($q1_pgs + $q2_pgs + $q3_pgs + $q4_pgs) . ' ';
+ */
- /************************************************************/
/* Print out the page links from the compute page quarters. */
- /************************************************************/
/* Start with the first quarter. */
if (($q1_pgs == 0) && ($cur_pg > 1)) {
@@ -838,15 +1128,15 @@ function get_paginator_str
}
}
} else if ($PG_SHOWNUM == 999999) {
- $pg_str = ""
- . _("Paginate") . '' . $spc;
+ $pg_str = "" ._("Paginate") . '' . $spc;
}
/* If necessary, compute the 'show all' string. */
if (($prv_str != '') || ($nxt_str != '')) {
- $all_str = "" . _("Show All") . '';
}
@@ -854,12 +1144,16 @@ function get_paginator_str
$tgl_str = get_selectall_link($start_msg, $sort);
/* Put all the pieces of the paginator string together. */
+ /**
+ * Hairy code... But let's leave it like it is since I am not certain
+ * a different approach would be any easier to read. ;)
+ */
$result = '';
$result .= ($prv_str != '' ? $prv_str . $spc . $sep . $spc : '');
$result .= ($nxt_str != '' ? $nxt_str . $spc . $sep . $spc : '');
- $result .= ($pg_str != '' ? $pg_str : '');
+ $result .= ($pg_str != '' ? $pg_str : '');
$result .= ($all_str != '' ? $sep . $spc . $all_str . $spc : '');
- $result .= ($result != '' ? $sep . $spc . $tgl_str: $tgl_str);
+ $result .= ($result != '' ? $sep . $spc . $tgl_str: $tgl_str);
/* If the resulting string is blank, return a non-breaking space. */
if ($result == '') {
@@ -871,41 +1165,97 @@ function get_paginator_str
}
function processSubject($subject) {
- // Shouldn't ever happen -- caught too many times in the IMAP functions
+ global $languages, $squirrelmail_language;
+ /* 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);
+ $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)
+ /*
+ * 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;
+ }
+
+ if (isset($languages[$squirrelmail_language]['XTRA_CODE']) &&
+ function_exists($languages[$squirrelmail_language]['XTRA_CODE'])) {
+ return $languages[$squirrelmail_language]['XTRA_CODE']('strimwidth', $subject, $trim_val);
+ }
return substr($subject, 0, $trim_val) . '...';
}
+function getMbxList($imapConnection) {
+ global $lastTargetMailbox;
+ echo ' ';
+}
+
+function getButton($type, $name, $value) {
+ return '';
+}
+
+function getSmallStringCell($string, $align) {
+ return html_tag('td',
+ '' . $string . ': ',
+ $align,
+ '',
+ 'nowrap' );
+}
+
+function getEndMessage($start_msg, $show_num, $num_msgs) {
+ if ($start_msg + ($show_num - 1) < $num_msgs){
+ $end_msg = $start_msg + ($show_num - 1);
+ } else {
+ $end_msg = $num_msgs;
+ }
+
+ if ($end_msg < $start_msg) {
+ $start_msg = $start_msg - $show_num;
+ if ($start_msg < 1) {
+ $start_msg = 1;
+ }
+ }
+ return (array($start_msg,$end_msg));
+}
+
function handleAsSent($mailbox) {
- global $sent_folder, $draft_folder;
- global $handleAsSent_result;
+ global $sent_folder, $draft_folder, $handleAsSent_result;
/* First check if this is the sent or draft folder. */
$handleAsSent_result = (($mailbox == $sent_folder)
- || ($mailbox == $draft_folder));
+ || ($mailbox == $draft_folder));
/* Then check the result of the handleAsSent hook. */
do_hook('check_handleAsSent_result', $mailbox);
@@ -913,5 +1263,4 @@ function handleAsSent($mailbox) {
/* And return the result. */
return ($handleAsSent_result);
}
-
?>
|