From 62e54249df84f7d8a1d9af2f6d5a978bbba78bb5 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Thu, 31 Jul 2008 16:38:45 -0400 Subject: [PATCH] Code cleanup, --- program/include/main.inc | 48 ++++++++++++++++++++++++++++++++---------------- 1 files changed, 32 insertions(+), 16 deletions(-) diff --git a/program/include/main.inc b/program/include/main.inc index c2a35c6..8f0b3cb 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -876,16 +876,13 @@ * @return string HTML code for the gui object */ function rcmail_mailbox_list($attrib) - { - global $IMAP, $CONFIG, $OUTPUT, $COMM_PATH; - static $s_added_script = FALSE; +{ + global $IMAP, $OUTPUT; static $a_mailboxes; // add some labels to client rcube_add_label('purgefolderconfirm'); rcube_add_label('deletemessagesconfirm'); - -// $mboxlist_start = rcube_timer(); $type = $attrib['type'] ? $attrib['type'] : 'ul'; unset($attrib['type']); @@ -897,20 +894,15 @@ $mbox_name = $IMAP->get_mailbox_name(); // build the folders tree - if (empty($a_mailboxes)) - { + if (empty($a_mailboxes)) { // get mailbox list $a_folders = $IMAP->list_mailboxes(); $delimiter = $IMAP->get_hierarchy_delimiter(); $a_mailboxes = array(); -// rcube_print_time($mboxlist_start, 'list_mailboxes()'); - foreach ($a_folders as $folder) rcmail_build_folder_tree($a_mailboxes, $folder, $delimiter); - } - -// var_dump($a_mailboxes); + } if ($type=='select') { $select = new html_select($attrib); @@ -920,20 +912,44 @@ $select->add(rcube_label($attrib['noselection']), '0'); rcmail_render_folder_tree_select($a_mailboxes, $mbox_name, $attrib['maxlength'], $select); - $out = $select->show($mbox_name); + $out = $select->show(); } else { $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($a_mailboxes, $mbox_name, $attrib['maxlength']), html::$common_attrib); } - if ($type=='ul') $OUTPUT->add_gui_object('mailboxlist', $attrib['id']); return $out; - } +} +/** + * Return the mailboxlist as html_select object + * + * @param array Named parameters + * @return object html_select HTML drop-down object + */ +function rcmail_mailbox_select($p = array()) +{ + global $RCMAIL; + + $p += array('maxlength' => 100); + $a_mailboxes = array(); + + foreach ($RCMAIL->imap->list_mailboxes() as $folder) + rcmail_build_folder_tree($a_mailboxes, $folder, $RCMAIL->imap->get_hierarchy_delimiter()); + + $select = new html_select($p); + + if ($p['noselection']) + $select->add($p['noselection'], ''); + + rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select); + + return $select; +} /** @@ -981,7 +997,7 @@ $out = ''; foreach ($arrFolders as $key => $folder) { - $zebra_class = ($nestLevel*$idx)%2 ? 'even' : 'odd'; + $zebra_class = (($nestLevel+1)*$idx) % 2 == 0 ? 'even' : 'odd'; $title = null; if ($folder_class = rcmail_folder_classname($folder['id'])) -- Gitblit v1.9.1