Thomas Bruederli
2013-11-08 4a05e8a7e8a39aee331a1d5bc45fbc1710ac6a15
Finish advanced prefs feature (#1488829)
2 files modified
18 ■■■■ changed files
config/defaults.inc.php 4 ●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 14 ●●●● patch | view | raw | blame | history
config/defaults.inc.php
@@ -252,6 +252,10 @@
// don't allow these settings to be overriden by the user
$config['dont_override'] = array();
// define which settings should be listed under the 'advanced' block
// which is hidden by default
$config['advanced_prefs'] = array();
// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';
program/steps/settings/func.inc
@@ -1180,11 +1180,21 @@
        $data  = $RCMAIL->plugins->exec_hook('preferences_list',
            array('section' => $sect['id'], 'blocks' => $blocks, 'current' => $current));
        $advanced_prefs = $config['advanced_prefs'];
        // create output
        foreach ($data['blocks'] as $block) {
        foreach ($data['blocks'] as $key => $block) {
            if (!empty($block['content']) || !empty($block['options'])) {
                $found = true;
                break;
            }
            // move some options to the 'advanced' block as configured by admin
            if ($key != 'advanced') {
                foreach ($advanced_prefs as $opt) {
                    if ($block['options'][$opt]) {
                        $data['blocks']['advanced']['options'][$opt] = $block['options'][$opt];
                        unset($data['blocks'][$key]['options'][$opt]);
                    }
                }
            }
        }