23 $user = $event->getEntityParam();
29 $return = $event->getValue();
32 'name' =>
'avatar:edit',
36 'link_class' => [
'elgg-button',
'elgg-button-action'],
50 $entity = $event->getEntityParam();
55 $return = $event->getValue();
60 $entity_menu =
_elgg_services()->menus->getUnpreparedMenu(
'entity', [
65 foreach ($entity_menu->getItems() as $menu_item) {
66 if ($return->has($menu_item->getName())) {
67 if ($menu_item->getName() ===
'edit') {
69 $return->get(
'edit')->setSection(
'z-last');
75 switch ($menu_item->getName()) {
77 $menu_item->addLinkClass(
'elgg-button');
78 $menu_item->addLinkClass(
'elgg-button-action');
80 $menu_item->setSection(
'z-last');
83 if ($menu_item->getSection() ===
'default') {
84 $menu_item->setSection(
'z-last');
86 if (empty($menu_item->getParentName())) {
87 $menu_item->setParentName(
'title-menu-toggle');
90 $menu_item->addLinkClass(
'elgg-button');
91 $menu_item->addLinkClass(
'elgg-button-action');
96 $return->add($menu_item);
100 'name' =>
'title-menu-toggle',
101 'icon' =>
'ellipsis-v',
106 'display' =>
'dropdown',
107 'data-position' => json_encode([
108 'at' =>
'right bottom',
110 'collision' =>
'fit fit',
112 'class' =>
"elgg-{$event->getParam('name')}-dropdown-menu",
114 'show_with_empty_children' =>
false,
117 'elgg-button-action',
120 'section' =>
'z-last',
139 $entity = $event->getEntityParam();
145 if (!
$result instanceof MenuItems) {
149 $can_subscribe = !
$entity->hasSubscriptions() ||
$entity->hasMutedNotifications();
152 $subscribe_options = [
153 'name' =>
'entity_subscribe',
157 'item_class' => $can_subscribe ?
'' :
'hidden',
160 'elgg-button-action',
165 $has_preferences = !empty(
$user->getNotificationSettings(
'default',
true));
166 if ($has_preferences) {
170 $subscribe_options[
'data-toggle'] =
'entity_mute';
172 $subscribe_options[
'link_class'][] =
'elgg-state-disabled';
173 $subscribe_options[
'title'] =
elgg_echo(
'entity:subscribe:disabled');
180 'name' =>
'entity_mute',
181 'icon' =>
'bell-slash',
186 'item_class' => $can_subscribe ?
'hidden' :
'',
189 'elgg-button-action',
191 'data-toggle' =>
'entity_subscribe',
Models an event passed to event handlers.
_elgg_services()
Get the global service provider.
elgg_echo(string $message_key, array $args=[], string $language='')
Elgg language module Functions to manage language and translations.
elgg_generate_entity_url(ElggEntity $entity, string $resource='view', ?string $subresource=null, array $parameters=[])
Generate entity URL from a named route.
elgg_generate_action_url(string $action, array $query=[], bool $add_csrf_tokens=true)
Generate an action URL.
elgg_get_logged_in_user_entity()
Return the current logged in user, or null if no user is logged in.