Elgg  Version 6.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' => false,
38  'icon' => 'settings-alt',
39  'title' => elgg_echo('widget:edit'),
40  'href' => elgg_http_add_url_query_elements('ajax/view/object/widget/edit', [
41  'guid' => $widget->guid,
42  'show_access' => $event->getParam('show_access', true),
43  ]),
44  'data-colorbox-opts' => json_encode([
45  'width' => 750,
46  'max-height' => '80%',
47  'trapFocus' => false,
48  'fixed' => true,
49  ]),
50  'link_class' => ['elgg-widget-edit-button', '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' => false,
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  'id' => "elgg-widget-delete-button-{$widget->guid}",
84  'data-elgg-widget-type' => $widget->handler,
85  'priority' => 900,
86  ]);
87 
88  return $return;
89  }
90 }
elgg_generate_action_url(string $action, array $query=[], bool $add_csrf_tokens=true)
Generate an action URL.
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.
Register menu item to the widget menu.
Definition: Widget.php:13
elgg_http_add_url_query_elements(string $url, array $elements)
Sets elements in a URL&#39;s query string.
Definition: elgglib.php:183
if($guid===false) $widget
Definition: add.php:31
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
Models an event passed to event handlers.
Definition: Event.php:11