Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/mod/forum/backup/moodle2/restore_forum_activity_task.class.php
Go to the documentation of this file.
00001 <?php
00002 
00003 // This file is part of Moodle - http://moodle.org/
00004 //
00005 // Moodle is free software: you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation, either version 3 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // Moodle is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
00017 
00025 defined('MOODLE_INTERNAL') || die();
00026 
00027 require_once($CFG->dirroot . '/mod/forum/backup/moodle2/restore_forum_stepslib.php'); // Because it exists (must)
00028 
00033 class restore_forum_activity_task extends restore_activity_task {
00034 
00038     protected function define_my_settings() {
00039         // No particular settings for this activity
00040     }
00041 
00045     protected function define_my_steps() {
00046         // Choice only has one structure step
00047         $this->add_step(new restore_forum_activity_structure_step('forum_structure', 'forum.xml'));
00048     }
00049 
00054     static public function define_decode_contents() {
00055         $contents = array();
00056 
00057         $contents[] = new restore_decode_content('forum', array('intro'), 'forum');
00058         $contents[] = new restore_decode_content('forum_posts', array('message'), 'forum_post');
00059 
00060         return $contents;
00061     }
00062 
00067     static public function define_decode_rules() {
00068         $rules = array();
00069 
00070         // List of forums in course
00071         $rules[] = new restore_decode_rule('FORUMINDEX', '/mod/forum/index.php?id=$1', 'course');
00072         // Forum by cm->id and forum->id
00073         $rules[] = new restore_decode_rule('FORUMVIEWBYID', '/mod/forum/view.php?id=$1', 'course_module');
00074         $rules[] = new restore_decode_rule('FORUMVIEWBYF', '/mod/forum/view.php?f=$1', 'forum');
00075         // Link to forum discussion
00076         $rules[] = new restore_decode_rule('FORUMDISCUSSIONVIEW', '/mod/forum/discuss.php?d=$1', 'forum_discussion');
00077         // Link to discussion with parent and with anchor posts
00078         $rules[] = new restore_decode_rule('FORUMDISCUSSIONVIEWPARENT', '/mod/forum/discuss.php?d=$1&parent=$2',
00079                                            array('forum_discussion', 'forum_post'));
00080         $rules[] = new restore_decode_rule('FORUMDISCUSSIONVIEWINSIDE', '/mod/forum/discuss.php?d=$1#$2',
00081                                            array('forum_discussion', 'forum_post'));
00082 
00083         return $rules;
00084     }
00085 
00092     static public function define_restore_log_rules() {
00093         $rules = array();
00094 
00095         $rules[] = new restore_log_rule('forum', 'add', 'view.php?id={course_module}', '{forum}');
00096         $rules[] = new restore_log_rule('forum', 'update', 'view.php?id={course_module}', '{forum}');
00097         $rules[] = new restore_log_rule('forum', 'view', 'view.php?id={course_module}', '{forum}');
00098         $rules[] = new restore_log_rule('forum', 'view forum', 'view.php?id={course_module}', '{forum}');
00099         $rules[] = new restore_log_rule('forum', 'mark read', 'view.php?f={forum}', '{forum}');
00100         $rules[] = new restore_log_rule('forum', 'start tracking', 'view.php?f={forum}', '{forum}');
00101         $rules[] = new restore_log_rule('forum', 'stop tracking', 'view.php?f={forum}', '{forum}');
00102         $rules[] = new restore_log_rule('forum', 'subscribe', 'view.php?f={forum}', '{forum}');
00103         $rules[] = new restore_log_rule('forum', 'unsubscribe', 'view.php?f={forum}', '{forum}');
00104         $rules[] = new restore_log_rule('forum', 'subscriber', 'subscribers.php?id={forum}', '{forum}');
00105         $rules[] = new restore_log_rule('forum', 'subscribers', 'subscribers.php?id={forum}', '{forum}');
00106         $rules[] = new restore_log_rule('forum', 'view subscribers', 'subscribers.php?id={forum}', '{forum}');
00107         $rules[] = new restore_log_rule('forum', 'add discussion', 'discuss.php?d={forum_discussion}', '{forum_discussion}');
00108         $rules[] = new restore_log_rule('forum', 'view discussion', 'discuss.php?d={forum_discussion}', '{forum_discussion}');
00109         $rules[] = new restore_log_rule('forum', 'move discussion', 'discuss.php?d={forum_discussion}', '{forum_discussion}');
00110         $rules[] = new restore_log_rule('forum', 'delete discussi', 'view.php?id={course_module}', '{forum}',
00111                                         null, 'delete discussion');
00112         $rules[] = new restore_log_rule('forum', 'delete discussion', 'view.php?id={course_module}', '{forum}');
00113         $rules[] = new restore_log_rule('forum', 'add post', 'discuss.php?d={forum_discussion}&parent={forum_post}', '{forum_post}');
00114         $rules[] = new restore_log_rule('forum', 'update post', 'discuss.php?d={forum_discussion}&parent={forum_post}', '{forum_post}');
00115         $rules[] = new restore_log_rule('forum', 'prune post', 'discuss.php?d={forum_discussion}', '{forum_post}');
00116         $rules[] = new restore_log_rule('forum', 'delete post', 'discuss.php?d={forum_discussion}', '[post]');
00117 
00118         return $rules;
00119     }
00120 
00131     static public function define_restore_log_rules_for_course() {
00132         $rules = array();
00133 
00134         $rules[] = new restore_log_rule('forum', 'view forums', 'index.php?id={course}', null);
00135         $rules[] = new restore_log_rule('forum', 'subscribeall', 'index.php?id={course}', '{course}');
00136         $rules[] = new restore_log_rule('forum', 'unsubscribeall', 'index.php?id={course}', '{course}');
00137         $rules[] = new restore_log_rule('forum', 'user report', 'user.php?course={course}&id={user}&mode=[mode]', '{user}');
00138         $rules[] = new restore_log_rule('forum', 'search', 'search.php?id={course}&search=[searchenc]', '[search]');
00139 
00140         return $rules;
00141     }
00142 }
 All Data Structures Namespaces Files Functions Variables Enumerations