Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/blocks/html/backup/moodle2/restore_html_block_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 
00031 class restore_html_block_task extends restore_block_task {
00032 
00033     protected function define_my_settings() {
00034     }
00035 
00036     protected function define_my_steps() {
00037     }
00038 
00039     public function get_fileareas() {
00040         return array('content');
00041     }
00042 
00043     public function get_configdata_encoded_attributes() {
00044         return array('text'); // We need to encode some attrs in configdata
00045     }
00046 
00047     static public function define_decode_contents() {
00048 
00049         $contents = array();
00050 
00051         $contents[] = new restore_html_block_decode_content('block_instances', 'configdata', 'block_instance');
00052 
00053         return $contents;
00054     }
00055 
00056     static public function define_decode_rules() {
00057         return array();
00058     }
00059 }
00060 
00066 class restore_html_block_decode_content extends restore_decode_content {
00067 
00068     protected $configdata; // Temp storage for unserialized configdata
00069 
00070     protected function get_iterator() {
00071         global $DB;
00072 
00073         // Build the SQL dynamically here
00074         $fieldslist = 't.' . implode(', t.', $this->fields);
00075         $sql = "SELECT t.id, $fieldslist
00076                   FROM {" . $this->tablename . "} t
00077                   JOIN {backup_ids_temp} b ON b.newitemid = t.id
00078                  WHERE b.backupid = ?
00079                    AND b.itemname = ?
00080                    AND t.blockname = 'html'";
00081         $params = array($this->restoreid, $this->mapping);
00082         return ($DB->get_recordset_sql($sql, $params));
00083     }
00084 
00085     protected function preprocess_field($field) {
00086         $this->configdata = unserialize(base64_decode($field));
00087         return isset($this->configdata->text) ? $this->configdata->text : '';
00088     }
00089 
00090     protected function postprocess_field($field) {
00091         $this->configdata->text = $field;
00092         return base64_encode(serialize($this->configdata));
00093     }
00094 }
 All Data Structures Namespaces Files Functions Variables Enumerations