From 7361129133e13cdbdead26f52804c03605854821 Mon Sep 17 00:00:00 2001 From: Russell Smith Date: Thu, 3 Dec 2015 19:08:09 +1100 Subject: [PATCH 1/2] MDL-52402 backup: Improve debugging output on failed log restores --- backup/util/helper/restore_logs_processor.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backup/util/helper/restore_logs_processor.class.php b/backup/util/helper/restore_logs_processor.class.php index 585d9b432fd..bc2c2b60a68 100644 --- a/backup/util/helper/restore_logs_processor.class.php +++ b/backup/util/helper/restore_logs_processor.class.php @@ -89,11 +89,12 @@ class restore_logs_processor { } // Arrived here log is empty, no rule was able to perform the conversion, log the problem if (empty($newlog)) { - self::$task->log('Log module-action "' . $keyname . '" process problem. Not restored', backup::LOG_DEBUG); + self::$task->log('Log module-action "' . $keyname . '" process problem. Not restored. ' . + json_encode($log), backup::LOG_DEBUG); } } else { // Action not found log the problem - self::$task->log('Log module-action "' . $keyname . '" unknown. Not restored', backup::LOG_DEBUG); + self::$task->log('Log module-action "' . $keyname . '" unknown. Not restored. '.json_encode($log), backup::LOG_DEBUG); $newlog = false; } From a17167118aae1b83a1a333df9d47b2e1dad36e43 Mon Sep 17 00:00:00 2001 From: Russell Smith Date: Thu, 3 Dec 2015 19:09:26 +1100 Subject: [PATCH 2/2] MDL-52402 backup, quiz: Fix attempt token and add missing rule. --- .../restore_quiz_activity_task.class.php | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/mod/quiz/backup/moodle2/restore_quiz_activity_task.class.php b/mod/quiz/backup/moodle2/restore_quiz_activity_task.class.php index e9c832ade89..c7b99fc36dd 100644 --- a/mod/quiz/backup/moodle2/restore_quiz_activity_task.class.php +++ b/mod/quiz/backup/moodle2/restore_quiz_activity_task.class.php @@ -113,55 +113,58 @@ class restore_quiz_activity_task extends restore_activity_task { $rules[] = new restore_log_rule('quiz', 'addcategory', 'view.php?id={course_module}', '{question_category}'); $rules[] = new restore_log_rule('quiz', 'view summary', - 'summary.php?attempt={quiz_attempt_id}', '{quiz}'); + 'summary.php?attempt={quiz_attempt}', '{quiz}'); $rules[] = new restore_log_rule('quiz', 'manualgrade', - 'comment.php?attempt={quiz_attempt_id}&question={question}', '{quiz}'); + 'comment.php?attempt={quiz_attempt}&question={question}', '{quiz}'); $rules[] = new restore_log_rule('quiz', 'manualgrading', 'report.php?mode=grading&q={quiz}', '{quiz}'); // All the ones calling to review.php have two rules to handle both old and new urls // in any case they are always converted to new urls on restore. // TODO: In Moodle 2.x (x >= 5) kill the old rules. - // Note we are using the 'quiz_attempt_id' mapping because that is the + // Note we are using the 'quiz_attempt' mapping because that is the // one containing the quiz_attempt->ids old an new for quiz-attempt. $rules[] = new restore_log_rule('quiz', 'attempt', 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', null, null, 'review.php?attempt={quiz_attempt}'); + $rules[] = new restore_log_rule('quiz', 'attempt', + 'review.php?attempt={quiz_attempt}', '{quiz}', + null, null, 'review.php?attempt={quiz_attempt}'); // Old an new for quiz-submit. $rules[] = new restore_log_rule('quiz', 'submit', - 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}', - null, null, 'review.php?attempt={quiz_attempt_id}'); + 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', + null, null, 'review.php?attempt={quiz_attempt}'); $rules[] = new restore_log_rule('quiz', 'submit', - 'review.php?attempt={quiz_attempt_id}', '{quiz}'); + 'review.php?attempt={quiz_attempt}', '{quiz}'); // Old an new for quiz-review. $rules[] = new restore_log_rule('quiz', 'review', - 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}', - null, null, 'review.php?attempt={quiz_attempt_id}'); + 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', + null, null, 'review.php?attempt={quiz_attempt}'); $rules[] = new restore_log_rule('quiz', 'review', - 'review.php?attempt={quiz_attempt_id}', '{quiz}'); + 'review.php?attempt={quiz_attempt}', '{quiz}'); // Old an new for quiz-start attemp. $rules[] = new restore_log_rule('quiz', 'start attempt', - 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}', - null, null, 'review.php?attempt={quiz_attempt_id}'); + 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', + null, null, 'review.php?attempt={quiz_attempt}'); $rules[] = new restore_log_rule('quiz', 'start attempt', - 'review.php?attempt={quiz_attempt_id}', '{quiz}'); + 'review.php?attempt={quiz_attempt}', '{quiz}'); // Old an new for quiz-close attemp. $rules[] = new restore_log_rule('quiz', 'close attempt', - 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}', - null, null, 'review.php?attempt={quiz_attempt_id}'); + 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', + null, null, 'review.php?attempt={quiz_attempt}'); $rules[] = new restore_log_rule('quiz', 'close attempt', - 'review.php?attempt={quiz_attempt_id}', '{quiz}'); + 'review.php?attempt={quiz_attempt}', '{quiz}'); // Old an new for quiz-continue attempt. $rules[] = new restore_log_rule('quiz', 'continue attempt', - 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}', - null, null, 'review.php?attempt={quiz_attempt_id}'); + 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', + null, null, 'review.php?attempt={quiz_attempt}'); $rules[] = new restore_log_rule('quiz', 'continue attempt', - 'review.php?attempt={quiz_attempt_id}', '{quiz}'); + 'review.php?attempt={quiz_attempt}', '{quiz}'); // Old an new for quiz-continue attemp. $rules[] = new restore_log_rule('quiz', 'continue attemp', - 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}', - null, 'continue attempt', 'review.php?attempt={quiz_attempt_id}'); + 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}', + null, 'continue attempt', 'review.php?attempt={quiz_attempt}'); $rules[] = new restore_log_rule('quiz', 'continue attemp', - 'review.php?attempt={quiz_attempt_id}', '{quiz}', + 'review.php?attempt={quiz_attempt}', '{quiz}', null, 'continue attempt'); return $rules;