]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #2684, #2754: Merged r7701 to trunk.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 31 Dec 2010 17:33:12 +0000 (17:33 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Fri, 31 Dec 2010 17:33:12 +0000 (17:33 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7796 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/entities.php

index 339b7755d00986ba59e4f26fdaa6184a0511595d..e38b0f9240c9ce4d0d97816152bcfaf0d436c2cc 100644 (file)
@@ -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');