Finish advanced prefs feature (#1488829)

pull/154/head
Thomas Bruederli 11 years ago
parent 29b2937f7b
commit 4a05e8a7e8

@ -252,6 +252,10 @@ $config['enable_installer'] = false;
// don't allow these settings to be overriden by the user // don't allow these settings to be overriden by the user
$config['dont_override'] = array(); $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 // provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! // PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = ''; $config['support_url'] = '';

@ -1180,11 +1180,21 @@ function rcmail_user_prefs($current = null)
$data = $RCMAIL->plugins->exec_hook('preferences_list', $data = $RCMAIL->plugins->exec_hook('preferences_list',
array('section' => $sect['id'], 'blocks' => $blocks, 'current' => $current)); array('section' => $sect['id'], 'blocks' => $blocks, 'current' => $current));
$advanced_prefs = $config['advanced_prefs'];
// create output // create output
foreach ($data['blocks'] as $block) { foreach ($data['blocks'] as $key => $block) {
if (!empty($block['content']) || !empty($block['options'])) { if (!empty($block['content']) || !empty($block['options'])) {
$found = true; $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]);
}
}
} }
} }

Loading…
Cancel
Save