|
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 00033 class memory_xml_output extends xml_output{ 00034 00035 protected $allcontents; // Here we'll store all the written contents 00036 00037 public function __construct() { 00038 $this->allcontents = ''; 00039 parent::__construct(false); // disable buffering 00040 } 00041 00042 public function get_allcontents() { 00043 if ($this->running !== false) { 00044 throw new xml_output_exception('xml_output_not_stopped'); 00045 } 00046 return $this->allcontents; 00047 } 00048 00049 // Private API starts here 00050 00051 protected function init() { 00052 // Easy :-) 00053 } 00054 00055 protected function finish() { 00056 // Trivial :-) 00057 } 00058 00059 protected function send($content) { 00060 // Accumulate contents 00061 $this->allcontents .= $content; 00062 } 00063 00064 }