From 7a6d0015e7a3b5a2658852fff1b21f0402b1f998 Mon Sep 17 00:00:00 2001 From: Amaia Anabitarte Date: Wed, 2 Mar 2022 13:45:15 +0100 Subject: [PATCH] MDL-73953 core_adminpresets: Fixing latest created Full preset --- lib/db/upgrade.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 979fc186e37..23044aebccf 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -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.