Changeset 4856 in subversion


Ignore:
Timestamp:
Jun 15, 2011 9:21:49 AM (2 years ago)
Author:
alec
Message:
  • Add possibility to return subscription status and css class name for folder row from "folder_save" hook
  • Fix folder preview frame state after folder creation
Location:
trunk/roundcubemail/program
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/js/app.js

    r4850 r4856  
    44624462 
    44634463  // Add folder row to the table and initialize it 
    4464   this.add_folder_row = function (name, display_name, protected, subscribed, skip_init) 
     4464  this.add_folder_row = function (name, display_name, protected, subscribed, skip_init, class_name) 
    44654465  { 
    44664466    if (!this.gui_objects.subscriptionlist) 
     
    44794479 
    44804480    // clone a table row if there are existing rows 
    4481     row    = $(refrow).clone(true); 
     4481    row = $(refrow).clone(true); 
     4482 
     4483    // set ID, reset css class 
    44824484    row.attr('id', id); 
     4485    row.attr('class', class_name); 
    44834486 
    44844487    // set folder name 
     
    45384541 
    45394542  // replace an existing table row with a new folder line (with subfolders) 
    4540   this.replace_folder_row = function(oldfolder, newfolder, display_name, protected) 
     4543  this.replace_folder_row = function(oldfolder, newfolder, display_name, protected, class_name) 
    45414544  { 
    45424545    if (!this.gui_objects.subscriptionlist) 
     
    45544557    // replace an existing table row 
    45554558    this._remove_folder_row(id); 
    4556     row = $(this.add_folder_row(newfolder, display_name, protected, subscribed, true)); 
     4559    row = $(this.add_folder_row(newfolder, display_name, protected, subscribed, true, class_name)); 
    45574560 
    45584561    // detect tree depth change 
  • trunk/roundcubemail/program/steps/settings/func.inc

    r4816 r4856  
    820820    } 
    821821 
    822     return $options;     
     822    return $options; 
    823823} 
    824824 
    825 // Updates (or creates) folder row in the subscriptions table 
    826 function rcmail_update_folder_row($name, $oldname=null) 
     825/** 
     826 * Updates (or creates) folder row in the subscriptions table 
     827 * 
     828 * @param string $name      Folder name 
     829 * @param string $oldname   Old folder name (for update) 
     830 * @param bool   $subscribe Checks subscription checkbox 
     831 * @param string $class     CSS class name for folder row 
     832 */ 
     833function rcmail_update_folder_row($name, $oldname=null, $subscribe=false, $class_name=null) 
    827834{ 
    828835    global $IMAP, $CONFIG, $OUTPUT; 
     
    838845 
    839846    if ($oldname === null) 
    840         $OUTPUT->command('add_folder_row', $name_utf8, $display_name, $protected, true); 
     847        $OUTPUT->command('add_folder_row', $name_utf8, $display_name, $protected, $subscribe, 
     848            false, $class_name); 
    841849    else 
    842850        $OUTPUT->command('replace_folder_row', rcube_charset_convert($oldname, 'UTF7-IMAP'), 
    843             $name_utf8, $display_name, $protected); 
     851            $name_utf8, $display_name, $protected, $class_name); 
    844852} 
    845853 
  • trunk/roundcubemail/program/steps/settings/save_folder.inc

    r4793 r4856  
    7272    $folder['name']     = $name_imap; 
    7373    $folder['oldname']  = $old_imap; 
     74    $folder['class']    = ''; 
    7475    $folder['settings'] = array( 
    7576        // List view mode: 0-list, 1-threads 
     
    8384if (!$error && !strlen($old)) { 
    8485 
     86    $folder['subscribe'] = true; 
     87 
    8588    $plugin = $RCMAIL->plugins->exec_hook('folder_create', array('record' => $folder)); 
    8689 
     
    8891 
    8992    if (!$plugin['abort']) { 
    90         $created = $IMAP->create_mailbox($folder['name'], TRUE); 
     93        $created = $IMAP->create_mailbox($folder['name'], $folder['subscribe']); 
    9194    } 
    9295    else { 
     
    106109            $RCMAIL->user->save_prefs(array('message_threading' => $a_threaded)); 
    107110        } 
    108    
    109         rcmail_update_folder_row($folder['name']); 
     111 
     112        rcmail_update_folder_row($folder['name'], null, $folder['subscribe'], $folder['class']); 
    110113        $OUTPUT->show_message('foldercreated', 'confirmation'); 
     114        // reset folder preview frame 
     115        $OUTPUT->command('subscription_select'); 
    111116        $OUTPUT->send('iframe'); 
    112117    } 
     
    164169        $OUTPUT->show_message('folderupdated', 'confirmation'); 
    165170        if ($rename) { 
    166             rcmail_update_folder_row($folder['name'], $folder['oldname']); 
     171            rcmail_update_folder_row($folder['name'], $folder['oldname'], $folder['subscribe'], $folder['class']); 
    167172            $OUTPUT->send('iframe'); 
    168173        } 
Note: See TracChangeset for help on using the changeset viewer.