diff --git a/public/lib/classes/check/environment/configrw.php b/public/lib/classes/check/environment/configrw.php index 32d4221b693..448c68be302 100644 --- a/public/lib/classes/check/environment/configrw.php +++ b/public/lib/classes/check/environment/configrw.php @@ -14,6 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . +namespace core\check\environment; + +use core\check\check; +use core\check\result; + /** * Verifies config.php is not writable anymore after installation * @@ -23,48 +28,32 @@ * @copyright 2008 petr Skoda * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ - -namespace core\check\environment; - -defined('MOODLE_INTERNAL') || die(); - -use core\check\check; -use core\check\result; - -/** - * Verifies config.php is not writable anymore after installation - * - * @copyright 2020 Brendan Heywood - * @copyright 2008 petr Skoda - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class configrw extends check { - - /** - * Get the short check name - * - * @return string - */ +final class configrw extends check { + #[\Override] public function get_name(): string { return get_string('check_configrw_name', 'report_security'); } - /** - * Return result - * @return result - */ + #[\Override] public function get_result(): result { global $CFG; $details = get_string('check_configrw_details', 'report_security'); - if (is_writable($CFG->dirroot . '/config.php')) { - $status = result::WARNING; - $summary = get_string('check_configrw_warning', 'report_security'); - } else { - $status = result::OK; - $summary = get_string('check_configrw_ok', 'report_security'); + $configfilepaths = [ + "{$CFG->root}/config.php", + "{$CFG->dirroot}/config.php", + ]; + + foreach ($configfilepaths as $configfile) { + if (is_writable($configfile)) { + $status = result::WARNING; + $summary = get_string('check_configrw_warning', 'report_security'); + return new result($status, $summary, $details); + } } + + $status = result::OK; + $summary = get_string('check_configrw_ok', 'report_security'); return new result($status, $summary, $details); } } -