diff options
Diffstat (limited to 'views/default/icon/default.php')
| -rw-r--r-- | views/default/icon/default.php | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/views/default/icon/default.php b/views/default/icon/default.php new file mode 100644 index 000000000..087c7eae9 --- /dev/null +++ b/views/default/icon/default.php @@ -0,0 +1,62 @@ +<?php +/** + * Generic icon view. + * + * @package Elgg + * @subpackage Core + * + * @uses $vars['entity']     The entity the icon represents - uses getIconURL() method + * @uses $vars['size']       topbar, tiny, small, medium (default), large, master + * @uses $vars['href']       Optional override for link + * @uses $vars['img_class']  Optional CSS class added to img + * @uses $vars['link_class'] Optional CSS class for the link + */ + +$entity = $vars['entity']; + +$sizes = array('small', 'medium', 'large', 'tiny', 'master', 'topbar'); +// Get size +if (!in_array($vars['size'], $sizes)) { +	$vars['size'] = "medium"; +} + +$class = elgg_extract('img_class', $vars, ''); + +if (isset($entity->name)) { +	$title = $entity->name; +} else { +	$title = $entity->title; +} +$title = htmlspecialchars($title, ENT_QUOTES, 'UTF-8', false); + +$url = $entity->getURL(); +if (isset($vars['href'])) { +	$url = $vars['href']; +} + +$icon_sizes = elgg_get_config('icon_sizes'); +$size = $vars['size']; + +$img = elgg_view('output/img', array( +	'src' => $entity->getIconURL($vars['size']), +	'alt' => $title, +	'class' => $class, +	'width' => $size != 'master' ? $icon_sizes[$size]['w'] : NULL, +	'height' => $size != 'master' ? $icon_sizes[$size]['h'] : NULL, +)); + +if ($url) { +	$params = array( +		'href' => $url, +		'text' => $img, +		'is_trusted' => true, +	); +	$class = elgg_extract('link_class', $vars, ''); +	if ($class) { +		$params['class'] = $class; +	} + +	echo elgg_view('output/url', $params); +} else { +	echo $img; +} | 
