MDL-69477 install: Ensure CFG variables are set before using them
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Fri, 14 Aug 2020 15:48:57 +0000 (17:48 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Fri, 14 Aug 2020 15:48:57 +0000 (17:48 +0200)
On installation (or also phpunit/behat unit) some CFG variables
were being used (on setting validation) before being set.

So this commit just verifies they are set before using them. Note that,
strictly speaking, only one of them ($CFG->searchenginequeryonly)
required the extra check, but I think it's better to apply it to all
them, as a reference and in case validations are run in any other order.

admin/settings/plugins.php

index cc23ff3..3e7c68c 100644 (file)
@@ -555,7 +555,7 @@ if ($hassiteconfig) {
         global $CFG;
 
         // Check nobody's setting the indexing and query-only server to the same one.
-        if ($CFG->searchenginequeryonly === $value) {
+        if (isset($CFG->searchenginequeryonly) && $CFG->searchenginequeryonly === $value) {
             return get_string('searchenginequeryonlysame', 'admin');
         } else {
             return '';
@@ -625,7 +625,7 @@ if ($hassiteconfig) {
         global $CFG;
 
         // Check nobody's setting the indexing and query-only server to the same one.
-        if ($CFG->searchengine === $value) {
+        if (isset($CFG->searchengine) && $CFG->searchengine === $value) {
             return get_string('searchenginequeryonlysame', 'admin');
         } else {
             return '';