From 9124bf4a77eb91f599cc806cb4a41bac529c3a12 Mon Sep 17 00:00:00 2001 From: brettp Date: Fri, 31 Dec 2010 17:33:12 +0000 Subject: Refs #2684, #2754: Merged r7701 to trunk. git-svn-id: http://code.elgg.org/elgg/trunk@7796 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/entities.php | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'engine/lib/entities.php') diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 339b7755d..e38b0f924 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -2182,7 +2182,7 @@ function default_entity_icon_hook($hook, $entity_type, $returnvalue, $params) { * @link http://docs.elgg.org/Search * @link http://docs.elgg.org/Tutorials/Search */ -function register_entity_type($type, $subtype) { +function register_entity_type($type, $subtype=null) { global $CONFIG; $type = strtolower($type); @@ -2255,13 +2255,13 @@ function unregister_entity_type($type, $subtype) { * @return array|false Depending on whether entities have been registered * @see register_entity_type() */ -function get_registered_entity_types($type = '') { +function get_registered_entity_types($type = null) { global $CONFIG; if (!isset($CONFIG->registered_entities)) { return false; } - if (!empty($type)) { + if ($type) { $type = strtolower($type); } if (!empty($type) && empty($CONFIG->registered_entities[$type])) { @@ -2283,19 +2283,25 @@ function get_registered_entity_types($type = '') { * * @return true|false Depending on whether or not the type has been registered */ -function is_registered_entity_type($type, $subtype) { +function is_registered_entity_type($type, $subtype=null) { global $CONFIG; if (!isset($CONFIG->registered_entities)) { return false; } + $type = strtolower($type); - if (empty($CONFIG->registered_entities[$type])) { + + // @todo registering a subtype implicitly registers the type. + // see #2684 + if (!isset($CONFIG->registered_entities[$type])) { return false; } - if (in_array($subtype, $CONFIG->registered_entities[$type])) { - return true; + + if ($subtype && !in_array($subtype, $CONFIG->registered_entities[$type])) { + return false; } + return true; } /** @@ -2569,4 +2575,4 @@ elgg_register_plugin_hook_handler('volatile', 'metadata', 'volatile_data_export_ elgg_register_plugin_hook_handler('entity:icon:url', 'all', 'default_entity_icon_hook', 1000); /** Register init system event **/ -elgg_register_event_handler('init', 'system', 'entities_init'); \ No newline at end of file +elgg_register_event_handler('init', 'system', 'entities_init'); -- cgit v1.2.3