-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathextend.php
More file actions
111 lines (94 loc) · 5.54 KB
/
extend.php
File metadata and controls
111 lines (94 loc) · 5.54 KB
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
<?php
namespace Shebaoting\Money;
use Flarum\Extend;
use Flarum\Api\Serializer\UserSerializer;
use Flarum\Post\Event\Posted;
use Flarum\Post\Event\Restored as PostRestored;
use Flarum\Post\Event\Hidden as PostHidden;
use Flarum\Post\Event\Deleted as PostDeleted;
use Flarum\Discussion\Event\Started;
use Flarum\Discussion\Event\Restored as DiscussionRestored;
use Flarum\Discussion\Event\Hidden as DiscussionHidden;
use Flarum\Discussion\Event\Deleted as DiscussionDeleted;
use Flarum\User\Event\Saving;
use Flarum\Post\Event\Saving as SavingPostEvent;
use Flarum\Likes\Event\PostWasLiked;
use Flarum\Likes\Event\PostWasUnliked;
use Flarum\User\Event\Registered;
use Shebaoting\Money\Controller\UserMoneyLogsController;
return [
(new Extend\Frontend('forum'))
->js(__DIR__ . '/js/dist/forum.js')
->css(__DIR__ . '/less/forum.less')
->route('/money-log', 'user.money-log'),
(new Extend\Frontend('admin'))
->js(__DIR__ . '/js/dist/admin.js')
->css(__DIR__ . '/less/admin.less'),
new Extend\Locales(__DIR__ . '/locale'),
(new Extend\ApiSerializer(UserSerializer::class))
->attributes(AddUserMoneyAttributes::class),
(new Extend\Settings())
->serializeToForum('shebaoting-money.moneyname', 'shebaoting-money.moneyname')
->serializeToForum('shebaoting-money.level_names', 'shebaoting-money.level_names')
->serializeToForum('shebaoting-money.money_scale', 'shebaoting-money.money_scale')
->serializeToForum('shebaoting-money.noshowzero', 'shebaoting-money.noshowzero')
// 新增的设置项
->serializeToForum('shebaoting-money.extra_char_threshold', 'shebaoting-money.extra_char_threshold')
->serializeToForum('shebaoting-money.extra_char_increment', 'shebaoting-money.extra_char_increment')
->serializeToForum('shebaoting-money.extra_char_points', 'shebaoting-money.extra_char_points'),
(new Extend\Event())
->listen(SavingPostEvent::class, [Listeners\GiveMoney::class, 'postWillBeSaved']) // 修改这里
->listen(Posted::class, [Listeners\GiveMoney::class, 'postWasPosted'])
->listen(PostRestored::class, [Listeners\GiveMoney::class, 'postWasRestored'])
->listen(PostHidden::class, [Listeners\GiveMoney::class, 'postWasHidden'])
->listen(PostDeleted::class, [Listeners\GiveMoney::class, 'postWasDeleted'])
->listen(Started::class, [Listeners\GiveMoney::class, 'discussionWasStarted'])
->listen(DiscussionRestored::class, [Listeners\GiveMoney::class, 'discussionWasRestored'])
->listen(DiscussionHidden::class, [Listeners\GiveMoney::class, 'discussionWasHidden'])
->listen(DiscussionDeleted::class, [Listeners\GiveMoney::class, 'discussionWasDeleted'])
->listen(Saving::class, [Listeners\GiveMoney::class, 'userWillBeSaved'])
->listen(Registered::class, [Listeners\GiveMoney::class, 'userWasRegistered'])
->listen(PostWasLiked::class, [Listeners\GiveMoney::class, 'postWasLiked'])
->listen(PostWasUnliked::class, [Listeners\GiveMoney::class, 'postWasUnliked']),
(new Extend\Routes('api'))
->get('/money-log', 'money.logs', UserMoneyLogsController::class)
];
// $extend = [
// (new Extend\Frontend('forum'))
// ->js(__DIR__ . '/js/dist/forum.js')
// ->css(__DIR__ . '/less/forum.less')
// ->route('/money-log', 'user.money-log'),
// (new Extend\Frontend('admin'))
// ->js(__DIR__ . '/js/dist/admin.js')
// ->css(__DIR__ . '/less/admin.less'),
// new Extend\Locales(__DIR__ . '/locale'),
// (new Extend\ApiSerializer(UserSerializer::class))
// ->attributes(AddUserMoneyAttributes::class),
// (new Extend\Settings())
// ->serializeToForum('shebaoting-money.moneyname', 'shebaoting-money.moneyname')
// ->serializeToForum('shebaoting-money.level_names', 'shebaoting-money.level_names')
// ->serializeToForum('shebaoting-money.money_scale', 'shebaoting-money.money_scale')
// ->serializeToForum('shebaoting-money.noshowzero', 'shebaoting-money.noshowzero'),
// (new Extend\Event())
// ->listen(SavingPost::class, [Listeners\GiveMoney::class, 'postWillBeSaved'])
// ->listen(SavingDiscussion::class, [Listeners\GiveMoney::class, 'discussionWillBeSaved'])
// ->listen(Posted::class, [Listeners\GiveMoney::class, 'postWasPosted'])
// ->listen(PostRestored::class, [Listeners\GiveMoney::class, 'postWasRestored'])
// ->listen(PostHidden::class, [Listeners\GiveMoney::class, 'postWasHidden'])
// ->listen(PostDeleted::class, [Listeners\GiveMoney::class, 'postWasDeleted'])
// ->listen(Started::class, [Listeners\GiveMoney::class, 'discussionWasStarted'])
// ->listen(DiscussionRestored::class, [Listeners\GiveMoney::class, 'discussionWasRestored'])
// ->listen(DiscussionHidden::class, [Listeners\GiveMoney::class, 'discussionWasHidden'])
// ->listen(DiscussionDeleted::class, [Listeners\GiveMoney::class, 'discussionWasDeleted'])
// ->listen(Saving::class, [Listeners\GiveMoney::class, 'userWillBeSaved'])
// ->listen(Registered::class, [Listeners\GiveMoney::class, 'userWasRegistered']),
// (new Extend\Routes('api'))
// ->get('/money-log', 'money.logs', UserMoneyLogsController::class)
// ];
// if (class_exists('Flarum\Likes\Event\PostWasLiked')) {
// $extend[] =
// (new Extend\Event())
// ->listen(PostWasLiked::class, [Listeners\GiveMoney::class, 'postWasLiked'])
// ->listen(PostWasUnliked::class, [Listeners\GiveMoney::class, 'postWasUnliked']);
// }
// return $extend;