Elgg  Version master
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_http_add_url_query_elements('ajax/view/object/widget/edit', [
40  'guid' => $widget->guid,
41  'show_access' => $event->getParam('show_access', true),
42  ]),
43  'data-colorbox-opts' => json_encode([
44  'width' => 750,
45  'max-height' => '80%',
46  'fixed' => true,
47  ]),
48  'link_class' => ['elgg-lightbox'],
49  'priority' => 800,
50  ]);
51 
52  return $return;
53  }
54 
62  public static function registerDelete(\Elgg\Event $event) {
63  $widget = $event->getEntityParam();
64  if (!$widget instanceof \ElggWidget || !$widget->canDelete()) {
65  return;
66  }
67 
68  /* @var $return MenuItems */
69  $return = $event->getValue();
70 
71  $return[] = \ElggMenuItem::factory([
72  'name' => 'delete',
73  'text' => elgg_echo('delete:this'),
74  'icon' => 'delete-alt',
75  'title' => elgg_echo('widget:delete', [$widget->getDisplayName()]),
76  'href' => elgg_generate_action_url('widgets/delete', [
77  'widget_guid' => $widget->guid,
78  ]),
79  'confirm' => elgg_echo('deleteconfirm'),
80  'link_class' => 'elgg-widget-delete-button',
81  'data-widget-guid' => $widget->guid,
82  'priority' => 900,
83  ]);
84 
85  return $return;
86  }
87 }
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:62
elgg_http_add_url_query_elements(string $url, array $elements)
Sets elements in a URL's query string.
Definition: elgglib.php:173
elgg_echo(string $message_key, array $args=[], string $language='')
Elgg language module Functions to manage language and translations.
Definition: languages.php:17
elgg_generate_action_url(string $action, array $query=[], bool $add_csrf_tokens=true)
Generate an action URL.