summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGina Haeussge <osd@foosel.net>2009-11-08 12:52:37 +0100
committerGina Haeussge <osd@foosel.net>2009-11-08 12:52:37 +0100
commit1f4a73412e359187bcd0ad71ffe2e6298738ab10 (patch)
treed42340c1b044bcb480cd3c14128e0bda7df51c67 /lib
parent8c2ca0fab31436075c7c348460be5c237074261a (diff)
downloadrpg-1f4a73412e359187bcd0ad71ffe2e6298738ab10.tar.gz
rpg-1f4a73412e359187bcd0ad71ffe2e6298738ab10.tar.bz2
Allow multiple mail addresses in $conf['notify']
Ignore-this: cb12d98437bc7bd4e3fb641a39b277c5 According to the documentation, $conf['notify'] may be a comma-separated list of email addresses. However, the config admin did not allow this yet. darcs-hash:20091108115237-2b4f5-67e43dc767bd3aa18222cbb8272efaaf0ba0f4d3.gz
Diffstat (limited to 'lib')
-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');