diff options
| author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-05 22:46:28 +0000 | 
|---|---|---|
| committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-05 22:46:28 +0000 | 
| commit | e5227e9221edbce84eee82af7f2c9903de702f37 (patch) | |
| tree | 5e402b5508a8af64ff40761087926dd0f9443303 /engine/lib/deprecated-1.8.php | |
| parent | 577eb6f725449fea5738ca122eedb5e4b2c8ff56 (diff) | |
| download | elgg-e5227e9221edbce84eee82af7f2c9903de702f37.tar.gz elgg-e5227e9221edbce84eee82af7f2c9903de702f37.tar.bz2 | |
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
Diffstat (limited to 'engine/lib/deprecated-1.8.php')
| -rw-r--r-- | engine/lib/deprecated-1.8.php | 75 | 
1 files changed, 75 insertions, 0 deletions
| diff --git a/engine/lib/deprecated-1.8.php b/engine/lib/deprecated-1.8.php index 3db32c522..f293c178f 100644 --- a/engine/lib/deprecated-1.8.php +++ b/engine/lib/deprecated-1.8.php @@ -2837,3 +2837,78 @@ function elgg_view_listing($icon, $info) {  	elgg_deprecated_notice('elgg_view_listing deprecated by elgg_view_image_block', 1.8);  	return elgg_view('layout/objects/image_block', array('image' => $icon, 'body' => $info));  } + +/** + * Return the icon URL for an entity. + * + * @tip Can be overridden by registering a plugin hook for entity:icon:url, $entity_type. + * + * @internal This is passed an entity rather than a guid to handle non-created entities. + * + * @param ElggEntity $entity The entity + * @param string     $size   Icon size + * + * @return string URL to the entity icon. + * @deprecated 1.8 Use $entity->getIconURL() + */ +function get_entity_icon_url(ElggEntity $entity, $size = 'medium') { +	elgg_deprecated_notice("get_entity_icon_url() deprecated for getIconURL()", 1.8); +	global $CONFIG; + +	$size = sanitise_string($size); +	switch (strtolower($size)) { +		case 'master': +			$size = 'master'; +			break; + +		case 'large' : +			$size = 'large'; +			break; + +		case 'topbar' : +			$size = 'topbar'; +			break; + +		case 'tiny' : +			$size = 'tiny'; +			break; + +		case 'small' : +			$size = 'small'; +			break; + +		case 'medium' : +		default: +			$size = 'medium'; +	} + +	$url = false; + +	$viewtype = elgg_get_viewtype(); + +	// Step one, see if anyone knows how to render this in the current view +	$params = array('entity' => $entity, 'viewtype' => $viewtype, 'size' => $size); +	$url = elgg_trigger_plugin_hook('entity:icon:url', $entity->getType(), $params, $url); + +	// Fail, so use default +	if (!$url) { +		$type = $entity->getType(); +		$subtype = $entity->getSubtype(); + +		if (!empty($subtype)) { +			$overrideurl = elgg_view("icon/{$type}/{$subtype}/{$size}", array('entity' => $entity)); +			if (!empty($overrideurl)) { +				return $overrideurl; +			} +		} + +		$overrideurl = elgg_view("icon/{$type}/default/{$size}", array('entity' => $entity)); +		if (!empty($overrideurl)) { +			return $overrideurl; +		} + +		$url = "_graphics/icons/default/$size.png"; +	} + +	return elgg_normalize_url($url); +} | 
