diff options
Diffstat (limited to 'views/default/icon')
-rw-r--r-- | views/default/icon/default.php | 80 | ||||
-rw-r--r-- | views/default/icon/object/task.php | 80 | ||||
-rw-r--r-- | views/default/icon/user/default.php | 103 |
3 files changed, 183 insertions, 80 deletions
diff --git a/views/default/icon/default.php b/views/default/icon/default.php new file mode 100644 index 000000000..7f13a1189 --- /dev/null +++ b/views/default/icon/default.php @@ -0,0 +1,80 @@ +<?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']; + +if (!isset($vars['width'])) { + $vars['width'] = $size != 'master' ? $icon_sizes[$size]['w'] : null; +} +if (!isset($vars['height'])) { + $vars['height'] = $size != 'master' ? $icon_sizes[$size]['h'] : null; +} + +$img_params = array( + 'src' => $entity->getIconURL($vars['size']), + 'alt' => $title, +); + +if (!empty($class)) { + $img_params['class'] = $class; +} + +if (!empty($vars['width'])) { + $img_params['width'] = $vars['width']; +} + +if (!empty($vars['height'])) { + $img_params['height'] = $vars['height']; +} + +$img = elgg_view('output/img', $img_params); + +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; +} diff --git a/views/default/icon/object/task.php b/views/default/icon/object/task.php deleted file mode 100644 index d1d519bc4..000000000 --- a/views/default/icon/object/task.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -/** - * Elgg task icon - * - * @uses $vars['entity'] The task entity. - * @uses $vars['size'] The size - tiny, small, medium or large. (medium) - * @uses $vars['use_hover'] Display the hover menu? (true) - * @uses $vars['use_link'] Wrap a link around image? (true) - * @uses $vars['img_class'] Optional CSS class added to img - * @uses $vars['link_class'] Optional CSS class for the link - * @uses $vars['href'] Optional override of the link href - */ - -$task = elgg_extract('entity', $vars); -$size = elgg_extract('size', $vars, 'medium'); -if (!in_array($size, array('topbar', 'tiny', 'small', 'medium', 'large', 'master'))) { - $size = 'medium'; -} - -$use_link = elgg_extract('use_link', $vars, true); - -if (!elgg_instanceof($task, 'object', 'task')) { - return true; -} - -$title = htmlspecialchars($task->title, ENT_QUOTES, 'UTF-8', false); -$guid = $task->guid; - -$img_class = ''; -if (isset($vars['img_class'])) { - $img_class = $vars['img_class']; -} - -$use_hover = elgg_extract('use_hover', $vars, $task->canEdit()); -if (isset($vars['hover']) ) { - $use_hover = $vars['hover']; -} - -$icon_url = elgg_format_url($task->getIconURL($size)); -$icon = elgg_view('output/img', array( - 'src' => $icon_url, - 'alt' => $name, - 'title' => $name, - 'class' => $img_class, -)); - -?> -<div class="elgg-avatar elgg-task-icon"> -<?php - -if ($use_hover) { - - tasks_register_actions_menu($task); - - $params = array( - 'entity' => $task, - 'guid' => $guid, - 'title' => $title, - 'class' => 'elgg-menu-hover', - ); - echo elgg_view_icon('hover-menu'); - echo elgg_view_menu('tasks_hover', $params); - - tasks_reset_actions_menu(); -} - -if ($use_link) { - $class = elgg_extract('link_class', $vars, ''); - $url = elgg_extract('href', $vars, $task->getURL()); - echo elgg_view('output/url', array( - 'href' => $url, - 'text' => $icon, - 'is_trusted' => true, - 'class' => $class, - )); -} else { - echo "<a>$icon</a>"; -} -?> -</div> diff --git a/views/default/icon/user/default.php b/views/default/icon/user/default.php new file mode 100644 index 000000000..c0b0e7483 --- /dev/null +++ b/views/default/icon/user/default.php @@ -0,0 +1,103 @@ +<?php +/** + * Elgg user icon + * + * Rounded avatar corners - CSS3 method + * uses avatar as background image so we can clip it with border-radius in supported browsers + * + * @uses $vars['entity'] The user entity. If none specified, the current user is assumed. + * @uses $vars['size'] The size - tiny, small, medium or large. (medium) + * @uses $vars['use_hover'] Display the hover menu? (true) + * @uses $vars['use_link'] Wrap a link around image? (true) + * @uses $vars['class'] Optional class added to the .elgg-avatar div + * @uses $vars['img_class'] Optional CSS class added to img + * @uses $vars['link_class'] Optional CSS class for the link + * @uses $vars['href'] Optional override of the link href + */ + +$user = elgg_extract('entity', $vars, elgg_get_logged_in_user_entity()); +$size = elgg_extract('size', $vars, 'medium'); +if (!in_array($size, array('topbar', 'tiny', 'small', 'medium', 'large', 'master'))) { + $size = 'medium'; +} + +$class = "elgg-avatar elgg-avatar-$size"; +if (isset($vars['class'])) { + $class = "$class {$vars['class']}"; +} + +$use_link = elgg_extract('use_link', $vars, true); + +if (!($user instanceof ElggUser)) { + return true; +} + +$name = htmlspecialchars($user->name, ENT_QUOTES, 'UTF-8', false); +$username = $user->username; + +$icontime = $user->icontime; +if (!$icontime) { + $icontime = "default"; +} + +$js = elgg_extract('js', $vars, ''); +if ($js) { + elgg_deprecated_notice("Passing 'js' to icon views is deprecated.", 1.8, 5); +} + +$img_class = ''; +if (isset($vars['img_class'])) { + $img_class = $vars['img_class']; +} + +$use_hover = elgg_extract('use_hover', $vars, true); +if (isset($vars['override'])) { + elgg_deprecated_notice("Use 'use_hover' rather than 'override' with user avatars", 1.8, 5); + $use_hover = false; +} +if (isset($vars['hover'])) { + // only 1.8.0 was released with 'hover' as the key + $use_hover = $vars['hover']; +} + +$spacer_url = elgg_get_site_url() . '_graphics/spacer.gif'; + +$icon_url = elgg_format_url($user->getIconURL($size)); +$icon = elgg_view('output/img', array( + 'src' => $spacer_url, + 'alt' => $name, + 'title' => $name, + 'class' => $img_class, + 'style' => "background: url($icon_url) no-repeat;", +)); + +$show_menu = $use_hover && (elgg_is_admin_logged_in() || !$user->isBanned()); + +?> +<div class="<?php echo $class; ?>"> +<?php + +if ($show_menu) { + $params = array( + 'entity' => $user, + 'username' => $username, + 'name' => $name, + ); + echo elgg_view_icon('hover-menu'); + echo elgg_view_menu('user_hover', $params); +} + +if ($use_link) { + $class = elgg_extract('link_class', $vars, ''); + $url = elgg_extract('href', $vars, $user->getURL()); + echo elgg_view('output/url', array( + 'href' => $url, + 'text' => $icon, + 'is_trusted' => true, + 'class' => $class, + )); +} else { + echo "<a>$icon</a>"; +} +?> +</div> |