thomascube
2008-07-31 62e54249df84f7d8a1d9af2f6d5a978bbba78bb5
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']))