Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/mod/quiz/backup/moodle2/restore_quiz_activity_task.class.php
Go to the documentation of this file.
00001 <?php
00002 // This file is part of Moodle - http://moodle.org/
00003 //
00004 // Moodle is free software: you can redistribute it and/or modify
00005 // it under the terms of the GNU General Public License as published by
00006 // the Free Software Foundation, either version 3 of the License, or
00007 // (at your option) any later version.
00008 //
00009 // Moodle is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License
00015 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
00016 
00025 defined('MOODLE_INTERNAL') || die();
00026 
00027 require_once($CFG->dirroot . '/mod/quiz/backup/moodle2/restore_quiz_stepslib.php');
00028 // Because it exists (must)
00029 
00030 
00038 class restore_quiz_activity_task extends restore_activity_task {
00039 
00043     protected function define_my_settings() {
00044         // No particular settings for this activity
00045     }
00046 
00050     protected function define_my_steps() {
00051         // quiz only has one structure step
00052         $this->add_step(new restore_quiz_activity_structure_step('quiz_structure', 'quiz.xml'));
00053     }
00054 
00059     public static function define_decode_contents() {
00060         $contents = array();
00061 
00062         $contents[] = new restore_decode_content('quiz', array('intro'), 'quiz');
00063         $contents[] = new restore_decode_content('quiz_feedback',
00064                 array('feedbacktext'), 'quiz_feedback');
00065 
00066         return $contents;
00067     }
00068 
00073     public static function define_decode_rules() {
00074         $rules = array();
00075 
00076         $rules[] = new restore_decode_rule('QUIZVIEWBYID',
00077                 '/mod/quiz/view.php?id=$1', 'course_module');
00078         $rules[] = new restore_decode_rule('QUIZVIEWBYQ',
00079                 '/mod/quiz/view.php?q=$1', 'quiz');
00080         $rules[] = new restore_decode_rule('QUIZINDEX',
00081                 '/mod/quiz/index.php?id=$1', 'course');
00082 
00083         return $rules;
00084 
00085     }
00086 
00093     public static function define_restore_log_rules() {
00094         $rules = array();
00095 
00096         $rules[] = new restore_log_rule('quiz', 'add',
00097                 'view.php?id={course_module}', '{quiz}');
00098         $rules[] = new restore_log_rule('quiz', 'update',
00099                 'view.php?id={course_module}', '{quiz}');
00100         $rules[] = new restore_log_rule('quiz', 'view',
00101                 'view.php?id={course_module}', '{quiz}');
00102         $rules[] = new restore_log_rule('quiz', 'preview',
00103                 'view.php?id={course_module}', '{quiz}');
00104         $rules[] = new restore_log_rule('quiz', 'report',
00105                 'report.php?id={course_module}', '{quiz}');
00106         $rules[] = new restore_log_rule('quiz', 'editquestions',
00107                 'view.php?id={course_module}', '{quiz}');
00108         $rules[] = new restore_log_rule('quiz', 'delete attempt',
00109                 'report.php?id={course_module}', '[oldattempt]');
00110         $rules[] = new restore_log_rule('quiz', 'edit override',
00111                 'overrideedit.php?id={quiz_override}', '{quiz}');
00112         $rules[] = new restore_log_rule('quiz', 'delete override',
00113                 'overrides.php.php?cmid={course_module}', '{quiz}');
00114         $rules[] = new restore_log_rule('quiz', 'addcategory',
00115                 'view.php?id={course_module}', '{question_category}');
00116         $rules[] = new restore_log_rule('quiz', 'view summary',
00117                 'summary.php?attempt={quiz_attempt_id}', '{quiz}');
00118         $rules[] = new restore_log_rule('quiz', 'manualgrade',
00119                 'comment.php?attempt={quiz_attempt_id}&question={question}', '{quiz}');
00120         $rules[] = new restore_log_rule('quiz', 'manualgrading',
00121                 'report.php?mode=grading&q={quiz}', '{quiz}');
00122         // All the ones calling to review.php have two rules to handle both old and new urls
00123         // in any case they are always converted to new urls on restore
00124         // TODO: In Moodle 2.x (x >= 5) kill the old rules
00125         // Note we are using the 'quiz_attempt_id' mapping because that is the
00126         // one containing the quiz_attempt->ids old an new for quiz-attempt
00127         $rules[] = new restore_log_rule('quiz', 'attempt',
00128                 'review.php?id={course_module}&attempt={quiz_attempt}', '{quiz}',
00129                 null, null, 'review.php?attempt={quiz_attempt}');
00130         // old an new for quiz-submit
00131         $rules[] = new restore_log_rule('quiz', 'submit',
00132                 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}',
00133                 null, null, 'review.php?attempt={quiz_attempt_id}');
00134         $rules[] = new restore_log_rule('quiz', 'submit',
00135                 'review.php?attempt={quiz_attempt_id}', '{quiz}');
00136         // old an new for quiz-review
00137         $rules[] = new restore_log_rule('quiz', 'review',
00138                 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}',
00139                 null, null, 'review.php?attempt={quiz_attempt_id}');
00140         $rules[] = new restore_log_rule('quiz', 'review',
00141                 'review.php?attempt={quiz_attempt_id}', '{quiz}');
00142         // old an new for quiz-start attemp
00143         $rules[] = new restore_log_rule('quiz', 'start attempt',
00144                 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}',
00145                 null, null, 'review.php?attempt={quiz_attempt_id}');
00146         $rules[] = new restore_log_rule('quiz', 'start attempt',
00147                 'review.php?attempt={quiz_attempt_id}', '{quiz}');
00148         // old an new for quiz-close attemp
00149         $rules[] = new restore_log_rule('quiz', 'close attempt',
00150                 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}',
00151                 null, null, 'review.php?attempt={quiz_attempt_id}');
00152         $rules[] = new restore_log_rule('quiz', 'close attempt',
00153                 'review.php?attempt={quiz_attempt_id}', '{quiz}');
00154         // old an new for quiz-continue attempt
00155         $rules[] = new restore_log_rule('quiz', 'continue attempt',
00156                 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}',
00157                 null, null, 'review.php?attempt={quiz_attempt_id}');
00158         $rules[] = new restore_log_rule('quiz', 'continue attempt',
00159                 'review.php?attempt={quiz_attempt_id}', '{quiz}');
00160         // old an new for quiz-continue attemp
00161         $rules[] = new restore_log_rule('quiz', 'continue attemp',
00162                 'review.php?id={course_module}&attempt={quiz_attempt_id}', '{quiz}',
00163                 null, 'continue attempt', 'review.php?attempt={quiz_attempt_id}');
00164         $rules[] = new restore_log_rule('quiz', 'continue attemp',
00165                 'review.php?attempt={quiz_attempt_id}', '{quiz}',
00166                 null, 'continue attempt');
00167 
00168         return $rules;
00169     }
00170 
00181     public static function define_restore_log_rules_for_course() {
00182         $rules = array();
00183 
00184         $rules[] = new restore_log_rule('quiz', 'view all', 'index.php?id={course}', null);
00185 
00186         return $rules;
00187     }
00188 }
 All Data Structures Namespaces Files Functions Variables Enumerations