-
-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathextend.php
More file actions
59 lines (46 loc) · 1.76 KB
/
Copy pathextend.php
File metadata and controls
59 lines (46 loc) · 1.76 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
<?php
/*
* This file is part of fof/user-bio.
*
* Copyright (c) FriendsOfFlarum.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace FoF\UserBio;
use Flarum\Api\Resource;
use Flarum\Extend as Flarum;
use Flarum\Settings\Event\Saved;
use Flarum\User\Event\Saving;
use Flarum\User\User;
return [
(new Flarum\Frontend('forum'))
->js(__DIR__.'/js/dist/forum.js')
->css(__DIR__.'/resources/less/forum.less'),
(new Flarum\Frontend('admin'))
->js(__DIR__.'/js/dist/admin.js'),
new Flarum\Locales(__DIR__.'/resources/locale'),
(new Flarum\Model(User::class))
->cast('bio', 'string'),
(new Flarum\Event())
->listen(Saving::class, Listeners\SaveUserBio::class)
->listen(Saved::class, Listeners\ClearFormatterCache::class),
// Flarum 2.x JSON:API - declare ALL bio-related fields via ApiResource
(new Flarum\ApiResource(Resource\UserResource::class))
->fields(Api\AddUserBioFields::class),
(new Flarum\Policy())
->modelPolicy(User::class, Access\UserPolicy::class),
(new Flarum\Settings())
->serializeToForum('fof-user-bio.maxLength', 'fof-user-bio.maxLength', 'intVal')
->serializeToForum('fof-user-bio.maxLines', 'fof-user-bio.maxLines', 'intVal')
->default('fof-user-bio.maxLength', 200)
->default('fof-user-bio.maxLines', 5),
(new Flarum\ServiceProvider())
->register(Formatter\FormatterServiceProvider::class),
// GDPR Integration - Flarum 2.x
(new Flarum\Conditional())
->whenExtensionEnabled('flarum-gdpr', fn () => [
(new \Flarum\Gdpr\Extend\UserData())
->addType(Data\UserBioData::class),
]),
];