From 38dc510b2dba02dba5a60fbc00947aac4fd24aab Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 29 Feb 2012 06:53:52 -0500
Subject: [PATCH] - Fix warning when properties array is empty

---
 program/include/main.inc |   49 +++++++++++++++----------------------------------
 1 files changed, 15 insertions(+), 34 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 8b935c1..798a1fe 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -158,33 +158,6 @@
 }
 
 
-/**
- * Garbage collector for cache entries.
- * Remove all expired message cache records
- * @return void
- */
-function rcmail_cache_gc()
-{
-  $rcmail = rcmail::get_instance();
-  $db = $rcmail->get_dbh();
-
-  // get target timestamp
-  $ts = get_offset_time($rcmail->config->get('message_cache_lifetime', '30d'), -1);
-
-  $db->query("DELETE FROM ".get_table_name('cache_messages')
-        ." WHERE changed < " . $db->fromunixtime($ts));
-
-  $db->query("DELETE FROM ".get_table_name('cache_index')
-        ." WHERE changed < " . $db->fromunixtime($ts));
-
-  $db->query("DELETE FROM ".get_table_name('cache_thread')
-        ." WHERE changed < " . $db->fromunixtime($ts));
-
-  $db->query("DELETE FROM ".get_table_name('cache')
-        ." WHERE created < " . $db->fromunixtime($ts));
-}
-
-
 // Deprecated
 function rcube_charset_convert($str, $from, $to=NULL)
 {
@@ -790,6 +763,7 @@
 
   // define date format depending on current time
   if (!$format) {
+    $now         = time();
     $now_date    = getdate($now);
     $today_limit = mktime(0, 0, 0, $now_date['mon'], $now_date['mday'], $now_date['year']);
     $week_limit  = mktime(0, 0, 0, $now_date['mon'], $now_date['mday']-6, $now_date['year']);
@@ -913,7 +887,15 @@
   }
 
   // allow plugins to alter the folder tree or to localize folder names
-  $hook = $RCMAIL->plugins->exec_hook('render_mailboxlist', array('list' => $a_mailboxes, 'delimiter' => $delimiter));
+  $hook = $RCMAIL->plugins->exec_hook('render_mailboxlist', array(
+    'list'      => $a_mailboxes,
+    'delimiter' => $delimiter,
+    'type'      => $type,
+    'attribs'   => $attrib,
+  ));
+
+  $a_mailboxes = $hook['list'];
+  $attrib      = $hook['attribs'];
 
   if ($type == 'select') {
     $select = new html_select($attrib);
@@ -922,12 +904,12 @@
     if ($attrib['noselection'])
       $select->add(rcube_label($attrib['noselection']), '');
 
-    rcmail_render_folder_tree_select($hook['list'], $mbox_name, $attrib['maxlength'], $select, $attrib['realnames']);
-    $out = $select->show();
+    rcmail_render_folder_tree_select($a_mailboxes, $mbox_name, $attrib['maxlength'], $select, $attrib['realnames']);
+    $out = $select->show($attrib['default']);
   }
   else {
     $js_mailboxlist = array();
-    $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($hook['list'], $mbox_name, $js_mailboxlist, $attrib), html::$common_attrib);
+    $out = html::tag('ul', $attrib, rcmail_render_folder_tree_html($a_mailboxes, $mbox_name, $js_mailboxlist, $attrib), html::$common_attrib);
 
     $RCMAIL->output->add_gui_object('mailboxlist', $attrib['id']);
     $RCMAIL->output->set_env('mailboxes', $js_mailboxlist);
@@ -1236,8 +1218,7 @@
   if (!$attrib['id'])
     $attrib['id'] = 'rcmquotadisplay';
 
-  if(isset($attrib['display']))
-    $_SESSION['quota_display'] = $attrib['display'];
+  $_SESSION['quota_display'] = !empty($attrib['display']) ? $attrib['display'] : 'text';
 
   $OUTPUT->add_gui_object('quotadisplay', $attrib['id']);
 
@@ -1379,8 +1360,8 @@
   $RCMAIL->output->add_script(sprintf("rcmail_editor_init(%s)",
     json_encode(array(
         'mode'       => $mode,
-        'skin_path'  => '$__skin_path',
         'lang'       => $lang,
+        'skin_path'  => $RCMAIL->output->get_skin_path(),
         'spellcheck' => intval($RCMAIL->config->get('enable_spellcheck')),
         'spelldict'  => intval($RCMAIL->config->get('spellcheck_dictionary')),
     ))), 'foot');

--
Gitblit v1.9.1