From 9ad24a034e94a1ed9c09b5b6effddc85f88a59f4 Mon Sep 17 00:00:00 2001 From: Tim Lock Date: Thu, 9 Jan 2014 10:08:41 +1030 Subject: [PATCH] MDL-36506 mod_book: Skip legacy files migration if missing a CM record --- mod/book/db/upgradelib.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mod/book/db/upgradelib.php b/mod/book/db/upgradelib.php index fa0dc47bd87..73d0a0af59a 100644 --- a/mod/book/db/upgradelib.php +++ b/mod/book/db/upgradelib.php @@ -108,12 +108,16 @@ function mod_book_migrate_moddata_dir_to_legacy($book, $context, $path) { * @return void */ function mod_book_migrate_all_areas() { - global $DB; + global $DB, $OUTPUT; $rsbooks = $DB->get_recordset('book'); foreach($rsbooks as $book) { upgrade_set_timeout(360); // set up timeout, may also abort execution $cm = get_coursemodule_from_instance('book', $book->id); + if (empty($cm) || empty($cm->id)) { + echo $OUTPUT->notification("Course module not found, skipping: {$book->name}"); + continue; + } $context = context_module::instance($cm->id); mod_book_migrate_area($book, 'intro', 'book', $book->course, $context, 'mod_book', 'intro', 0);