From e5227e9221edbce84eee82af7f2c9903de702f37 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 5 Feb 2011 22:46:28 +0000 Subject: Fixes #2559 refs #2475 added ElggEntity:getIconURL() and elgg_view_entity_icon() git-svn-id: http://code.elgg.org/elgg/trunk@8039 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/views.php | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'engine/lib/views.php') diff --git a/engine/lib/views.php b/engine/lib/views.php index e20c98929..56325ebda 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -773,6 +773,47 @@ function elgg_view_entity(ElggEntity $entity, $full = false, $bypass = true, $de return $contents; } +/** + * View the icon of an entity + * + * Entity views are determined by having a view named after the entity $type/$subtype. + * Entities that do not have a defined icon/$type/$subtype view will fall back to using + * the icon/$type/default view. + * + * @param ElggEntity $entity The entity to display + * @param string $string The size: tiny, small, medium, large + * @param array $vars An array of variables to pass to the view + * + * @return string HTML to display or false + */ +function elgg_view_entity_icon(ElggEntity $entity, $size = 'medium', $vars = array()) { + + // No point continuing if entity is null + if (!$entity || !($entity instanceof ElggEntity)) { + return false; + } + + $vars['entity'] = $entity; + $vars['size'] = $size; + + $entity_type = $entity->getType(); + + $subtype = $entity->getSubtype(); + if (empty($subtype)) { + $subtype = 'default'; + } + + $contents = ''; + if (elgg_view_exists("icon/$entity_type/$subtype")) { + $contents = elgg_view("icon/$entity_type/$subtype", $vars); + } + if (empty($contents)) { + $contents = elgg_view("icon/$entity_type/default", $vars); + } + + return $contents; +} + /** * Returns a string of a rendered annotation. * -- cgit v1.2.3