Elgg  Version 7.1
Widget.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Elgg\Menus;
4 
6 
13 class Widget {
14 
22  public static function registerEdit(\Elgg\Event $event) {
23  $widget = $event->getEntityParam();
24  if (!$widget instanceof \ElggWidget) {
25  return;
26  }
27 
28  if (!(bool) $event->getParam('show_edit', $widget->canEdit())) {
29  return;
30  }
31 
32  /* @var $return MenuItems */
33  $return = $event->getValue();
34 
35  $return[] = \ElggMenuItem::factory([
36  'name' => 'settings',
37  'text' => elgg_echo('widget:edit'),
38  'icon' => 'settings-alt',
39  'href' => elgg_generate_url('ajax', [
40  'type' => 'view',
41  'segments' => 'object/widget/edit',
42  'guid' => $widget->guid,
43  'show_access' => $event->getParam('show_access', true),
44  ]),
45  'data-colorbox-opts' => json_encode([
46  'width' => 750,
47  'max-height' => '80%',
48  'fixed' => true,
49  ]),
50  'link_class' => ['elgg-lightbox'],
51  'priority' => 800,
52  ]);
53 
54  return $return;
55  }
56 
64  public static function registerDelete(\Elgg\Event $event) {
65  $widget = $event->getEntityParam();
66  if (!$widget instanceof \ElggWidget || !$widget->canDelete()) {
67  return;
68  }
69 
70  /* @var $return MenuItems */
71  $return = $event->getValue();
72 
73  $return[] = \ElggMenuItem::factory([
74  'name' => 'delete',
75  'text' => elgg_echo('delete:this'),
76  'icon' => 'delete-alt',
77  'title' => elgg_echo('widget:delete', [$widget->getDisplayName()]),
78  'href' => elgg_generate_action_url('widgets/delete', [
79  'widget_guid' => $widget->guid,
80  ]),
81  'confirm' => elgg_echo('deleteconfirm'),
82  'link_class' => 'elgg-widget-delete-button',
83  'data-widget-guid' => $widget->guid,
84  'priority' => 900,
85  ]);
86 
87  return $return;
88  }
89 }
if($guid===false) $widget
Definition: add.php:31
static factory(array $options)
Create an ElggMenuItem from an associative array.
Models an event passed to event handlers.
Definition: Event.php:11
A collection of menu items.
Definition: MenuItems.php:10
Register menu item to the widget menu.
Definition: Widget.php:13
static registerEdit(\Elgg\Event $event)
Register the edit menu item for widgets.
Definition: Widget.php:22
static registerDelete(\Elgg\Event $event)
Register the delete menu item for widgets.
Definition: Widget.php:64
elgg_echo(string $message_key, array $args=[], string $language='')
Elgg language module Functions to manage language and translations.
Definition: languages.php:17
elgg_generate_url(string $name, array $parameters=[])
Generate a URL for named route.
elgg_generate_action_url(string $action, array $query=[], bool $add_csrf_tokens=true)
Generate an action URL.