summaryrefslogtreecommitdiff
path: root/lib/plugins/config/settings
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/config/settings')
-rw-r--r--lib/plugins/config/settings/config.metadata.php2
-rw-r--r--lib/plugins/config/settings/extra.class.php30
2 files changed, 11 insertions, 21 deletions
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index ff38b6b2b..c69bb8f36 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -93,6 +93,7 @@ $meta['deaccent'] = array('onoff');
$meta['useheading'] = array('onoff');
$meta['refcheck'] = array('onoff');
$meta['refshow'] = array('numeric');
+$meta['allowdebug'] = array('onoff');
$meta['usewordblock']= array('onoff');
$meta['indexdelay'] = array('numeric');
@@ -123,7 +124,6 @@ $meta['gdlib'] = array('multichoice','_choices' => array(0,1,2));
$meta['im_convert'] = array('im_convert');
$meta['spellchecker']= array('onoff');
$meta['subscribers'] = array('onoff');
-$meta['pluginmanager'] = array('onoff');
$meta['compress'] = array('onoff');
$meta['hidepages'] = array('');
$meta['send404'] = array('onoff');
diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php
index 0c5d9866e..619df8618 100644
--- a/lib/plugins/config/settings/extra.class.php
+++ b/lib/plugins/config/settings/extra.class.php
@@ -40,28 +40,18 @@ if (!class_exists('setting_savedir')) {
}
if (!class_exists('setting_authtype')) {
- class setting_authtype extends setting {
- var $_pattern = '#^[a-zA-Z0-9_]*$#';
+ class setting_authtype extends setting_multichoice {
- function update($input) {
- if ($this->is_protected()) return false;
-
- $input = trim($input);
-
- $value = is_null($this->_local) ? $this->_default : $this->_local;
- if ($value == $input) return false;
+ function initialize($default,$local,$protected) {
- if (preg_match($this->_pattern, $input)) {
- if (@file_exists(DOKU_INC.'inc/auth/'.$input.'.class.php') ||
- @file_exists(DOKU_INC.'inc/auth/'.$input.'.php')) {
- $this->_local = $input;
- return true;
- }
- }
-
- $this->_error = true;
- $this->_input = $input;
- return false;
+ // populate $this->_choices with a list of available auth mechanisms
+ $authtypes = glob(DOKU_INC.'inc/auth/*.class.php');
+ $authtypes = preg_replace('#^.*/([^/]*)\.class\.php$#i','$1', $authtypes);
+ sort($authtypes);
+
+ $this->_choices = $authtypes;
+
+ parent::initialize($default,$local,$protected);
}
}
}