aboutsummaryrefslogtreecommitdiff
path: root/engine/lib
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib')
-rw-r--r--engine/lib/elgglib.php46
1 files changed, 46 insertions, 0 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index f41e5fd6a..2184fee41 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -34,6 +34,7 @@ function _elgg_autoload($class) {
* @param string $dir The dir to look in
*
* @return void
+ * @since 1.8.0
*/
function elgg_register_classes($dir) {
$classes = elgg_get_file_list($dir, array(), array(), array('.php'));
@@ -50,6 +51,7 @@ function elgg_register_classes($dir) {
* @param string $location The location of the file
*
* @return void
+ * @since 1.8.0
*/
function elgg_register_class($class, $location) {
global $CONFIG;
@@ -62,6 +64,50 @@ function elgg_register_class($class, $location) {
}
/**
+ * Register a php library.
+ *
+ * @param string $name The name of the library
+ * @param string $location The location of the file
+ *
+ * @return void
+ * @since 1.8.0
+ */
+function elgg_register_library($name, $location) {
+ global $CONFIG;
+
+ if (!isset($CONFIG->libraries)) {
+ $CONFIG->libraries = array();
+ }
+
+ $CONFIG->libraries[$name] = $location;
+}
+
+/**
+ * Load a php library.
+ *
+ * @param string $name The name of the library
+ *
+ * @return void
+ * @throws Exception
+ * @since 1.8.0
+ */
+function elgg_load_library($name) {
+ global $CONFIG;
+
+ if (!isset($CONFIG->libraries)) {
+ $CONFIG->libraries = array();
+ }
+
+ if (!isset($CONFIG->libraries[$name])) {
+ throw new Exception("Failed to load the $name library");
+ }
+
+ if (!include_once($CONFIG->libraries[$name])) {
+ throw new Exception("Failed to load the $name library");
+ }
+}
+
+/**
* Forward to $location.
*
* Sends a 'Location: $location' header and exists. If headers have