From cdabdd5951626da5b1bd184dca50716248f32c31 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 16 Apr 2008 14:45:16 +0000 Subject: Generic entity view system git-svn-id: https://code.elgg.org/elgg/trunk@474 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/entities.php | 26 +++++++++++++++++++++++++- engine/lib/users.php | 4 ++-- entities/index.php | 37 +++++++++++++++++++++++++++++++++++++ languages/en.php | 4 +++- 4 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 entities/index.php diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 3fbd6587c..2cbdc2e73 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -900,11 +900,35 @@ return trigger_plugin_hook('permissions_check',$entity->type,array('entity' => $entity, 'user' => $user),false); } + + /** + * Page handler for generic entities view system + * + * @param array $page Page elements from pain page handler + */ + function entities_page_handler($page) { + if (isset($page[0])) { + global $CONFIG; + set_input('guid',$page[0]); + @include($CONFIG->path . "entities/index.php"); + } + } + + /** + * Entities init function; establishes the page handler + * + */ + function entities_init() { + register_page_handler('view','entities_page_handler'); + } /** Register the import hook */ register_plugin_hook("import", "all", "import_entity_plugin_hook", 0); /** Register the hook, ensuring entities are serialised first */ - register_plugin_hook("export", "all", "export_entity_plugin_hook", 0); + register_plugin_hook("export", "all", "export_entity_plugin_hook", 0); + + /** Register init system event **/ + register_event_handler('init','system','entities_init'); ?> \ No newline at end of file diff --git a/engine/lib/users.php b/engine/lib/users.php index 166225b9e..5669da06d 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -491,10 +491,10 @@ if (!empty($guid)) // Fixes "Exception thrown without stack frame" when db_select fails $result = get_entity($guid); - if (($result) && (!($result instanceof ElggUser))) + if ((!empty($result)) && (!($result instanceof ElggUser))) throw new InvalidParameterException("GUID:$guid is not an ElggUser"); - if ($result) + if (!empty($result)) return $result; return false; diff --git a/entities/index.php b/entities/index.php new file mode 100644 index 000000000..6c2d4fd0d --- /dev/null +++ b/entities/index.php @@ -0,0 +1,37 @@ + \ No newline at end of file diff --git a/languages/en.php b/languages/en.php index f584b56a6..4339d9be9 100644 --- a/languages/en.php +++ b/languages/en.php @@ -21,6 +21,8 @@ 'actionundefined' => "The requested action (%s) was not defined in the system.", 'actionloggedout' => "Sorry, you cannot perform this action while logged out.", + 'notfound' => "The requested resource could not be found, or you do not have access to it.", + /** * User details */ @@ -61,7 +63,7 @@ 'update' => "Update", 'edit' => "Edit", 'delete' => "Delete", - 'Load' => "Load", + 'load' => "Load", /** * Generic data words -- cgit v1.2.3