diff options
Diffstat (limited to 'engine/lib/elgglib.php')
| -rw-r--r-- | engine/lib/elgglib.php | 46 | 
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 | 
