Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/mod/choice/backup/moodle2/backup_choice_stepslib.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 
00032 class backup_choice_activity_structure_step extends backup_activity_structure_step {
00033 
00034     protected function define_structure() {
00035 
00036         // To know if we are including userinfo
00037         $userinfo = $this->get_setting_value('userinfo');
00038 
00039         // Define each element separated
00040         $choice = new backup_nested_element('choice', array('id'), array(
00041             'name', 'intro', 'introformat', 'publish',
00042             'showresults', 'display', 'allowupdate', 'showunanswered',
00043             'limitanswers', 'timeopen', 'timeclose', 'timemodified',
00044             'completionsubmit'));
00045 
00046         $options = new backup_nested_element('options');
00047 
00048         $option = new backup_nested_element('option', array('id'), array(
00049             'text', 'maxanswers', 'timemodified'));
00050 
00051         $answers = new backup_nested_element('answers');
00052 
00053         $answer = new backup_nested_element('answer', array('id'), array(
00054             'userid', 'optionid', 'timemodified'));
00055 
00056         // Build the tree
00057         $choice->add_child($options);
00058         $options->add_child($option);
00059 
00060         $choice->add_child($answers);
00061         $answers->add_child($answer);
00062 
00063         // Define sources
00064         $choice->set_source_table('choice', array('id' => backup::VAR_ACTIVITYID));
00065 
00066         $option->set_source_sql('
00067             SELECT *
00068               FROM {choice_options}
00069              WHERE choiceid = ?',
00070             array(backup::VAR_PARENTID));
00071 
00072         // All the rest of elements only happen if we are including user info
00073         if ($userinfo) {
00074             $answer->set_source_table('choice_answers', array('choiceid' => '../../id'));
00075         }
00076 
00077         // Define id annotations
00078         $answer->annotate_ids('user', 'userid');
00079 
00080         // Define file annotations
00081         $choice->annotate_files('mod_choice', 'intro', null); // This file area hasn't itemid
00082 
00083         // Return the root element (choice), wrapped into standard activity structure
00084         return $this->prepare_activity_structure($choice);
00085     }
00086 }
 All Data Structures Namespaces Files Functions Variables Enumerations