From 6517017975f64de29574c2ad95cd5a74beb9906b Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Wed, 28 Jul 2010 01:35:56 +0000 Subject: [PATCH] MDL-23479 Page Restore code - fix comments in label code. --- .../restore_label_activity_task.class.php | 6 +- .../backup/moodle2/restore_label_stepslib.php | 2 +- .../restore_page_activity_task.class.php | 75 +++++++++++++++++++ .../backup/moodle2/restore_page_stepslib.php | 56 ++++++++++++++ 4 files changed, 135 insertions(+), 4 deletions(-) create mode 100644 mod/page/backup/moodle2/restore_page_activity_task.class.php create mode 100644 mod/page/backup/moodle2/restore_page_stepslib.php diff --git a/mod/label/backup/moodle2/restore_label_activity_task.class.php b/mod/label/backup/moodle2/restore_label_activity_task.class.php index 8f5e0fafe71..6de3e2dd2b1 100644 --- a/mod/label/backup/moodle2/restore_label_activity_task.class.php +++ b/mod/label/backup/moodle2/restore_label_activity_task.class.php @@ -27,7 +27,7 @@ defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot . '/mod/label/backup/moodle2/restore_label_stepslib.php'); // Because it exists (must) /** - * url restore task that provides all the settings and steps to perform one + * label restore task that provides all the settings and steps to perform one * complete restore of the activity */ class restore_label_activity_task extends restore_activity_task { @@ -66,8 +66,8 @@ class restore_label_activity_task extends restore_activity_task { static public function define_decode_rules() { $rules = array(); - $rules[] = new restore_decode_rule('LABELVIEWBYID', '/mod/url/view.php?id=$1', 'course_module'); - $rules[] = new restore_decode_rule('LABELINDEX', '/mod/url/index.php?id=$1', 'course'); + $rules[] = new restore_decode_rule('LABELVIEWBYID', '/mod/label/view.php?id=$1', 'course_module'); + $rules[] = new restore_decode_rule('LABELINDEX', '/mod/label/index.php?id=$1', 'course'); return $rules; diff --git a/mod/label/backup/moodle2/restore_label_stepslib.php b/mod/label/backup/moodle2/restore_label_stepslib.php index e39f7cee5db..67d1a082d94 100644 --- a/mod/label/backup/moodle2/restore_label_stepslib.php +++ b/mod/label/backup/moodle2/restore_label_stepslib.php @@ -47,7 +47,7 @@ class restore_label_activity_structure_step extends restore_activity_structure_s $oldid = $data->id; $data->course = $this->get_courseid(); - // insert the url record + // insert the label record $newitemid = $DB->insert_record('label', $data); // inmediately after inserting "activity" record, call this $this->apply_activity_instance($newitemid); diff --git a/mod/page/backup/moodle2/restore_page_activity_task.class.php b/mod/page/backup/moodle2/restore_page_activity_task.class.php new file mode 100644 index 00000000000..9b34c66e15a --- /dev/null +++ b/mod/page/backup/moodle2/restore_page_activity_task.class.php @@ -0,0 +1,75 @@ +. + +/** + * @package moodlecore + * @subpackage backup-moodle2 + * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +require_once($CFG->dirroot . '/mod/page/backup/moodle2/restore_page_stepslib.php'); // Because it exists (must) + +/** + * page restore task that provides all the settings and steps to perform one + * complete restore of the activity + */ +class restore_page_activity_task extends restore_activity_task { + + /** + * Define (add) particular settings this activity can have + */ + protected function define_my_settings() { + // No particular settings for this activity + } + + /** + * Define (add) particular steps this activity can have + */ + protected function define_my_steps() { + // label only has one structure step + $this->add_step(new restore_page_activity_structure_step('page_structure', 'page.xml')); + } + + /** + * Define the contents in the activity that must be + * processed by the link decoder + */ + static public function define_decode_contents() { + $contents = array(); + + $contents[] = new restore_decode_content('page', array('intro', 'content'), 'page'); + + return $contents; + } + + /** + * Define the decoding rules for links belonging + * to the activity to be executed by the link decoder + */ + static public function define_decode_rules() { + $rules = array(); + + $rules[] = new restore_decode_rule('PAGEVIEWBYID', '/mod/page/view.php?id=$1', 'course_module'); + $rules[] = new restore_decode_rule('PAGEINDEX', '/mod/page/index.php?id=$1', 'course'); + + return $rules; + + } +} diff --git a/mod/page/backup/moodle2/restore_page_stepslib.php b/mod/page/backup/moodle2/restore_page_stepslib.php new file mode 100644 index 00000000000..1832dfa79c0 --- /dev/null +++ b/mod/page/backup/moodle2/restore_page_stepslib.php @@ -0,0 +1,56 @@ +. + +/** + * @package moodlecore + * @subpackage backup-moodle2 + * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +/** + * Define all the restore steps that will be used by the restore_page_activity_task + */ + +/** + * Structure step to restore one page activity + */ +class restore_page_activity_structure_step extends restore_activity_structure_step { + + protected function define_structure() { + + $paths = array(); + $paths[] = new restore_path_element('page', '/activity/page'); + + // Return the paths wrapped into standard activity structure + return $this->prepare_activity_structure($paths); + } + + protected function process_page($data) { + global $DB; + + $data = (object)$data; + $oldid = $data->id; + $data->course = $this->get_courseid(); + + // insert the page record + $newitemid = $DB->insert_record('page', $data); + // inmediately after inserting "activity" record, call this + $this->apply_activity_instance($newitemid); + } + +}