From 146062199ca57fdf34ff3a7acc603c63b644e290 Mon Sep 17 00:00:00 2001 From: ben Date: Tue, 8 Apr 2008 16:48:35 +0000 Subject: Incorporating setup fixes from Rolando git-svn-id: https://code.elgg.org/elgg/trunk@423 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 4 ++-- engine/lib/users.php | 49 +++++++++++++++++++++++++------------------------ engine/start.php | 32 ++++++++++++++++++++------------ 3 files changed, 47 insertions(+), 38 deletions(-) diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index dd7f877dd..94959496e 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -432,12 +432,12 @@ * @return array Array of full filenames */ function get_library_files($directory, $file_exceptions = array(), $file_list = array()) { - + $extensions_allowed = array('.php'); if (is_file($directory) && !in_array($directory,$file_exceptions)) { $file_list[] = $directory; } else if ($handle = opendir($directory)) { while ($file = readdir($handle)) { - if (!in_array($file,$file_exceptions)) { + if (in_array(strrchr($file, '.'), $extensions_allowed) && !in_array($file,$file_exceptions)) { $file_list = get_library_files($directory . "/" . $file, $file_exceptions, $file_list); } } diff --git a/engine/lib/users.php b/engine/lib/users.php index cdd7f9a3d..68383d8e5 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -58,7 +58,7 @@ // Is $guid is a DB row - either a entity row, or a user table row. if ($guid instanceof stdClass) { // Load the rest - if (!$this->load($guid->guid)) + if (!$this->load($guid->guid)) throw new IOException("Failed to load new ElggUser from GUID:$guid->guid"); } @@ -261,7 +261,7 @@ public function getCollections($subtype="", $limit = 10, $offset = 0) { return get_user_collections($this->getGUID(), $subtype, $limit, $offset); } } - + /** * Return the user specific details of a user by a row. * @@ -417,27 +417,28 @@ $ntt = get_entities('object',$subtype, $user_guid, "time_created desc", $limit, $offset); return $ntt; } - - /** - * Get a user object from a GUID. - * - * This function returns an ElggUser from a given GUID. - * @param int $guid The GUID - * @return ElggUser|false - * @throws InvalidParameterException if $GUID exists but is not an ElggUser. - */ - function get_user($guid) - { - $result = get_entity($guid); - - if (($result) && (!($result instanceof ElggUser))) - throw new InvalidParameterException("GUID:$guid is not an ElggUser"); - - if ($result) - return $result; - - return false; - } + + /** + * Get a user object from a GUID. + * + * This function returns an ElggUser from a given GUID. + * @param int $guid The GUID + * @return ElggUser|false + * @throws InvalidParameterException if $GUID exists but is not an ElggUser. + */ + function get_user($guid) + { + if (!empty($guid)) // Fixes "Exception thrown without stack frame" when db_select fails + $result = get_entity($guid); + + if (($result) && (!($result instanceof ElggUser))) + throw new InvalidParameterException("GUID:$guid is not an ElggUser"); + + if ($result) + return $result; + + return false; + } /** * Get user by username @@ -474,7 +475,7 @@ return new ElggUser($row); return false; - } + } /** * Registers a user, returning false if the username already exists diff --git a/engine/start.php b/engine/start.php index 956f0ac3e..a3386f309 100644 --- a/engine/start.php +++ b/engine/start.php @@ -14,20 +14,28 @@ /** * Load important prerequisites - */ - - if (!@include_once(dirname(__FILE__) . "/lib/exceptions.php")) { // Exceptions - echo "Error in installation: could not load the Exceptions library."; - exit; + */ + + if (!@include_once(dirname(__FILE__) . "/lib/exceptions.php")) { // Exceptions + echo "Error in installation: could not load the Exceptions library."; + exit; } if (!@include_once(dirname(__FILE__) . "/lib/elgglib.php")) { // Main Elgg library throw new InstallationException("Elgg could not load its main library."); - } - - if (!@include_once(dirname(__FILE__) . "/lib/export.php")) { // Export library - echo "Error in installation: could not load the Export library."; - exit; + } + + if (!@include_once(dirname(__FILE__) . "/lib/actions.php")) { + throw new InstallationException("Elgg could not load the Actions library"); + } + + if (!@include_once(dirname(__FILE__) . "/lib/sessions.php")) { + throw new InstallationException("Elgg could not load the Sessions library"); + } + + if (!@include_once(dirname(__FILE__) . "/lib/export.php")) { // Export library + echo "Error in installation: could not load the Export library."; + exit; } /** @@ -68,9 +76,9 @@ $file_exceptions = array( '.','..', - '.svn', + '.svn', 'CVS','cvs', - 'settings.php','settings.example.php','elgglib.php','database.php' + 'settings.php','settings.example.php','exceptions.php','elgglib.php','database.php','actions.php','sessions.php' ); // Get the list of files to include, and alphabetically sort them -- cgit v1.2.3