summaryrefslogtreecommitdiff
path: root/program/include
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2008-07-31 20:27:46 +0000
committerthomascube <thomas@roundcube.net>2008-07-31 20:27:46 +0000
commitcb3538d2abe1a333bae0d91d6ff221a1ec8cacc2 (patch)
tree8d284df94830765588e0c270ce68a48234db8fbe /program/include
parent6d6e066f23a272719312bc6efbef907e0e9668b9 (diff)
Make special folders configurable for the user
Diffstat (limited to 'program/include')
-rw-r--r--program/include/html.php6
-rw-r--r--program/include/main.inc27
2 files changed, 29 insertions, 4 deletions
diff --git a/program/include/html.php b/program/include/html.php
index 236dec291..704d10a0a 100644
--- a/program/include/html.php
+++ b/program/include/html.php
@@ -248,7 +248,7 @@ class html_inputfield extends html
{
protected $tagname = 'input';
protected $type = 'text';
- protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange','onclick');
+ protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange','onclick','disabled');
public function __construct($attrib = array())
{
@@ -416,7 +416,7 @@ class html_checkbox extends html_inputfield
class html_textarea extends html
{
protected $tagname = 'textarea';
- protected $allowed = array('name','rows','cols','wrap','tabindex','onchange');
+ protected $allowed = array('name','rows','cols','wrap','tabindex','onchange','disabled');
/**
* Get HTML code for this object
@@ -473,7 +473,7 @@ class html_select extends html
{
protected $tagname = 'select';
protected $options = array();
- protected $allowed = array('name','size','tabindex','autocomplete','multiple','onchange');
+ protected $allowed = array('name','size','tabindex','autocomplete','multiple','onchange','disabled');
/**
* Add a new option to this drop-down
diff --git a/program/include/main.inc b/program/include/main.inc
index c2a35c695..0a1cf60da 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -934,6 +934,31 @@ function rcmail_mailbox_list($attrib)
}
+/**
+ * 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 +1006,7 @@ function rcmail_render_folder_tree_html(&$arrFolders, &$mbox_name, $maxlength, $
$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']))