';
+}
+
+echo "\n\n" . html_tag( 'table', '', '', '', 'border="0" cellspacing="0" cellpadding="0" width="100%"' ) .
+ html_tag( 'tr' ) .
+ html_tag( 'td', '', 'left' ) .
+ '
'. _("Folders") . "
\n\n";
+
+if ($date_format != 6) {
+ /* First, display the clock. */
+ if ($hour_format == 1) {
+ $hr = 'G:i';
+ if ($date_format == 4) {
+ $hr .= ':s';
+ }
+ } else {
+ if ($date_format == 4) {
+ $hr = 'g:i:s a';
} else {
- $link .= "fold=$mailbox\">-";
+ $hr = 'g:i a';
}
- $link .= '';
+ }
- /* Return the finished product. */
- return ($link);
+ switch( $date_format ) {
+ case 1:
+ $clk = date('m/d/y '.$hr, time());
+ break;
+ case 2:
+ $clk = date('d/m/y '.$hr, time());
+ break;
+ case 4:
+ case 5:
+ $clk = date($hr, time());
+ break;
+ default:
+ $clk = substr( getDayName( date( 'w', time() ) ), 0, 3 ) . date( ', ' . $hr, time() );
}
-
- /**
- * This simple function checks if a box is another box's parent.
- */
- function is_parent_box($curbox_name, $parbox_name) {
- global $delimeter;
-
- /* Extract the name of the parent of the current box. */
- $curparts = explode($delimeter, $curbox_name);
- $curname = array_pop($curparts);
- $actual_parname = implode($delimeter, $curparts);
- $actual_parname = substr($actual_parname,0,strlen($parbox_name));
-
- /* Compare the actual with the given parent name. */
- return ($parbox_name == $actual_parname);
+ $clk = str_replace(' ',' ',$clk);
+
+ echo '' . str_replace(' ',' ',_("Last Refresh")) .
+ ": $clk";
+}
+
+/* Next, display the refresh button. */
+echo '('.
+ _("refresh folder list") . ')';
+
+/* Lastly, display the folder list. */
+if ( $collapse_folders ) {
+ /* If directed, collapse or uncollapse a folder. */
+ if (isset($fold)) {
+ setPref($data_dir, $username, 'collapse_folder_' . $fold, SM_BOX_COLLAPSED);
+ } else if (isset($unfold)) {
+ setPref($data_dir, $username, 'collapse_folder_' . $unfold, SM_BOX_UNCOLLAPSED);
}
+}
- /**
- * Recursive function that computes the collapsed status and parent
- * (or not parent) status of this box, and the visiblity and collapsed
- * status and parent (or not parent) status for all children boxes.
- */
- function compute_folder_children(&$parbox, $boxcount) {
- global $boxes, $data_dir, $username;
- $nextbox = $parbox + 1;
+if ($oldway) { /* normal behaviour SM */
+
+$boxes = sqimap_mailbox_list($imapConnection);
+/* Prepare do do out collapsedness and visibility computation. */
+$curbox = 0;
+$boxcount = count($boxes);
- /* Retreive the name for the parent box. */
- $parbox_name = $boxes[$parbox]['unformatted'];
+/* Compute the collapsedness and visibility of each box. */
- /* 'Initialize' this parent box to childless. */
- $boxes[$parbox]['parent'] = false;
+while ($curbox < $boxcount) {
+ $boxes[$curbox]['visible'] = TRUE;
+ compute_folder_children($curbox, $boxcount);
+}
- /* Compute the collapse status for this box. */
- $collapse = 0;
- $collapse = getPref($data_dir, $username, 'collapse_folder_' . $parbox_name);
- $collapse = ($collapse == '' ? SM_BOX_UNCOLLAPSED : $collapse);
- $boxes[$parbox]['collapse'] = $collapse;
- /* Otherwise, get the name of the next box. */
- if (isset($boxes[$nextbox]['unformatted']))
- $nextbox_name = $boxes[$nextbox]['unformatted'];
- else
- $nextbox_name = '';
+for ($i = 0; $i < count($boxes); $i++) {
+ if ( $boxes[$i]['visible'] ) {
+ $mailbox = $boxes[$i]['formatted'];
+ $mblevel = substr_count($boxes[$i]['unformatted'], $delimiter) + 1;
- /* Compute any children boxes for this box. */
- while (($nextbox < $boxcount) &&
- (is_parent_box($boxes[$nextbox]['unformatted'], $parbox_name))) {
+ /* Create the prefix for the folder name and link. */
+ $prefix = str_repeat(' ',$mblevel);
+ if (isset($collapse_folders) && $collapse_folders && $boxes[$i]['parent']) {
+ $prefix = str_replace(' ',' ',substr($prefix,0,strlen($prefix)-2)).
+ create_collapse_link($i) . ' ';
+ } else {
+ $prefix = str_replace(' ',' ',$prefix);
+ }
+ $line = "
$prefix";
- /* Note that this 'parent' box has at least one child. */
- $boxes[$parbox]['parent'] = true;
+ /* Add the folder name and link. */
+ if (! isset($color[15])) {
+ $color[15] = $color[6];
+ }
- /* Compute the visiblity of this box. */
- if ($boxes[$parbox]['visible'] &&
- ($boxes[$parbox]['collapse'] != SM_BOX_COLLAPSED)) {
- $boxes[$nextbox]['visible'] = true;
+ if (in_array('noselect', $boxes[$i]['flags'])) {
+ if( isSpecialMailbox( $boxes[$i]['unformatted']) ) {
+ $line .= "";
} else {
- $boxes[$nextbox]['visible'] = false;
+ $line .= "";
}
-
- /* Compute the visibility of any child boxes. */
- compute_folder_children($nextbox, $boxcount);
+ if (ereg("^( *)([^ ]*)", $mailbox, $regs)) {
+ $mailbox = str_replace(' ','',$mailbox);
+ $line .= str_replace(' ', ' ', $mailbox);
+ }
+ $line .= '';
+ } else {
+ $line .= formatMailboxName($imapConnection, $boxes[$i]);
}
- /* Set the parent box to the current next box. */
- $parbox = $nextbox;
+ /* Put the final touches on our folder line. */
+ $line .= "\n";
+
+ /* Output the line for this folder. */
+ echo $line;
}
- echo "\n";
+}
+} else { /* expiremental code */
+ $boxes = sqimap_mailbox_tree($imapConnection);
+ if (isset($advanced_tree) && $advanced_tree) {
+ echo '
'."\n";
+ } else {
+ ListBoxes($boxes);
+ }
+} /* if ($oldway) else ... */
+do_hook('left_main_after');
+sqimap_logout($imapConnection);
+
+echo '' . "\n".
+ "