Merge branch 'MDL-72621-310' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE

This commit is contained in:
Eloy Lafuente (stronk7)
2021-10-07 21:10:45 +02:00
4 changed files with 68 additions and 1 deletions
+5
View File
@@ -3724,6 +3724,11 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+1
View File
@@ -709,6 +709,7 @@ $string['iplookupinfo'] = 'By default Moodle uses the free online NetGeo (The In
It is recommended to install local copy of free GeoLite2 City database from MaxMind.<br />
IP address location is displayed on simple map or using Google Maps. Please note that you need to have a Google account and apply for free Google Maps API key to enable interactive maps.';
$string['iplookupmaxmindnote'] = 'This product includes GeoLite2 data created by MaxMind, available from <a href="https://www.maxmind.com">https://www.maxmind.com</a>.';
$string['iscustomadminwarnings'] = 'It has been detected that your site is using a custom admin directory. This feature is no longer supported and will be removed after Moodle 4.2.';
$string['ishttpswarning'] = 'It has been detected that your site is not secured using HTTPS. It is strongly recommended to migrate your site to HTTPS for increased security and improved integration with other systems.';
$string['keeptagnamecase'] = 'Keep tag name casing';
$string['lang'] = 'Default language';
+37 -1
View File
@@ -33,7 +33,7 @@ require_once($CFG->dirroot . '/calendar/tests/helpers.php');
/**
* Tests various classes and functions in upgradelib.php library.
*/
class core_upgradelib_testcase extends advanced_testcase {
class upgradelib_test extends advanced_testcase {
/**
* Test the {@link upgrade_stale_php_files_present() function
@@ -1490,4 +1490,40 @@ class core_upgradelib_testcase extends advanced_testcase {
// Since group override events do not set userid, these events should not be flagged to be fixed.
$this->assertEquals(0, $groupoverrideinfo->bad);
}
/**
* Test the admin_dir_usage check with no admin setting specified.
*/
public function test_admin_dir_usage_not_set(): void {
$result = new environment_results("custom_checks");
$this->assertNull(check_admin_dir_usage($result));
}
/**
* Test the admin_dir_usage check with the default admin setting specified.
*/
public function test_admin_dir_usage_is_default(): void {
global $CFG;
$CFG->admin = 'admin';
$result = new environment_results("custom_checks");
$this->assertNull(check_admin_dir_usage($result));
}
/**
* Test the admin_dir_usage check with a custom admin setting specified.
*/
public function test_admin_dir_usage_non_standard(): void {
global $CFG;
$this->resetAfterTest(true);
$CFG->admin = 'notadmin';
$result = new environment_results("custom_checks");
$this->assertInstanceOf(environment_results::class, check_admin_dir_usage($result));
$this->assertEquals('admin_dir_usage', $result->getInfo());
$this->assertFalse($result->getStatus());
}
}
+25
View File
@@ -2694,3 +2694,28 @@ function check_max_input_vars(environment_results $result) {
}
return null;
}
/**
* Check whether the admin directory has been configured and warn if so.
*
* The admin directory has been deprecated since Moodle 4.0.
*
* @param environment_results $result
* @return null|environment_results
*/
function check_admin_dir_usage(environment_results $result): ?environment_results {
global $CFG;
if (empty($CFG->admin)) {
return null;
}
if ($CFG->admin === 'admin') {
return null;
}
$result->setInfo('admin_dir_usage');
$result->setStatus(false);
return $result;
}