diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 4f629ed0c2c..eabda1f6ff7 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); } @@ -3983,7 +3983,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]; @@ -4000,13 +4000,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. @@ -4177,7 +4177,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]; @@ -4203,13 +4203,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.