| [ Index ] |
PHP Cross Reference of Moodle 1.9.3 [Build 15-Oct-2008] |
[Summary view] [Print] [Text view]
1 <?php // $Id: index.php,v 1.9.2.1 2008/05/02 04:07:29 dongsheng 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 is the main script for the complete XMLDB interface. From here 28 /// all the actions supported will be launched. 29 30 /// Add required XMLDB constants 31 require_once ('../../lib/xmldb/classes/XMLDBConstants.php'); 32 33 /// Add required XMLDB action classes 34 require_once ('actions/XMLDBAction.class.php'); 35 36 /// Add main XMLDB Generator 37 require_once ('../../lib/xmldb/classes/generators/XMLDBGenerator.class.php'); 38 39 /// Add required XMLDB DB classes 40 require_once ('../../lib/xmldb/classes/XMLDBObject.class.php'); 41 require_once ('../../lib/xmldb/classes/XMLDBFile.class.php'); 42 require_once ('../../lib/xmldb/classes/XMLDBStructure.class.php'); 43 require_once ('../../lib/xmldb/classes/XMLDBTable.class.php'); 44 require_once ('../../lib/xmldb/classes/XMLDBField.class.php'); 45 require_once ('../../lib/xmldb/classes/XMLDBKey.class.php'); 46 require_once ('../../lib/xmldb/classes/XMLDBIndex.class.php'); 47 require_once ('../../lib/xmldb/classes/XMLDBStatement.class.php'); 48 49 /// Add Moodle config script (this is loaded AFTER all the rest 50 /// of classes because it starts the SESSION and classes to be 51 /// stored there MUST be declared before in order to avoid 52 /// getting "incomplete" objects 53 require_once('../../config.php'); 54 require_once($CFG->libdir.'/adminlib.php'); 55 require_once($CFG->libdir.'/ddllib.php'); // Install/upgrade related db functions 56 57 admin_externalpage_setup('xmldbeditor'); 58 59 /// Add other used libraries 60 require_once($CFG->libdir . '/xmlize.php'); 61 62 /// Add all the available SQL generators 63 $generators = get_list_of_plugins('lib/xmldb/classes/generators'); 64 foreach($generators as $generator) { 65 require_once ('../../lib/xmldb/classes/generators/' . $generator . '/' . $generator . '.class.php'); 66 } 67 68 /// Handle session data 69 global $XMLDB; 70 /// The global SESSION object where everything will happen 71 if (!isset($SESSION->xmldb)) { 72 $SESSION->xmldb = new stdClass; 73 } 74 $XMLDB =& $SESSION->xmldb; 75 76 /// Some previous checks 77 if (! $site = get_site()) { 78 redirect("$CFG->wwwroot/$CFG->admin/index.php"); 79 } 80 81 require_login(); 82 require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM)); 83 84 /// Body of the script, based on action, we delegate the work 85 $action = optional_param ('action', 'main_view', PARAM_ALPHAEXT); 86 87 /// Get the action path and invoke it 88 $actionsroot = "$CFG->dirroot/$CFG->admin/xmldb/actions"; 89 $actionclass = $action . '.class.php'; 90 $actionpath = "$actionsroot/$action/$actionclass"; 91 92 /// Load and invoke the proper action 93 if (file_exists($actionpath) && is_readable($actionpath)) { 94 require_once($actionpath); 95 if ($xmldb_action = new $action) { 96 //Invoke it 97 $result = $xmldb_action->invoke(); 98 if ($result) { 99 /// Based on getDoesGenerate() 100 switch ($xmldb_action->getDoesGenerate()) { 101 case ACTION_GENERATE_HTML: 102 /// Define $CFG->javascript to use our custom javascripts. 103 /// Save the original one to add it from ours. Global too! :-( 104 global $standard_javascript; 105 $standard_javascript = $CFG->javascript; // Save original javascript file 106 $CFG->javascript = $CFG->dirroot.'/'.$CFG->admin.'/xmldb/javascript.php'; //Use our custom javascript code 107 /// Go with standard admin header 108 admin_externalpage_print_header(); 109 print_heading($xmldb_action->getTitle()); 110 echo $xmldb_action->getOutput(); 111 admin_externalpage_print_footer(); 112 break; 113 case ACTION_GENERATE_XML: 114 header('Content-type: application/xhtml+xml'); 115 echo $xmldb_action->getOutput(); 116 break; 117 } 118 } else { 119 error($xmldb_action->getError()); 120 } 121 } else { 122 error ("Error: cannot instantiate class (actions/$action/$actionclass)"); 123 } 124 } else { 125 error ("Error: wrong action specified ($action)"); 126 } 127 128 if ($xmldb_action->getDoesGenerate() != ACTION_GENERATE_XML) { 129 if (debugging()) { 130 ///print_object($XMLDB); 131 } 132 } 133 134 ?>
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 |