summaryrefslogtreecommitdiff
path: root/lib/plugins/config/settings/extra.class.php
diff options
context:
space:
mode:
authorchris <chris@jalakai.co.uk>2006-01-26 02:13:42 +0100
committerchris <chris@jalakai.co.uk>2006-01-26 02:13:42 +0100
commit20e7ccb0f10f57918093f76e85ca7afe71efb3bf (patch)
tree84a3664a34876732cba3709c27382dbdfed8999d /lib/plugins/config/settings/extra.class.php
parente77ea1bc9d5f596e8f8916d108e05be855161320 (diff)
downloadrpg-20e7ccb0f10f57918093f76e85ca7afe71efb3bf.tar.gz
rpg-20e7ccb0f10f57918093f76e85ca7afe71efb3bf.tar.bz2
config plugin update & removal of $conf['pluginmanager'] option
darcs-hash:20060126011342-9b6ab-40d04573bef34fa4012edac74186355b9a7ff0d9.gz
Diffstat (limited to 'lib/plugins/config/settings/extra.class.php')
-rw-r--r--lib/plugins/config/settings/extra.class.php30
1 files changed, 10 insertions, 20 deletions
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);
}
}
}