From fd526f38ce07c943dca100bbd718e5ab2c42cb9a Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Fri, 5 Aug 2011 22:08:58 +0200 Subject: [PATCH] MDL-28473 fix $instanceids troubles in blocks upgrade MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Credit goes to Mateusz Wójcik. --- lib/db/upgrade.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 7fff4ed9b7e..287977431e6 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2121,7 +2121,7 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL"); $instanceids[] = $blockinstance->id; // If we have more than 1000 block instances now remove all block positions // and empty the array - if (count($contextids) > 1000) { + if (count($instanceids) > 1000) { $instanceidstring = join(',',$instanceids); $DB->delete_records_select('block_positions', 'blockinstanceid IN ('.$instanceidstring.')'); $instanceids = array(); @@ -2131,8 +2131,10 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL"); upgrade_cleanup_unwanted_block_contexts($contextids); - $instanceidstring = join(',',$instanceids); - $DB->delete_records_select('block_positions', 'blockinstanceid IN ('.$instanceidstring.')'); + if ($instanceids) { + $instanceidstring = join(',',$instanceids); + $DB->delete_records_select('block_positions', 'blockinstanceid IN ('.$instanceidstring.')'); + } unset($allblockinstances); unset($contextids);