// It exists to provide a more object-oriented interface to some of
// Moodle's main library functions, for use by external programs.
//
-// Thanks to Greg Barnett from Crown College for this code
+// Thanks to Greg Barnett from Crown College for ideas and code
// Usage example (from an external program):
//
-// require("blah/moodle/lib/makeclass.php");
-// makeClassFromFile("blah/moodle/lib/moodlelib.php", "moodlelib");
-//
-// moodle::isteacher($courseID); // for example ...
+// /// Set things up
+// $external_moodle_access = true; // Affects setup.php
+// require_once("moodle/lib/makeclass.php"); // This file
+// makeClassFromFile("moodlelib.php", "moodlelib"); // File in $CFG->libdir
//
+// /// Call moodle functions like this
+// moodle::isteacher($courseID);
+
+require_once("../config.php");
function makeClassFromFile($file, $classname) {
+ global $CFG;
+
+ $file = "$CFG->libdir/$file";
+
# sanity checks
assert('is_file($file)');
assert('!class_exists($classname)');
/// Load up standard libraries
- require("$CFG->libdir/weblib.php"); // Standard web page functions
- require("$CFG->libdir/moodlelib.php"); // Various Moodle functions
+ if (!isset($external_moodle_access)) { // See lib/makeclass.php
+ require("$CFG->libdir/weblib.php"); // Standard web page functions
+ require("$CFG->libdir/moodlelib.php"); // Various Moodle functions
+ }
/// Set error reporting back to normal