diff options
| -rw-r--r-- | engine/lib/elgglib.php | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index f99480f10..bd1f12448 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -262,12 +262,13 @@  							);
  			$entity_class = get_class($entity);
 +			
  			if (isset($classes[$entity_class])) {
  				$entity_type = $classes[$entity_class];
  			} else {
  				foreach($classes as $class => $type) {
 -					if (is_subclass_of($entity,$class)) {
 -						$entity_type = $class;
 +					if ($entity instanceof $class) {
 +						$entity_type = $type;
  						break;
  					}
  				}
 @@ -275,6 +276,7 @@  			if (!isset($entity_class)) return false;
  			$subtype = $entity->getSubtype();
 +			
  			if (empty($subtype)) { $subtype = $entity_type; }
  			if (elgg_view_exists("{$entity_type}/{$subtype}",$viewtype)) {
  | 
