X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fleft_main.php;h=83175f63ae67eaf741072c6deb4ff675ddadea95;hb=1a531551726e16fe9ccbd8de06731c1730d8fce2;hp=89875a5b95b5dd73a0cb4bb3c7fdca268a4126c0;hpb=4bdcd5e02dfa98fb9da899699ef320c1c773cbb8;p=squirrelmail.git
diff --git a/src/left_main.php b/src/left_main.php
index 89875a5b..83175f63 100644
--- a/src/left_main.php
+++ b/src/left_main.php
@@ -3,16 +3,17 @@
/**
* left_main.php
*
- * Copyright (c) 1999-2003 The SquirrelMail Project Team
+ * Copyright (c) 1999-2004 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* This is the code for the left bar. The left bar shows the folders
* available, and has cookie information.
*
* $Id$
+ * @package squirrelmail
*/
-/* Path for SquirrelMail required files. */
+/** Path for SquirrelMail required files. */
define('SM_PATH','../');
/* SquirrelMail required files. */
@@ -100,12 +101,15 @@ function formatMailboxName($imapConnection, $box_array) {
$line .= "\n\n" .
" ("._("purge").")" .
"";
- } else {
- $line .= concat_hook_function('left_main_after_each_folder',
- array(isset($numMessages) ? $numMessages : '',$real_box,$imapConnection));
}
}
+
+ // let plugins fiddle with end of line
+ $line .= concat_hook_function('left_main_after_each_folder',
+ array(isset($numMessages) ? $numMessages : '', $real_box, $imapConnection));
+
+
/* Return the final product. */
return ($line);
}
@@ -166,23 +170,27 @@ function compute_folder_children(&$parbox, $boxcount) {
* currently appropriate.
*/
function create_collapse_link($boxnum) {
- global $boxes, $imapConnection, $unseen_notify, $color;
+ global $boxes, $imapConnection, $unseen_notify, $color, $use_icons, $icon_theme;
$mailbox = urlencode($boxes[$boxnum]['unformatted']);
/* Create the link for this collapse link. */
$link = '+";
+ if ($use_icons && $icon_theme != 'none') {
+ $link .= "unfold=$mailbox\">
";
+ } else {
+ $link .= "unfold=$mailbox\">+";
+ }
} else {
- $link .= "fold=$mailbox\">-";
+ if ($use_icons && $icon_theme != 'none') {
+ $link .= "fold=$mailbox\">
";
+ } else {
+ $link .= "fold=$mailbox\">-";
+ }
}
$link .= '';
- $hooklink = do_hook_function('create_collapse_link',$link);
- if ($hooklink != '')
- $link = $hooklink;
-
/* Return the finished product. */
return ($link);
}
@@ -196,8 +204,7 @@ function create_collapse_link($boxnum) {
* @param string $boxName name of the current mailbox
* @param array $boxArray array for the current mailbox
* @param $imapConnection current imap connection in use
- * @return array[0] unseen message string (for display)
- * @return array[1] unseen message count
+ * @return array unseen message string (for display), unseen message count
*/
function create_unseen_string($boxName, $boxArray, $imapConnection, $unseen_type) {
global $boxes, $unseen_type, $color, $unseen_cum;
@@ -287,85 +294,95 @@ function is_parent_box($curbox_name, $parbox_name) {
function ListBoxes ($boxes, $j=0 ) {
global $data_dir, $username, $startmessage, $color, $unseen_notify, $unseen_type,
- $move_to_trash, $trash_folder, $collapse_folders, $imapConnection;
+ $move_to_trash, $trash_folder, $collapse_folders, $imapConnection,
+ $use_icons, $icon_theme;
+
+ if (!isset($boxes) || empty($boxes))
+ return;
+
$pre = '';
$end = '';
$collapse = false;
- $unseen_type = 1;
- $unseen_notify = 0;
+ $unseen_found = false;
$unseen = 0;
- /* Get unseen/total display prefs */
- $unseen_type = getPref( $data_dir , $username , 'unseen_type' );
- $unseen_notify = getPref( $data_dir , $username , 'unseen_notify' );
-
- if (isset($boxes) && !empty($boxes)) {
- $mailbox = $boxes->mailboxname_full;
- $leader = '';
- $leader .= str_repeat(' ',$j);
- $mailboxURL = urlencode($mailbox);
-
- /* get unseen/total messages information */
- /* Only need to display info when option is set */
- if (isset($unseen_notify) && ($unseen_notify > 1)) {
-
- if ($boxes->unseen !== false) {
- $unseen = $boxes->unseen;
- } else {
- $unseen = 0;
- }
-
- /*
- Should only display unseen info if the folder is inbox
- or you set the option for all folders
- */
+ $mailbox = $boxes->mailboxname_full;
+ $leader = '';
+ $leader .= str_repeat(' ',$j);
+ $mailboxURL = urlencode($mailbox);
- if ((strtolower($mailbox) == 'inbox') || ($unseen_notify == 3)) {
- $unseen_string = $unseen;
-
-
- /* If users requests, display message count too */
- if (isset($unseen_type) && ($unseen_type == 2)) {
- $numMessages = $boxes->total;
- $unseen_string .= '/' . $numMessages;
- }
-
- $unseen_string = "($unseen_string)";
-
- /*
- Finally allow the script to display the values by setting a boolean.
- This can only occur if the unseen count is great than 0 (if you have
- unseen count only), or you have the message count too.
- */
- if (($unseen > 0) || (isset($unseen_type) && ($unseen_type ==2))) {
- $unseen_found = true;
- }
-
- }
-
+ /* get unseen/total messages information */
+ /* Only need to display info when option is set */
+ if (isset($unseen_notify) && ($unseen_notify > 1) &&
+ (($boxes->unseen !== false) || ($boxes->total !== false))) {
+
+ if ($boxes->unseen !== false)
+ $unseen = $boxes->unseen;
+
+ /*
+ Should only display unseen info if the folder is inbox
+ or you set the option for all folders
+ */
+
+ if ((strtolower($mailbox) == 'inbox') || ($unseen_notify == 3)) {
+ $unseen_string = $unseen;
+
+ /* If users requests, display message count too */
+ if (isset($unseen_type) && ($unseen_type == 2) && ($boxes->total !== false)) {
+ $unseen_string .= '/' . $boxes->total;
+ }
+
+ $unseen_string = "($unseen_string)";
+
+ /*
+ Finally allow the script to display the values by setting a boolean.
+ This can only occur if the unseen count is great than 0 (if you have
+ unseen count only), or you have the message count too.
+ */
+ if (($unseen > 0) || (isset($unseen_type) && ($unseen_type ==2))) {
+ $unseen_found = true;
+ }
}
+ }
- if (isset($boxes->mbxs[0]) && $collapse_folders) {
- $collapse = getPref($data_dir, $username, 'collapse_folder_' . $mailbox);
- $collapse = ($collapse == '' ? SM_BOX_UNCOLLAPSED : $collapse);
+ if (isset($boxes->mbxs[0]) && $collapse_folders) {
+ $collapse = getPref($data_dir, $username, 'collapse_folder_' . $mailbox);
+ $collapse = ($collapse == '' ? SM_BOX_UNCOLLAPSED : $collapse);
- $link = '$leader
";
+ } else {
$link .= "unfold=$mailboxURL\">$leader+ ";
+ }
+ } else {
+ if ($use_icons && $icon_theme != 'none') {
+ $link .= "fold=$mailboxURL\">$leader
";
} else {
$link .= "fold=$mailboxURL\">$leader- ";
}
- $link .= '';
- $pre .= $link;
- } else {
- $pre.= $leader . ' ';
}
+ $link .= '';
+ $pre .= $link;
+ } else {
+ $pre.= $leader . ' ';
+ }
- /* If there are unseen message, bold the line. */
- if (($move_to_trash) && ($mailbox == $trash_folder)) {
- if (! isset($boxes->total)) {
- $boxes->total = sqimap_status_messages($imapConnection, $mailbox);
- }
+ /* If there are unseen message, bold the line. */
+ if (($move_to_trash) && ($mailbox == $trash_folder)) {
+ if (! isset($boxes->total)) {
+ $boxes->total = sqimap_status_messages($imapConnection, $mailbox);
+ }
+ if ($unseen > 0) {
+ $pre .= '';
+ }
+ $pre .= "";
+ if ($unseen > 0) {
+ $end .= '';
+ }
+ $end .= '';
+ if ($boxes->total > 0) {
if ($unseen > 0) {
$pre .= '';
}
@@ -373,68 +390,64 @@ function ListBoxes ($boxes, $j=0 ) {
if ($unseen > 0) {
$end .= '';
}
- $end .= '';
- if ($boxes->total > 0) {
- if ($unseen > 0) {
- $pre .= '';
- }
- $pre .= "";
- if ($unseen > 0) {
- $end .= '';
- }
- /* Print unseen information. */
- if (isset($unseen_found) && $unseen_found) {
- $end .= " $unseen_string";
- }
- $end .= "\n\n" .
- " ("._("purge").")" .
- "";
- }
- } else {
- if (!$boxes->is_noselect) {
- if ($unseen > 0) {
- $pre .= '';
- }
- $pre .= "";
- if ($unseen > 0) {
- $end .= '';
- }
- $end .= '';
- }
/* Print unseen information. */
- if (isset($unseen_found) && $unseen_found) {
+ if ($unseen_found) {
$end .= " $unseen_string";
}
-
+ $end .= "\n\n" .
+ " ("._("purge").")" .
+ "";
}
-
- $font = '';
- $fontend = '';
- if ($boxes->is_special) {
- $font = "";
- $fontend = "";
+ } else {
+ if (!$boxes->is_noselect) {
+ if ($unseen > 0) {
+ $pre .= '';
+ }
+ $pre .= "";
+ if ($unseen > 0) {
+ $end .= '';
+ }
+ $end .= '';
}
- $end .= '';
-
- if (!$boxes->is_root) {
- echo "" . $pre .$font. $boxes->mailboxname_sub .$fontend . $end. '
' . "\n";
- $j++;
+ /* Print unseen information. */
+ if ($unseen_found) {
+ $end .= " $unseen_string";
}
- if (!$collapse || $boxes->is_root) {
- for ($i = 0; $i mbxs); $i++) {
- listBoxes($boxes->mbxs[$i],$j);
- }
+ }
+
+ $font = '';
+ $fontend = '';
+ if ($boxes->is_special) {
+ $font = "";
+ $fontend = "";
+ }
+
+ // let plugins fiddle with end of line
+ $end .= concat_hook_function('left_main_after_each_folder',
+ array(isset($numMessages) ? $numMessages : '',
+ $boxes->mailboxname_full, $imapConnection));
+
+ $end .= '';
+
+ if (!$boxes->is_root) {
+ echo "" . $pre .$font. $boxes->mailboxname_sub .$fontend . $end. '
' . "\n";
+ $j++;
+ }
+
+ if (!$collapse || $boxes->is_root) {
+ for ($i = 0; $i mbxs); $i++) {
+ listBoxes($boxes->mbxs[$i],$j);
}
}
}
function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
global $data_dir, $username, $startmessage, $color, $unseen_notify, $unseen_type,
- $move_to_trash, $trash_folder, $collapse_folders;
+ $move_to_trash, $trash_folder, $collapse_folders;
- if (!$boxes)
- return;
+ if (!isset($boxes) || empty($boxes))
+ return;
/* use_folder_images only works if the images exist in ../images */
$use_folder_images = true;
@@ -448,13 +461,15 @@ function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
$mailbox = $boxes->mailboxname_full;
$mailboxURL = urlencode($mailbox);
+ /* get unseen/total messages information */
/* Only need to display info when option is set */
- if (isset($unseen_notify) && ($unseen_notify > 1) && (($boxes->unseen !== false) || ($boxes->total !== false))) {
+ if (isset($unseen_notify) && ($unseen_notify > 1) &&
+ (($boxes->unseen !== false) || ($boxes->total !== false))) {
if ($boxes->unseen !== false)
$unseen = $boxes->unseen;
- /*
+ /*
Should only display unseen info if the folder is inbox
or you set the option for all folders
*/
@@ -463,8 +478,9 @@ function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
$unseen_string = $unseen;
/* If users requests, display message count too */
- if (isset($unseen_type) && ($unseen_type == 2) && ($boxes->total !== false))
+ if (isset($unseen_type) && ($unseen_type == 2) && ($boxes->total !== false)) {
$unseen_string .= '/' . $boxes->total;
+ }
$unseen_string = "($unseen_string)";
@@ -476,9 +492,7 @@ function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
if (($unseen > 0) || (isset($unseen_type) && ($unseen_type ==2))) {
$unseen_found = true;
}
-
- }
-
+ }
}
/* If there are unseen message, bold the line. */
@@ -494,8 +508,8 @@ function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
if ($unseen > 0) { $end .= ''; }
/* Print unseen information. */
- if (isset($unseen_found) && $unseen_found) {
- $end .= " $unseen_string";
+ if ($unseen_found) {
+ $end .= " $unseen_string";
}
if (($move_to_trash) && ($mailbox == $trash_folder)) {
@@ -517,47 +531,55 @@ function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
}
}
+ // let plugins fiddle with end of line
+ global $imapConnection;
+ $end .= concat_hook_function('left_main_after_each_folder',
+ array(isset($numMessages) ? $numMessages : '',
+ $boxes->mailboxname_full, $imapConnection));
+
if (!$boxes->is_root) {
if ($use_folder_images) {
- if ($boxes->is_inbox) {
- $folder_img = '../images/inbox.png';
- } else if ($boxes->is_sent) {
- $folder_img = '../images/senti.png';
- } else if ($boxes->is_trash) {
- $folder_img = '../images/delitem.png';
- } else if ($boxes->is_draft) {
- $folder_img = '../images/draft.png';
- } else if ($boxes->is_noinferiors) {
- $folder_img = '../images/folder_noinf.png';
- } else $folder_img = '../images/folder.png';
- $folder_img = '
';
- } else $folder_img = '';
+ if ($boxes->is_inbox) {
+ $folder_img = '../images/inbox.png';
+ } else if ($boxes->is_sent) {
+ $folder_img = '../images/senti.png';
+ } else if ($boxes->is_trash) {
+ $folder_img = '../images/delitem.png';
+ } else if ($boxes->is_draft) {
+ $folder_img = '../images/draft.png';
+ } else if ($boxes->is_noinferiors) {
+ $folder_img = '../images/folder_noinf.png';
+ } else {
+ $folder_img = '../images/folder.png';
+ }
+ $folder_img = '
';
+ } else {
+ $folder_img = '';
+ }
if (!isset($boxes->mbxs[0])) {
echo ' ' . html_tag( 'div',
''. $pre . $folder_img . ''. $boxes->mailboxname_sub . $end,
'left', '', 'class="mbx_sub" id="' .$j. '"' ) . "\n";
- }
- else {
+ } else {
/* get collapse information */
if ($collapse_folders) {
$form_entry = $j.'F';
if (isset($mbx) && isset($mbx[$form_entry])) {
$collapse = $mbx[$form_entry];
setPref($data_dir, $username, 'collapse_folder_'.$boxes->mailboxname_full , $collapse ? SM_BOX_COLLAPSED : SM_BOX_UNCOLLAPSED);
- }
- else {
+ } else {
$collapse = getPref($data_dir, $username, 'collapse_folder_' . $mailbox);
$collapse = ($collapse == '' ? SM_BOX_UNCOLLAPSED : $collapse);
}
$img_src = ($collapse ? '../images/plus.png' : '../images/minus.png');
$collapse_link = ''."
";
- }
- else
+ } else {
$collapse_link='';
- echo ' ' . html_tag( 'div',
+ }
+ echo ' ' . html_tag( 'div',
$collapse_link . $pre . $folder_img . ' '. $boxes->mailboxname_sub . $end ,
'left', '', 'class="mbx_par" id="' .$j. 'P"' ) . "\n";
- echo ' '."\n";
+ echo ' '."\n";
}
}
@@ -627,8 +649,14 @@ if (isset($left_refresh) && ($left_refresh != '') &&
* to marc@its-projects.nl
**/
-$advanced_tree = false; /* set this to true if you want to see a nicer mailboxtree */
-$oldway = false; /* default SM behaviour */
+/* set this to true if you want to see a nicer mailboxtree */
+if (! isset($advanced_tree) || $advanced_tree=="" ) {
+ $advanced_tree=false;
+}
+/* default SM behaviour */
+if (! isset($oldway) || $oldway=="" ) {
+ $oldway=false;
+}
if ($advanced_tree) {
$xtra .= <<