| [ Index ] |
PHP Cross Reference of Moodle 1.9.3 [Build 15-Oct-2008] |
[Summary view] [Print] [Text view]
1 <?php // $Id: view_key_xml.class.php,v 1.4 2007/10/10 05:25:29 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 key being edited 28 29 class view_key_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 $key = required_param('key', PARAM_PATH); 65 $table = required_param('table', PARAM_PATH); 66 $select = required_param('select', PARAM_ALPHA); //original/edited 67 /// Get the dir containing the file 68 $dirpath = required_param('dir', PARAM_PATH); 69 $dirpath = $CFG->dirroot . stripslashes_safe($dirpath); 70 71 /// Get the correct dir 72 if ($select == 'original') { 73 if (!empty($XMLDB->dbdirs)) { 74 $base =& $XMLDB->dbdirs[$dirpath]; 75 } 76 } else if ($select == 'edited') { 77 if (!empty($XMLDB->editeddirs)) { 78 $base =& $XMLDB->editeddirs[$dirpath]; 79 } 80 } else { 81 $this->errormsg = 'Cannot access to ' . $select . ' info'; 82 $result = false; 83 } 84 if ($base) { 85 /// Only if the directory exists and it has been loaded 86 if (!$base->path_exists || !$base->xml_loaded) { 87 $this->errormsg = 'Directory ' . $dirpath . ' not loaded'; 88 return false; 89 } 90 } else { 91 $this->errormsg = 'Problem handling ' . $select . ' files'; 92 return false; 93 } 94 95 /// Get the structure 96 if ($result) { 97 if (!$structure =& $base->xml_file->getStructure()) { 98 $this->errormsg = 'Error retrieving ' . $select . ' structure'; 99 $result = false; 100 } 101 } 102 /// Get the tables 103 if ($result) { 104 if (!$tables =& $structure->getTables()) { 105 $this->errormsg = 'Error retrieving ' . $select . ' tables'; 106 $result = false; 107 } 108 } 109 /// Get the table 110 if ($result && !$t =& $structure->getTable($table)) { 111 $this->errormsg = 'Error retrieving ' . $table . ' table'; 112 $result = false; 113 } 114 /// Get the keys 115 if ($result) { 116 if (!$keys =& $t->getKeys()) { 117 $this->errormsg = 'Error retrieving ' . $select . ' keys'; 118 $result = false; 119 } 120 } 121 /// Get the key 122 if ($result && !$k = $t->getKey($key)) { 123 $this->errormsg = 'Error retrieving ' . $key . ' key'; 124 $result = false; 125 } 126 127 if ($result) { 128 /// Everything is ok. Generate the XML output 129 $this->output = $k->xmlOutput(); 130 } else { 131 /// Switch to HTML and error 132 $this->does_generate = ACTION_GENERATE_HTML; 133 } 134 135 /// Return ok if arrived here 136 return $result; 137 } 138 } 139 ?>
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 |