This commit is contained in:
Huong Nguyen
2025-10-17 10:15:13 +07:00
@@ -14,6 +14,11 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
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 <[email protected]>
* @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);
}
}