/** * Replace entity icon URL if entity has an avatar * * @param string $hook "entity:icon:url" * @param string $type "all" * @param string $return Icon URL * @param array $params Hook params * @return array */ function avatars_entity_icon_url_handler($hook, $type, $return, $params) { $entity = elgg_extract('entity', $params); $size = elgg_extract('size', $params); if (!avatars_enabled($entity->getType(), $entity->getSubtype())) { return; } $avatar = avatars_get_avatar($entity); if ($avatar) { return $avatar->getIconURL($size); } }
<?php elgg_push_context('avatars/upload'); $container_guid = elgg_extract('container_guid', $vars); if (!$container_guid) { $container_guid = elgg_get_logged_in_user_guid(); } $container = get_entity($container_guid); if (!$container) { forward('', '404'); } if (!avatars_enabled($container->getType(), $container->getSubtype()) || !$container->canWriteToContainer(0, 'object', hypeJunction\Images\Avatar::SUBTYPE)) { forward('', '403'); } elgg_set_page_owner_guid($container->guid); elgg_group_gatekeeper(); elgg_push_breadcrumb(elgg_echo('avatars'), '/avatars/all'); elgg_push_breadcrumb($container->getDisplayName(), $container->getURL()); $title = elgg_echo('avatars:upload'); elgg_push_breadcrumb($title); if (elgg_is_sticky_form('avatars/upload')) { $sticky_values = elgg_get_sticky_values('avatars/upload'); if (is_array($sticky_values)) { $vars = array_merge($vars, $sticky_values); } } $vars['container_guid'] = $container->guid; $content = elgg_view_form('avatars/upload', ['enctype' => 'multipart/form-data', 'validate' => true], $vars); $body = elgg_view_layout('content', ['content' => $content, 'title' => $title, 'filter' => elgg_view('filters/avatars/edit', ['filter_context' => 'upload', 'container' => $container])]); echo elgg_view_page($title, $body);