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