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->setParentName(
'title-menu-toggle');
85 $menu_item->setSection(
'z-last');
87 $menu_item->addLinkClass(
'elgg-button');
88 $menu_item->addLinkClass(
'elgg-button-action');
93 $return->add($menu_item);
97 'name' =>
'title-menu-toggle',
98 'icon' =>
'ellipsis-v',
103 'display' =>
'dropdown',
104 'data-position' => json_encode([
105 'at' =>
'right bottom',
107 'collision' =>
'fit fit',
109 'class' =>
"elgg-{$event->getParam('name')}-dropdown-menu",
111 'show_with_empty_children' =>
false,
114 'elgg-button-action',
117 'section' =>
'z-last',
136 $entity = $event->getEntityParam();
142 if (!
$result instanceof MenuItems) {
146 $can_subscribe = !
$entity->hasSubscriptions() ||
$entity->hasMutedNotifications();
149 $subscribe_options = [
150 'name' =>
'entity_subscribe',
154 'item_class' => $can_subscribe ?
'' :
'hidden',
157 'elgg-button-action',
162 $has_preferences = !empty(
$user->getNotificationSettings(
'default',
true));
163 if ($has_preferences) {
167 $subscribe_options[
'data-toggle'] =
'entity_mute';
169 $subscribe_options[
'link_class'][] =
'elgg-state-disabled';
170 $subscribe_options[
'title'] =
elgg_echo(
'entity:subscribe:disabled');
177 'name' =>
'entity_mute',
178 'icon' =>
'bell-slash',
183 'item_class' => $can_subscribe ?
'hidden' :
'',
186 'elgg-button-action',
188 '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.