| [ Index ] |
PHP Cross Reference of Moodle 1.9.3 [Build 15-Oct-2008] |
[Summary view] [Print] [Text view]
1 <?php // $Id: view_statement_xml.class.php,v 1.4 2007/10/10 05:25:31 nicolasconnault Exp $ 2 3 /////////////////////////////////////////////////////////////////////////// 4 // // 5 // NOTICE OF COPYRIGHT // 6 // // 7 // Moodle - Modular Object-Oriented Dynamic Learning Environment // 8 // http://moodle.com // 9 // // 10 // Copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com // 11 // (C) 2001-3001 Eloy Lafuente (stronk7) http://contiento.com // 12 // // 13 // This program is free software; you can redistribute it and/or modify // 14 // it under the terms of the GNU General Public License as published by // 15 // the Free Software Foundation; either version 2 of the License, or // 16 // (at your option) any later version. // 17 // // 18 // This program is distributed in the hope that it will be useful, // 19 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 21 // GNU General Public License for more details: // 22 // // 23 // http://www.gnu.org/copyleft/gpl.html // 24 // // 25 /////////////////////////////////////////////////////////////////////////// 26 27 /// This class will display the XML for one statement being edited 28 29 class view_statement_xml extends XMLDBAction { 30 31 /** 32 * Init method, every subclass will have its own 33 */ 34 function init() { 35 parent::init(); 36 37 /// Set own custom attributes 38 39 /// Get needed strings 40 $this->loadStrings(array( 41 /// 'key' => 'module', 42 )); 43 } 44 45 /** 46 * Invoke method, every class will have its own 47 * returns true/false on completion, setting both 48 * errormsg and output as necessary 49 */ 50 function invoke() { 51 parent::invoke(); 52 53 $result = true; 54 55 /// Set own core attributes 56 $this->does_generate = ACTION_GENERATE_XML; 57 58 /// These are always here 59 global $CFG, $XMLDB; 60 61 /// Do the job, setting result as needed 62 63 /// Get the file parameter 64 $statement = required_param('statement', PARAM_CLEAN); 65 $select = required_param('select', PARAM_ALPHA); //original/edited 66 /// Get the dir containing the file 67 $dirpath = required_param('dir', PARAM_PATH); 68 $dirpath = $CFG->dirroot . stripslashes_safe($dirpath); 69 70 /// Get the correct dir 71 if ($select == 'original') { 72 if (!empty($XMLDB->dbdirs)) { 73 $base =& $XMLDB->dbdirs[$dirpath]; 74 } 75 } else if ($select == 'edited') { 76 if (!empty($XMLDB->editeddirs)) { 77 $base =& $XMLDB->editeddirs[$dirpath]; 78 } 79 } else { 80 $this->errormsg = 'Cannot access to ' . $select . ' info'; 81 $result = false; 82 } 83 if ($base) { 84 /// Only if the directory exists and it has been loaded 85 if (!$base->path_exists || !$base->xml_loaded) { 86 $this->errormsg = 'Directory ' . $dirpath . ' not loaded'; 87 return false; 88 } 89 } else { 90 $this->errormsg = 'Problem handling ' . $select . ' files'; 91 return false; 92 } 93 94 /// Get the structure 95 if ($result) { 96 if (!$structure =& $base->xml_file->getStructure()) { 97 $this->errormsg = 'Error retrieving ' . $select . ' structure'; 98 $result = false; 99 } 100 } 101 /// Get the statements 102 if ($result) { 103 if (!$statements =& $structure->getStatements()) { 104 $this->errormsg = 'Error retrieving ' . $select . ' statements'; 105 $result = false; 106 } 107 } 108 /// Get the statement 109 if ($result && !$t =& $structure->getStatement($statement)) { 110 $this->errormsg = 'Error retrieving ' . $statement . ' statement'; 111 $result = false; 112 } 113 114 if ($result) { 115 /// Everything is ok. Generate the XML output 116 $this->output = $t->xmlOutput(); 117 } else { 118 /// Switch to HTML and error 119 $this->does_generate = ACTION_GENERATE_HTML; 120 } 121 122 /// Return ok if arrived here 123 return $result; 124 } 125 } 126 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed Jan 14 11:33:29 2009 | Cross-referenced by PHPXref 0.7 |