diff options
Diffstat (limited to 'lib/plugins/config/settings')
-rw-r--r-- | lib/plugins/config/settings/config.metadata.php | 2 | ||||
-rw-r--r-- | lib/plugins/config/settings/extra.class.php | 30 |
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); } } } |