Elgg  Version 6.2
user_hover.php
Go to the documentation of this file.
1 <?php
11 $user = elgg_extract('entity', $vars);
12 if (!$user instanceof \ElggUser) {
13  return;
14 }
15 
17 if (!$menu instanceof \Elgg\Menu\PreparedMenu) {
18  return;
19 }
20 
21 $actions = $menu->getItems('action');
22 $main = $menu->getItems('default');
23 $admin = $menu->getItems('admin');
24 
25 elgg_push_context('user_hover');
26 
27 $card = elgg_format_element('div', ['class' => 'elgg-menu-hover-card'], elgg_view_entity($user, [
28  'full_view' => false,
29  'use_hover' => false,
30  'size' => 'medium',
31  'metadata' => false,
32 ]));
33 
35 if (!empty($combined_actions)) {
36  $card .= elgg_view_menu(new \Elgg\Menu\UnpreparedMenu(['name' => 'hover_actions'], $combined_actions));
37 }
38 
39 echo elgg_format_element('div', ['class' => 'elgg-menu-hover-card-container'], $card);
40 
41 if (elgg_is_admin_logged_in() && !empty($admin)) {
42  $admin_toggle = [
44  'name' => 'toggle_admin',
45  'icon' => 'user-cog',
46  'text' => elgg_echo('admin:options'),
47  'href' => false,
48  'child_menu' => [
49  'display' => 'toggle',
50  ],
51  ]),
52  ];
53 
54  foreach ($admin as $admin_item) {
55  $admin_item->setSection('default');
56  if (empty($admin_item->getParentName())) {
57  $admin_item->setParentName('toggle_admin');
58  }
59  }
60 
61  echo elgg_view_menu(new \Elgg\Menu\UnpreparedMenu(['name' => 'hover_admin'], $admin_toggle + $admin));
62 }
63 
elgg_is_logged_in()
Returns whether or not the user is currently logged in.
Definition: sessions.php:43
$admin
Definition: user_hover.php:23
elgg_is_admin_logged_in()
Returns whether or not the viewer is currently logged in and an admin user.
Definition: sessions.php:52
$main
Definition: user_hover.php:22
elgg_echo(string $message_key, array $args=[], string $language= '')
Elgg language module Functions to manage language and translations.
Definition: languages.php:17
static factory(array $options)
Create an ElggMenuItem from an associative array.
elgg_extract($key, $array, $default=null, bool $strict=true)
Checks for $array[$key] and returns its value if it exists, else returns $default.
Definition: elgglib.php:256
elgg_pop_context()
Removes and returns the top context string from the stack.
Definition: context.php:62
$card
Definition: user_hover.php:27
elgg_view_menu($menu, array $vars=[])
Render a menu.
Definition: views.php:441
$combined_actions
Definition: user_hover.php:34
elgg_view_entity(\ElggEntity $entity, array $vars=[])
Returns a string of a rendered entity.
Definition: views.php:493
if(!$menu instanceof\Elgg\Menu\PreparedMenu) $actions
Definition: user_hover.php:21
elgg_push_context(string $context)
Push a context onto the top of the stack.
Definition: context.php:52
$vars
Definition: theme.php:5
if(!$user instanceof\ElggUser) $menu
Definition: user_hover.php:16
elgg_format_element(string $tag_name, array $attributes=[], string $text= '', array $options=[])
Format an HTML element.
Definition: output.php:145
$user
User hover menu.
Definition: user_hover.php:11