summaryrefslogtreecommitdiff
path: root/lib/plugins/config/settings
diff options
context:
space:
mode:
authorChristopher Smith <chris@jalakai.co.uk>2013-08-03 00:40:34 +0200
committerChristopher Smith <chris@jalakai.co.uk>2013-08-03 00:40:34 +0200
commitb8b64ed77285e4d753d35d4ceab0516be597a2f1 (patch)
tree7cc1a82a5887a9efeb3f9160f98613e65e404ba0 /lib/plugins/config/settings
parentaf07997c5ff7cc096965159d90158e3710d2d019 (diff)
parent586da9c1028b1013e8dc47911ba430671a389b5b (diff)
downloadrpg-b8b64ed77285e4d753d35d4ceab0516be597a2f1.tar.gz
rpg-b8b64ed77285e4d753d35d4ceab0516be597a2f1.tar.bz2
Merge branch 'master' into configmgr_improvements
Diffstat (limited to 'lib/plugins/config/settings')
-rw-r--r--lib/plugins/config/settings/config.class.php23
-rw-r--r--lib/plugins/config/settings/config.metadata.php7
2 files changed, 27 insertions, 3 deletions
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index 6de560128..6d582ad30 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -728,6 +728,29 @@ if (!class_exists('setting_email')) {
$this->_local = $input;
return true;
}
+ function html(&$plugin, $echo=false) {
+ $value = '';
+ $disable = '';
+
+ if ($this->is_protected()) {
+ $value = $this->_protected;
+ $disable = 'disabled="disabled"';
+ } else {
+ if ($echo && $this->_error) {
+ $value = $this->_input;
+ } else {
+ $value = is_null($this->_local) ? $this->_default : $this->_local;
+ }
+ }
+
+ $multiple = $this->_multiple ? 'multiple="multiple"' : '';
+ $key = htmlspecialchars($this->_key);
+ $value = htmlspecialchars($value);
+
+ $label = '<label for="config___'.$key.'">'.$this->prompt($plugin).'</label>';
+ $input = '<input id="config___'.$key.'" name="config['.$key.']" type="email" class="edit" value="'.$value.'" '.$multiple.' '.$disable.'/>';
+ return array($label,$input);
+ }
}
}
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index 08003a3e4..f4c2ed265 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -20,7 +20,8 @@
* 'numericopt' - like above, but accepts empty values
* 'onoff' - checkbox input, setting output 0|1
* 'multichoice' - select input (single choice), setting output with quotes, required _choices parameter
- * 'email' - text input, input must conform to email address format
+ * 'email' - text input, input must conform to email address format, supports optional '_multiple'
+ * parameter for multiple comma separated email addresses
* 'password' - password input, minimal input validation, setting output text in quotes, maybe encoded
* according to the _code parameter
* 'dirchoice' - as multichoice, selection choices based on folders found at location specified in _dir
@@ -67,6 +68,7 @@
* '_delimiter' - string, default '/', a single character used as a delimiter for testing regex input values
* '_pregflags' - string, default 'ui', valid preg pattern modifiers used when testing regex input values, for more
* information see http://uk1.php.net/manual/en/reference.pcre.pattern.modifiers.php
+ * '_multiple' - bool, allow multiple comma separated email values; optional for 'email', ignored by others
*
* @author Chris Smith <chris@jalakai.co.uk>
*/
@@ -135,7 +137,7 @@ $meta['manager'] = array('string');
$meta['profileconfirm'] = array('onoff');
$meta['rememberme'] = array('onoff');
$meta['disableactions'] = array('disableactions',
- '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','edit','wikicode','check'),
+ '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','profile_delete','edit','wikicode','check'),
'_combine' => array('subscription' => array('subscribe','unsubscribe'), 'wikicode' => array('source','export_raw')));
$meta['auth_security_timeout'] = array('numeric');
$meta['securecookie'] = array('onoff');
@@ -170,7 +172,6 @@ $meta['im_convert'] = array('im_convert');
$meta['jpg_quality'] = array('numeric','_pattern' => '/^100$|^[1-9]?[0-9]$/'); //(0-100)
$meta['fetchsize'] = array('numeric');
$meta['refcheck'] = array('onoff');
-$meta['refshow'] = array('numeric');
$meta['_notifications'] = array('fieldset');
$meta['subscribers'] = array('onoff');