|
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 00018 00028 defined('MOODLE_INTERNAL') || die(); 00029 00033 class file_xml_database_importer extends xml_database_importer { 00035 protected $filepath; 00036 00047 public function __construct($filepath, moodle_database $mdb, $check_schema=true) { 00048 $this->filepath = $filepath; 00049 parent::__construct($mdb, $check_schema); 00050 } 00051 00057 public function import_database() { 00058 $file = fopen($this->filepath, 'r'); 00059 $parser = $this->get_parser(); 00060 while ($data = fread($file, 65536)) { 00061 if (!xml_parse($parser, $data, feof($file))) { 00062 throw new dbtransfer_exception('malformedxmlexception'); 00063 } 00064 } 00065 xml_parser_free($parser); 00066 fclose($file); 00067 } 00068 }