MDL-73953 core_adminpresets: Fixing latest created Full preset

This commit is contained in:
Amaia Anabitarte 2022-03-02 13:45:15 +01:00
parent 534cc4dada
commit 7a6d0015e7

View File

@ -3541,21 +3541,21 @@ privatefiles,moodle|/user/files.php';
if ($oldversion < 2022011100.01) {
// The following blocks have been hidden by default, so they shouldn't be enabled in the Full core preset: Course/site
// summary, RSS feeds, Self completion and Feedback.
$params = ['name' => get_string('fullpreset', 'core_adminpresets'), 'iscore' => 1];
$fullpreset = $DB->get_record('adminpresets', $params);
$params = ['name' => get_string('fullpreset', 'core_adminpresets')];
$fullpreset = $DB->get_record_select('adminpresets', 'name = :name and iscore > 0', $params);
if (!$fullpreset) {
// Full admin preset might have been created using the English name.
$name = get_string_manager()->get_string('fullpreset', 'core_adminpresets', null, 'en');
$params['name'] = $name;
$fullpreset = $DB->get_record('adminpresets', $params);
$fullpreset = $DB->get_record_select('adminpresets', 'name = :name and iscore > 0', $params);
}
if (!$fullpreset) {
// We tried, but we didn't find full by name. Let's find a core preset that sets 'usecomments' setting to 1.
$sql = "SELECT preset.*
FROM {adminpresets} preset
INNER JOIN {adminpresets_it} it ON preset.id = it.adminpresetid
WHERE it.name = :name AND it.value = :value AND preset.iscore = 1";
WHERE it.name = :name AND it.value = :value AND preset.iscore > 0";
$params = ['name' => 'usecomments', 'value' => '1'];
$fullpreset = $DB->get_record_sql($sql, $params);
}
@ -3981,7 +3981,7 @@ privatefiles,moodle|/user/files.php';
$sql = "SELECT preset.*
FROM {adminpresets} preset
INNER JOIN {adminpresets_it} it ON preset.id = it.adminpresetid
WHERE it.name = :name AND it.value = :value AND preset.iscore = 1";
WHERE it.name = :name AND it.value = :value AND preset.iscore > 0";
// Some settings and plugins have been added/removed to the Starter and Full preset. Add them to the core presets if
// they haven't been included yet.
$params = ['name' => get_string('starterpreset', 'core_adminpresets'), 'iscore' => 1];
@ -3998,13 +3998,13 @@ privatefiles,moodle|/user/files.php';
$starterpreset = $DB->get_record_sql($sql, $params);
}
$params = ['name' => get_string('fullpreset', 'core_adminpresets'), 'iscore' => 1];
$fullpreset = $DB->get_record('adminpresets', $params);
$params = ['name' => get_string('fullpreset', 'core_adminpresets')];
$fullpreset = $DB->get_record_select('adminpresets', 'name = :name and iscore > 0', $params);
if (!$fullpreset) {
// Full admin preset might have been created using the English name.
$name = get_string_manager()->get_string('fullpreset', 'core_adminpresets', null, 'en');
$params['name'] = $name;
$fullpreset = $DB->get_record('adminpresets', $params);
$fullpreset = $DB->get_record_select('adminpresets', 'name = :name and iscore > 0', $params);
}
if (!$fullpreset) {
// We tried, but we didn't find full by name. Let's find a core preset that sets 'usecomments' setting to 1.
@ -4154,7 +4154,7 @@ privatefiles,moodle|/user/files.php';
$sql = "SELECT preset.*
FROM {adminpresets} preset
INNER JOIN {adminpresets_it} it ON preset.id = it.adminpresetid
WHERE it.name = :name AND it.value = :value AND preset.iscore = 1";
WHERE it.name = :name AND it.value = :value AND preset.iscore > 0";
$name = get_string('starterpreset', 'core_adminpresets');
$params = ['name' => $name, 'iscore' => 1];
@ -4180,13 +4180,13 @@ privatefiles,moodle|/user/files.php';
// Let's mark Full admin presets with current FULL_PRESETS value and change the name to current language.
$name = get_string('fullpreset', 'core_adminpresets');
$params = ['name' => $name, 'iscore' => 1];
$fullpreset = $DB->get_record('adminpresets', $params);
$params = ['name' => $name];
$fullpreset = $DB->get_record_select('adminpresets', 'name = :name and iscore > 0', $params);
if (!$fullpreset) {
// Full admin preset might have been created using the English name.
$englishname = get_string_manager()->get_string('fullpreset', 'core_adminpresets', null, 'en');
$params['name'] = $englishname;
$fullpreset = $DB->get_record('adminpresets', $params);
$fullpreset = $DB->get_record_select('adminpresets', 'name = :name and iscore > 0', $params);
}
if (!$fullpreset) {
// We tried, but we didn't find full by name. Let's find a core preset that sets 'usecomments' setting to 1.