diff --git a/lib/conditionlib.php b/lib/conditionlib.php index 87ad57a6cd7..57f9e359d3e 100644 --- a/lib/conditionlib.php +++ b/lib/conditionlib.php @@ -1325,7 +1325,7 @@ abstract class condition_info_base { $iscurrentuser = $USER->id == $userid; if (isguestuser($userid) || ($iscurrentuser && !isloggedin())) { - // Must be logged in and can't be the guest. (this should never happen anyway) + // Must be logged in and can't be the guest. (e.g. front page) return false; } diff --git a/lib/tests/conditionlib_test.php b/lib/tests/conditionlib_test.php index 5ef73658095..dfed24bb3c1 100644 --- a/lib/tests/conditionlib_test.php +++ b/lib/tests/conditionlib_test.php @@ -776,6 +776,15 @@ class conditionlib_testcase extends advanced_testcase { // without error. $ci->get_cached_user_profile_field($USER->id, $fieldid); } + + // Change to not logged in user. + $this->setUser(null); + + foreach ($fields as $fieldid => $name) { + // Should get false always when not logged in. + $this->assertEquals(false, $ci->get_cached_user_profile_field($USER->id, $fieldid)); + } + } }