Changeset cb3538d in github


Ignore:
Timestamp:
Jul 31, 2008 4:27:46 PM (5 years ago)
Author:
thomascube <thomas@…>
Branches:
master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
Children:
62e5424
Parents:
6d6e066
Message:

Make special folders configurable for the user

Location:
program
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • program/include/html.php

    r6d6e066 rcb3538d  
    249249    protected $tagname = 'input'; 
    250250    protected $type = 'text'; 
    251     protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange','onclick'); 
     251    protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange','onclick','disabled'); 
    252252 
    253253    public function __construct($attrib = array()) 
     
    417417{ 
    418418    protected $tagname = 'textarea'; 
    419     protected $allowed = array('name','rows','cols','wrap','tabindex','onchange'); 
     419    protected $allowed = array('name','rows','cols','wrap','tabindex','onchange','disabled'); 
    420420 
    421421    /** 
     
    474474    protected $tagname = 'select'; 
    475475    protected $options = array(); 
    476     protected $allowed = array('name','size','tabindex','autocomplete','multiple','onchange'); 
     476    protected $allowed = array('name','size','tabindex','autocomplete','multiple','onchange','disabled'); 
    477477     
    478478    /** 
  • program/include/main.inc

    r6d6e066 rcb3538d  
    935935 
    936936 
     937/** 
     938 * Return the mailboxlist as html_select object 
     939 * 
     940 * @param array Named parameters 
     941 * @return object html_select HTML drop-down object 
     942 */ 
     943function rcmail_mailbox_select($p = array()) 
     944{ 
     945  global $RCMAIL; 
     946   
     947  $p += array('maxlength' => 100); 
     948  $a_mailboxes = array(); 
     949   
     950  foreach ($RCMAIL->imap->list_mailboxes() as $folder) 
     951    rcmail_build_folder_tree($a_mailboxes, $folder, $RCMAIL->imap->get_hierarchy_delimiter()); 
     952 
     953  $select = new html_select($p); 
     954   
     955  if ($p['noselection']) 
     956    $select->add($p['noselection'], ''); 
     957     
     958  rcmail_render_folder_tree_select($a_mailboxes, $mbox, $p['maxlength'], $select); 
     959   
     960  return $select; 
     961} 
    937962 
    938963 
     
    9821007  foreach ($arrFolders as $key => $folder) 
    9831008    { 
    984     $zebra_class = ($nestLevel*$idx)%2 ? 'even' : 'odd'; 
     1009    $zebra_class = (($nestLevel+1)*$idx) % 2 == 0 ? 'even' : 'odd'; 
    9851010    $title = null; 
    9861011 
  • program/steps/settings/func.inc

    r6d6e066 rcb3538d  
    214214  } 
    215215                   
    216   if (!empty($config['drafts_mbox']) && !isset($no_override['draft_autosave'])) { 
     216  if (!isset($no_override['draft_autosave'])) { 
    217217    $field_id = 'rcmfd_autosave'; 
    218     $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => $field_id)); 
     218    $select_autosave = new html_select(array('name' => '_draft_autosave', 'id' => $field_id, 'disabled' => empty($config['drafts_mbox']))); 
    219219    $select_autosave->add(rcube_label('never'), 0); 
    220220    foreach (array(3, 5, 10) as $i => $min) 
     
    226226 
    227227  $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('messagescomposition'))) . $table->show($attrib)); 
     228 
     229  // Configure special folders 
     230  if (!isset($no_override['folders'])) { 
     231    $RCMAIL->imap_init(true); 
     232    $select = rcmail_mailbox_select(array('noselection' => '---')); 
     233     
     234    $table = new html_table(array('cols' => 2)); 
     235 
     236    $table->add('title', Q(rcube_label('drafts'))); 
     237    $table->add(null, $select->show($config['drafts_mbox'], array('name' => "_drafts_mbox", 'onchange' => "document.getElementById('rcmfd_autosave').disabled=this.selectedIndex==0"))); 
     238     
     239    $table->add('title', Q(rcube_label('sent'))); 
     240    $table->add(null, $select->show($config['sent_mbox'], array('name' => "_sent_mbox"))); 
     241     
     242    $table->add('title', Q(rcube_label('junk'))); 
     243    $table->add(null, $select->show($config['junk_mbox'], array('name' => "_junk_mbox"))); 
     244     
     245    $table->add('title', Q(rcube_label('trash'))); 
     246    $table->add(null, $select->show($config['trash_mbox'], array('name' => "_trash_mbox"))); 
     247     
     248    $out .= html::tag('fieldset', null, html::tag('legend', null, Q(rcube_label('specialfolders'))) . $table->show($attrib)); 
     249  } 
    228250 
    229251  $table = new html_table(array('cols' => 2)); 
  • program/steps/settings/save_prefs.inc

    r67effe9 rcb3538d  
    3737  'mdn_requests' => isset($_POST['_mdn_requests']) ? intval($_POST['_mdn_requests']) : 0, 
    3838  'skin' => isset($_POST['_skin']) ? get_input_value('_skin', RCUBE_INPUT_POST) : $CONFIG['skin'], 
     39  'drafts_mbox' => get_input_value('_drafts_mbox', RCUBE_INPUT_POST), 
     40  'sent_mbox' => get_input_value('_sent_mbox', RCUBE_INPUT_POST), 
     41  'junk_mbox' => get_input_value('_junk_mbox', RCUBE_INPUT_POST), 
     42  'trash_mbox' => get_input_value('_trash_mbox', RCUBE_INPUT_POST), 
    3943  ); 
    4044 
Note: See TracChangeset for help on using the changeset viewer.