From 3e0fb6862e1daf5686b895e83b78dc7a30d41852 Mon Sep 17 00:00:00 2001 From: Jake Dallimore Date: Thu, 23 Feb 2017 10:13:33 +0800 Subject: [PATCH] MDL-58038 email: make sure all allowedemaildomain entries are respected Fixes a bug with exploding the config var, in which trailing carriage returns were causing string matches to fail. --- lib/moodlelib.php | 2 +- lib/tests/moodlelib_test.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 4e72b6d8736..8115cd24a13 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -5812,7 +5812,7 @@ function email_to_user($user, $from, $subject, $messagetext, $messagehtml = '', $alloweddomains = null; if (!empty($CFG->allowedemaildomains)) { - $alloweddomains = explode(PHP_EOL, $CFG->allowedemaildomains); + $alloweddomains = array_map('trim', explode("\n", $CFG->allowedemaildomains)); } // Email will be sent using no reply address. diff --git a/lib/tests/moodlelib_test.php b/lib/tests/moodlelib_test.php index a65436ee04c..2f7fe879c36 100644 --- a/lib/tests/moodlelib_test.php +++ b/lib/tests/moodlelib_test.php @@ -2793,7 +2793,7 @@ class core_moodlelib_testcase extends advanced_testcase { $user1 = $this->getDataGenerator()->create_user(array('maildisplay' => 1)); $user2 = $this->getDataGenerator()->create_user(array('maildisplay' => 1)); $user3 = $this->getDataGenerator()->create_user(array('maildisplay' => 0)); - set_config('allowedemaildomains', 'example.com'); + set_config('allowedemaildomains', "example.com\r\nmoodle.org"); $subject = 'subject'; $messagetext = 'message text';