X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fleft_main.php;h=13eb9055d4900f5a5b2b063e9708e6392947786e;hp=d0ab3361ae236901adbbb89beef1663998762e7b;hb=6373ad1237c82a561fec8264457e3a3a845f7e87;hpb=7c8f16f328cfe7b3189b16e2a6b3ce9a3159e0bb;ds=sidebyside diff --git a/src/left_main.php b/src/left_main.php index d0ab3361..13eb9055 100644 --- a/src/left_main.php +++ b/src/left_main.php @@ -34,200 +34,6 @@ include_once(SM_PATH . 'templates/util_left_main.php'); define('SM_BOX_UNCOLLAPSED', 0); define('SM_BOX_COLLAPSED', 1); -/* --------------------- FUNCTIONS ------------------------- */ - - - -/** - * Recursive functions to output a tree of folders. - * They are called on a list of boxes and iterates over that tree. - * - * NOTE: These functions are deprecated and replaced with templates in 1.5.2. - * They remain until the advanced tree tempalte is completed also, - * at which point both functions below will be removed - * - * @since 1.3.0 - * @deprecated - */ -function ListBoxes ($boxes, $j=0) { - return ''; -} - -function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) { - global $data_dir, $username, $color, $unseen_notify, $unseen_type, $unseen_cum, - $move_to_trash, $trash_folder, $collapse_folders, $use_special_folder_color; - - if (empty($boxes)) { - return; - } - - /* use_folder_images only works if the images exist in ../images */ - $use_folder_images = true; - - $pre = ''; - $end = ''; - $collapse = false; - $unseen_found = false; - $unseen = 0; - - $mailbox = $boxes->mailboxname_full; - $mailboxURL = urlencode($mailbox); - - /* 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 { - $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 { - $collapse_link=''; - } - - /* get unseen/total messages information */ - /* Only need to display info when option is set */ - if (isset($unseen_notify) && ($unseen_notify > 1)) { - /* handle Cumulative Unread Message Notification */ - if ($collapse && $unseen_cum) { - foreach ($boxes->mbxs as $cumn_box) { - if (!empty($cumn_box->unseen)) $boxes->unseen += $cumn_box->unseen; - if (!empty($cumn_box->total)) $boxes->total += $cumn_box->total; - } - } - if (($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; - } - if (isset($boxes->recent) && $boxes->recent > 0) { - $unseen_string = "($unseen_string)"; - } else { - $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 there are unseen message, bold the line. */ - if ($unseen > 0) { $pre .= ''; } - - /* color special boxes */ - if ($use_special_folder_color && $boxes->is_special) { - $pre .= ""; - $end .= ''; - } - - /* If there are unseen message, close bolding. */ - if ($unseen > 0) { $end .= ''; } - - /* Print unseen information. */ - if ($unseen_found) { - $end .= " $unseen_string"; - } - - if (($move_to_trash) && ($mailbox == $trash_folder)) { - $pre = "" . $pre; - $end .= ''; - $end .= "\n\n" . - '  ['._("Purge").']'. - ''; - } else { - if (!$boxes->is_noselect) { /* \Noselect boxes can't be selected */ - $pre = "" . $pre; - $end .= ''; - } - } - - // 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)); - - $out = ''; - 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 (!isset($boxes->mbxs[0])) { - $out .= ' ' . html_tag( 'div', - $pre . $folder_img . - str_replace( array(' ','<','>'), - array(' ','<','>'), - $boxes->mailboxname_sub) . - $end, - 'left', '', 'class="mbx_sub" id="' .$j. '"' ) . "\n"; - } else { - - $out .= ' ' . html_tag( 'div', - $collapse_link . $pre . $folder_img . ' '. $boxes->mailboxname_sub . $end , - 'left', '', 'class="mbx_par" id="' .$j. 'P"' ) . "\n"; - $out .= ' '."\n"; - } - } - - $visible = ($collapse ? ' style="display:none"' : ' style="display:block"'); - if (isset($boxes->mbxs[0]) && !$boxes->is_root) /* mailbox contains childs */ - $out .= html_tag( 'div', '', 'left', '', 'class="par_area" id='.$j.'.0000 '. $visible ) . "\n"; - - if ($j !='ID.0000') { - $j = $j .'.0000'; - } - for ($i = 0; $i mbxs); $i++) { - $j++; - $out .= ListAdvancedBoxes($boxes->mbxs[$i],$mbx,$j); - } - if (isset($boxes->mbxs[0]) && !$boxes->is_root) { - $out .= ''."\n\n"; - } - - return $out; -} - - - - -/* -------------------- MAIN ------------------------ */ - /* get globals */ sqgetGlobalVar('username', $username, SQ_SESSION); sqgetGlobalVar('key', $key, SQ_COOKIE); @@ -236,7 +42,6 @@ sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); sqgetGlobalVar('fold', $fold, SQ_GET); sqgetGlobalVar('unfold', $unfold, SQ_GET); - /* end globals */ // open a connection on the imap port (143) @@ -256,19 +61,13 @@ if (!empty($left_refresh) && } /** - * $advanced_tree and is a boolean var which is default set to default - * SM behaviour. - * Setting $advanced tree to true causes SM to display a experimental - * mailbox-tree with dhtml behaviour. - * - * See templates/default/left_main_advanced.tpl - **/ - -/* set this to true if you want to see a nicer mailboxtree */ -if (empty($advanced_tree)) { - $advanced_tree=false; + * Include extra javascript files needed by template + */ +$js_includes = $oTemplate->getJavascriptIncludes(); +foreach ($js_includes as $js_file) { + $xtra .= '' ."\n"; } - + // get mailbox list and cache it $mailboxes=sqimap_get_mailboxes($imapConnection,false,$show_only_subscribed_folders); @@ -381,46 +180,29 @@ if (empty($unseen_notify)) { * sqimap_mailbox_tree() so that the cached mailbox list can be used elsewhere in left_main and beyond */ $boxes = sqimap_mailbox_tree($imapConnection,$mailboxes,$show_only_subscribed_folders); - -$mailbox_listing = ''; -if (isset($advanced_tree) && $advanced_tree) { - $mailbox_listing = '
'."\n"; - $mailbox_listing .= '

'; - $mailbox_listing .= '
'."\n\n"; - sqgetGlobalVar('mbx', $mbx, SQ_POST); - if (!isset($mbx)) $mbx=NULL; - $mailbox_listing .=ListAdvancedBoxes($boxes, $mbx); - $mailbox_listing .= '
'; - $mailbox_listing .= '
'."\n"; -} else { - $mailbox_listing = ListBoxes($boxes); -} - $mailbox_structure = getBoxStructure($boxes); $oTemplate->assign('clock', $clock); -$oTemplate->assign('mailbox_listing', $mailbox_listing); -$oTemplate->assign('location_of_bar', $location_of_bar); -$oTemplate->assign('left_size', $left_size); - $oTemplate->assign('mailboxes', $mailbox_structure); -$oTemplate->assign('imapConnection', $imapConnection); - -$oTemplate->assign('unread_notification_enabled', $unseen_notify!=1); -$oTemplate->assign('unread_notification_cummulative', $unseen_cum==1); -$oTemplate->assign('unread_notification_allFolders', $unseen_notify == 3); -$oTemplate->assign('unread_notification_displayTotal', $unseen_type == 2); -$oTemplate->assign('collapsable_folders_enabled', $collapse_folders==1); -$oTemplate->assign('icon_theme_path', $icon_theme_path); -$oTemplate->assign('use_special_folder_color', $use_special_folder_color); -$oTemplate->assign('message_recycling_enabled', $move_to_trash); -if (isset($advanced_tree) && $advanced_tree) { - $oTemplate->display('left_main_advanced.tpl'); -} else { - $oTemplate->display('left_main.tpl'); -} +/* + * Build an array to pass user prefs to the template in order to avoid using + * globals, which are dirty, filthy things in templates. :) + */ +$settings = array(); +$settings['imapConnection'] = $imapConnection; +$settings['iconThemePath'] = $icon_theme_path; +$settings['templateDirectory'] = $sTplDir; +$settings['unreadNotificationEnabled'] = $unseen_notify!=1; +$settings['unreadNotificationAllFolders'] = $unseen_notify == 3; +$settings['unreadNotificationDisplayTotal'] = $unseen_type == 2; +$settings['unreadNotificationCummulative'] = $unseen_cum==1; +$settings['useSpecialFolderColor'] = $use_special_folder_color; +$settings['messageRecyclingEnabled'] = $move_to_trash; +$settings['collapsableFoldersEnabled'] = $collapse_folders==1; +$oTemplate->assign('settings', $settings); + +$oTemplate->display('left_main.tpl'); sqimap_logout($imapConnection); $oTemplate->display('footer.tpl');