Make special folders configurable for the user
| | |
| | | { |
| | | 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()) |
| | | { |
| | |
| | | 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 |
| | |
| | | { |
| | | 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 |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 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; |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | $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'])) |
| | |
| | | $table->add(null, $input_htmleditor->show($config['htmleditor']?1:0)); |
| | | } |
| | | |
| | | if (!empty($config['drafts_mbox']) && !isset($no_override['draft_autosave'])) { |
| | | if (!isset($no_override['draft_autosave'])) { |
| | | $field_id = 'rcmfd_autosave'; |
| | | $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => $field_id)); |
| | | $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => $field_id, 'disabled' => empty($config['drafts_mbox']))); |
| | | $select_autosave->add(rcube_label('never'), 0); |
| | | foreach (array(3, 5, 10) as $i => $min) |
| | | $select_autosave->add(rcube_label(array('name' => 'everynminutes', 'vars' => array('n' => $min))), $min*60); |
| | |
| | | |
| | | $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('messagescomposition'))) . $table->show($attrib)); |
| | | |
| | | // Configure special folders |
| | | if (!isset($no_override['folders'])) { |
| | | $RCMAIL->imap_init(true); |
| | | $select = rcmail_mailbox_select(array('noselection' => '---')); |
| | | |
| | | $table = new html_table(array('cols' => 2)); |
| | | |
| | | $table->add('title', Q(rcube_label('drafts'))); |
| | | $table->add(null, $select->show($config['drafts_mbox'], array('name' => "_drafts_mbox", 'onchange' => "document.getElementById('rcmfd_autosave').disabled=this.selectedIndex==0"))); |
| | | |
| | | $table->add('title', Q(rcube_label('sent'))); |
| | | $table->add(null, $select->show($config['sent_mbox'], array('name' => "_sent_mbox"))); |
| | | |
| | | $table->add('title', Q(rcube_label('junk'))); |
| | | $table->add(null, $select->show($config['junk_mbox'], array('name' => "_junk_mbox"))); |
| | | |
| | | $table->add('title', Q(rcube_label('trash'))); |
| | | $table->add(null, $select->show($config['trash_mbox'], array('name' => "_trash_mbox"))); |
| | | |
| | | $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('specialfolders'))) . $table->show($attrib)); |
| | | } |
| | | |
| | | $table = new html_table(array('cols' => 2)); |
| | | |
| | | if (!isset($no_override['read_when_deleted'])) { |
| | |
| | | 'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0, |
| | | 'mdn_requests' => isset($_POST['_mdn_requests']) ? intval($_POST['_mdn_requests']) : 0, |
| | | 'skin' => isset($_POST['_skin']) ? get_input_value('_skin', RCUBE_INPUT_POST) : $CONFIG['skin'], |
| | | 'drafts_mbox' => get_input_value('_drafts_mbox', RCUBE_INPUT_POST), |
| | | 'sent_mbox' => get_input_value('_sent_mbox', RCUBE_INPUT_POST), |
| | | 'junk_mbox' => get_input_value('_junk_mbox', RCUBE_INPUT_POST), |
| | | 'trash_mbox' => get_input_value('_trash_mbox', RCUBE_INPUT_POST), |
| | | ); |
| | | |
| | | // don't override these parameters |