@@ -15,24 +15,71 @@ public static function run()
15
15
/** @var Autoloader $autoloader */
16
16
$ autoloader = $ context ->getService ('autoloader ' );
17
17
$ autoloader ->addClassMap ([
18
+ 'Foolz\Foolframe\Controller\Admin\Plugins\WebM ' => __DIR__ .'/classes/controller/admin.php ' ,
18
19
'Foolz\Foolfuuka\Plugins\UploadWebM\Model\WebM ' => __DIR__ .'/classes/model/webm.php '
19
20
]);
20
21
21
22
$ context ->getContainer ()
22
23
->register ('foolfuuka-plugin.upload_webm ' , 'Foolz\Foolfuuka\Plugins\UploadWebM\Model\WebM ' )
23
24
->addArgument ($ context );
24
25
25
- Event::forge ('Foolz\Foolfuuka\Model\Media::upload.config ' )
26
- ->setCall ('Foolz\Foolfuuka\Plugins\UploadWebM\Model\WebM::updateConfig ' )
27
- ->setPriority (1 );
26
+ Event::forge ('Foolz\Foolframe\Model\Context.handleWeb.has_auth ' )
27
+ ->setCall (function ($ object ) use ($ context ) {
28
+ if ($ context ->getService ('auth ' )->hasAccess ('maccess.admin ' )) {
29
+ $ context ->getRouteCollection ()->add (
30
+ 'foolfuuka.plugin.upload_webm.admin ' ,
31
+ new \Symfony \Component \Routing \Route (
32
+ '/admin/plugins/webm/{_suffix} ' ,
33
+ [
34
+ '_suffix ' => 'manage ' ,
35
+ '_controller ' => 'Foolz\Foolframe\Controller\Admin\Plugins\WebM::manage '
36
+ ],
37
+ [
38
+ '_suffix ' => '.* '
39
+ ]
40
+ )
41
+ );
28
42
29
- Event::forge ('Foolz\Foolfuuka\Model\Media::insert.result.media_data ' )
30
- ->setCall ('Foolz\Foolfuuka\Plugins\UploadWebM\Model\WebM::processMedia ' )
31
- ->setPriority (1 );
43
+ Event::forge ('Foolz\Foolframe\Controller\Admin.before.sidebar.add ' )
44
+ ->setCall (function ($ object ) {
45
+ $ sidebar = $ object ->getParam ('sidebar ' );
46
+ $ sidebar []['plugins ' ] = [
47
+ 'content ' => [
48
+ 'webm/manage ' => [
49
+ 'level ' => 'admin ' ,
50
+ 'name ' => 'WebM Preferences ' ,
51
+ 'icon ' => 'icon-file '
52
+ ]
53
+ ]
54
+ ];
55
+ $ object ->setParam ('sidebar ' , $ sidebar );
56
+ });
57
+ }
58
+ });
32
59
33
- Event::forge ('Foolz\Foolfuuka\Model\Media::insert.result.create_thumbnail ' )
34
- ->setCall ('Foolz\Foolfuuka\Plugins\UploadWebM\Model\WebM::processThumb ' )
35
- ->setPriority (1 );
60
+ $ auth = $ context ->getService ('auth ' );
61
+ $ pref = $ context ->getService ('preferences ' );
62
+
63
+ if (
64
+ $ auth ->hasAccess ('maccess.admin ' )
65
+ || ($ auth ->hasAccess ('maccess.mod ' ) && $ pref ->get ('foolfuuka.plugins.upload_webm.allow_mods ' ))
66
+ || $ pref ->get ('foolfuuka.plugins.upload_webm.allow_users ' )
67
+ ) {
68
+ Event::forge ('Foolz\Foolfuuka\Model\Media::upload.config ' )
69
+ ->setCall (function ($ object ) use ($ context ) {
70
+ $ context ->getService ('foolfuuka-plugin.upload_webm ' )->updateConfig ($ object );
71
+ });
72
+
73
+ Event::forge ('Foolz\Foolfuuka\Model\Media::insert.result.media_data ' )
74
+ ->setCall (function ($ object ) use ($ context ) {
75
+ $ context ->getService ('foolfuuka-plugin.upload_webm ' )->processMedia ($ object );
76
+ });
77
+
78
+ Event::forge ('Foolz\Foolfuuka\Model\Media::insert.result.create_thumbnail ' )
79
+ ->setCall (function ($ object ) use ($ context ) {
80
+ $ context ->getService ('foolfuuka-plugin.upload_webm ' )->processThumb ($ object );
81
+ });
82
+ }
36
83
});
37
84
}
38
85
}
0 commit comments