|
Moodle
2.2.1
http://www.collinsharper.com
|
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 }