summaryrefslogtreecommitdiff
path: root/lib/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins')
-rw-r--r--lib/plugins/config/settings/config.class.php17
-rw-r--r--lib/plugins/config/settings/config.metadata.php2
2 files changed, 14 insertions, 5 deletions
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index ce9409438..d995e8a30 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -534,6 +534,7 @@ if (!class_exists('setting_email')) {
class setting_email extends setting_string {
var $_pattern = SETTING_EMAIL_PATTERN; // no longer required, retained for backward compatibility - FIXME, may not be necessary
+ var $_multiple = false;
/**
* update setting with user provided value $input
@@ -548,10 +549,18 @@ if (!class_exists('setting_email')) {
$value = is_null($this->_local) ? $this->_default : $this->_local;
if ($value == $input) return false;
- if (!mail_isvalid($input)) {
- $this->_error = true;
- $this->_input = $input;
- return false;
+ if ($this->_multiple) {
+ $mails = array_filter(array_map('trim', split(',', $input)));
+ } else {
+ $mails = array($input);
+ }
+
+ foreach ($mails as $mail) {
+ if (!mail_isvalid($mail)) {
+ $this->_error = true;
+ $this->_input = $input;
+ return false;
+ }
}
$this->_local = $input;
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index 41f8497bf..742faf387 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -146,7 +146,7 @@ $meta['_editing'] = array('fieldset');
$meta['usedraft'] = array('onoff');
$meta['htmlok'] = array('onoff');
$meta['phpok'] = array('onoff');
-$meta['notify'] = array('email');
+$meta['notify'] = array('email', '_multiple' => true);
$meta['subscribers'] = array('onoff');
$meta['locktime'] = array('numeric');
$meta['cachetime'] = array('numeric');