-
Notifications
You must be signed in to change notification settings - Fork 669
/
elgg-plugin.php
139 lines (136 loc) · 3.08 KB
/
elgg-plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?php
use Elgg\Bookmarks\GroupToolContainerLogicCheck;
use Elgg\Bookmarks\Notifications\CreateBookmarksEventHandler;
require_once(__DIR__ . '/lib/functions.php');
return [
'plugin' => [
'name' => 'Bookmarks',
'activate_on_install' => true,
],
'entities' => [
[
'type' => 'object',
'subtype' => 'bookmarks',
'class' => 'ElggBookmark',
'capabilities' => [
'commentable' => true,
'searchable' => true,
'likable' => true,
],
],
],
'actions' => [
'bookmarks/save' => [],
],
'routes' => [
'default:object:bookmarks' => [
'path' => '/bookmarks',
'resource' => 'bookmarks/all',
],
'collection:object:bookmarks:all' => [
'path' => '/bookmarks/all',
'resource' => 'bookmarks/all',
],
'collection:object:bookmarks:owner' => [
'path' => '/bookmarks/owner/{username}',
'resource' => 'bookmarks/owner',
],
'collection:object:bookmarks:friends' => [
'path' => '/bookmarks/friends/{username}',
'resource' => 'bookmarks/friends',
'required_plugins' => [
'friends',
],
],
'collection:object:bookmarks:group' => [
'path' => '/bookmarks/group/{guid}/{subpage?}',
'resource' => 'bookmarks/group',
'defaults' => [
'subpage' => 'all',
],
'required_plugins' => [
'groups',
],
],
'add:object:bookmarks' => [
'path' => '/bookmarks/add/{guid}',
'resource' => 'bookmarks/add',
'middleware' => [
\Elgg\Router\Middleware\Gatekeeper::class,
],
],
'view:object:bookmarks' => [
'path' => '/bookmarks/view/{guid}/{title?}',
'resource' => 'bookmarks/view',
],
'edit:object:bookmarks' => [
'path' => '/bookmarks/edit/{guid}',
'resource' => 'bookmarks/edit',
'middleware' => [
\Elgg\Router\Middleware\Gatekeeper::class,
],
],
'bookmarklet:object:bookmarks' => [
'path' => '/bookmarks/bookmarklet/{guid}',
'resource' => 'bookmarks/bookmarklet',
'middleware' => [
\Elgg\Router\Middleware\Gatekeeper::class,
],
],
],
'hooks' => [
'container_logic_check' => [
'object' => [
GroupToolContainerLogicCheck::class => [],
],
],
'entity:url' => [
'object' => [
'Elgg\Bookmarks\Widgets::widgetURL' => [],
],
],
'register' => [
'menu:footer' => [
'Elgg\Bookmarks\Menus\Footer::register' => [],
],
'menu:owner_block' => [
'Elgg\Bookmarks\Menus\OwnerBlock::registerUserItem' => [],
'Elgg\Bookmarks\Menus\OwnerBlock::registerGroupItem' => [],
],
'menu:page' => [
'Elgg\Bookmarks\Menus\Page::register' => [],
],
'menu:site' => [
'Elgg\Bookmarks\Menus\Site::register' => [],
],
'menu:title:object:bookmarks' => [
\Elgg\Notifications\RegisterSubscriptionMenuItemsHandler::class => [],
],
],
'seeds' => [
'database' => [
'Elgg\Bookmarks\Seeder::register' => [],
],
],
],
'widgets' => [
'bookmarks' => [
'context' => ['profile', 'dashboard'],
],
],
'group_tools' => [
'bookmarks' => [],
],
'view_extensions' => [
'elgg.js' => [
'bookmarks.js' => [],
],
],
'notifications' => [
'object' => [
'bookmarks' => [
'create' => CreateBookmarksEventHandler::class,
],
],
],
];