-
Notifications
You must be signed in to change notification settings - Fork 673
/
elgg-plugin.php
154 lines (152 loc) · 3.36 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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php
use Elgg\Blog\Forms\PrepareFields;
use Elgg\Blog\GroupToolContainerLogicCheck;
use Elgg\Blog\Notifications\PublishBlogEventHandler;
return [
'plugin' => [
'name' => 'Blog',
'activate_on_install' => true,
],
'entities' => [
[
'type' => 'object',
'subtype' => 'blog',
'class' => 'ElggBlog',
'capabilities' => [
'commentable' => true,
'searchable' => true,
'likable' => true,
],
],
],
'actions' => [
'blog/save' => [],
],
'routes' => [
'collection:object:blog:owner' => [
'path' => '/blog/owner/{username}/{lower?}/{upper?}',
'resource' => 'blog/owner',
'requirements' => [
'lower' => '\d+',
'upper' => '\d+',
],
'middleware' => [
\Elgg\Router\Middleware\UserPageOwnerGatekeeper::class,
],
],
'collection:object:blog:friends' => [
'path' => '/blog/friends/{username}/{lower?}/{upper?}',
'resource' => 'blog/friends',
'requirements' => [
'lower' => '\d+',
'upper' => '\d+',
],
'required_plugins' => [
'friends',
],
'middleware' => [
\Elgg\Router\Middleware\UserPageOwnerGatekeeper::class,
],
],
'view:object:blog' => [
'path' => '/blog/view/{guid}/{title?}',
'resource' => 'blog/view',
],
'add:object:blog' => [
'path' => '/blog/add/{guid}',
'resource' => 'blog/add',
'middleware' => [
\Elgg\Router\Middleware\Gatekeeper::class,
\Elgg\Router\Middleware\PageOwnerGatekeeper::class,
],
],
'edit:object:blog' => [
'path' => '/blog/edit/{guid}/{revision?}',
'resource' => 'blog/edit',
'requirements' => [
'revision' => '\d+',
],
'middleware' => [
\Elgg\Router\Middleware\Gatekeeper::class,
],
],
'collection:object:blog:group' => [
'path' => '/blog/group/{guid}/{subpage?}/{lower?}/{upper?}',
'resource' => 'blog/group',
'defaults' => [
'subpage' => 'all',
],
'requirements' => [
'subpage' => 'all|archive',
'lower' => '\d+',
'upper' => '\d+',
],
'required_plugins' => [
'groups',
],
'middleware' => [
\Elgg\Router\Middleware\GroupPageOwnerGatekeeper::class,
],
],
'collection:object:blog:all' => [
'path' => '/blog/all/{lower?}/{upper?}',
'resource' => 'blog/all',
'requirements' => [
'lower' => '\d+',
'upper' => '\d+',
],
],
'default:object:blog' => [
'path' => '/blog',
'resource' => 'blog/all',
],
],
'events' => [
'container_logic_check' => [
'object' => [
GroupToolContainerLogicCheck::class => [],
],
],
'form:prepare:fields' => [
'blog/save' => [
PrepareFields::class => [],
],
],
'register' => [
'menu:blog_archive' => [
'Elgg\Blog\Menus\BlogArchive::register' => [],
],
'menu:owner_block' => [
'Elgg\Blog\Menus\OwnerBlock::registerUserItem' => [],
'Elgg\Blog\Menus\OwnerBlock::registerGroupItem' => [],
],
'menu:site' => [
'Elgg\Blog\Menus\Site::register' => [],
],
'menu:title:object:blog' => [
\Elgg\Notifications\RegisterSubscriptionMenuItemsHandler::class => [],
],
],
'seeds' => [
'database' => [
'Elgg\Blog\Seeder::register' => [],
],
],
],
'widgets' => [
'blog' => [
'context' => ['profile', 'dashboard'],
],
],
'group_tools' => [
'blog' => [],
],
'notifications' => [
'object' => [
'blog' => [
'publish' => PublishBlogEventHandler::class,
'mentions' => \Elgg\Notifications\MentionsEventHandler::class,
],
],
],
];