PluginProbe
Assistant – Every Day Productivity Apps / 0.7.0
Assistant – Every Day Productivity Apps v0.7.0
1.5.5 trunk 0.1.0 0.2.0 0.2.1 0.2.2 0.3.0 0.3.1 0.4 0.4.1 0.4.2 0.5.0 0.5.1 0.6.0 0.7.0 0.7.0.2 0.7.0.3 0.7.0.4 0.7.0.5 0.7.0.6 0.7.0.7 0.7.0.8 0.7.0.9 0.7.1 1.0 All 71 releases
assistant / backend / src / Providers / HooksServiceProvider.php

HooksServiceProvider.php in Assistant – Every Day Productivity Apps 0.7.0, at backend/src/Providers/HooksServiceProvider.php

77 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FL\Assistant\Providers;
4
5 use FL\Assistant\System\Contracts\ServiceProviderAbstract;
6
7 use FL\Assistant\Hooks\Actions\OnEditUserProfile;
8 use FL\Assistant\Hooks\Actions\OnEnqueueScripts;
9 use FL\Assistant\Hooks\Actions\OnPersonalOptionsUpdate;
10 use FL\Assistant\Hooks\Actions\OnWPBeforeAdminBarRender;
11 use FL\Assistant\Hooks\Actions\OnBeforeDeletePost;
12 use FL\Assistant\Hooks\Actions\OnDeleteTerm;
13
14 use FL\Assistant\Hooks\Filters\OnHeartbeatReceived;
15 use FL\Assistant\Hooks\Filters\OnFLBuilderUIBarButtons;
16 use FL\Assistant\Hooks\Filters\OnScriptLoaderTag;
17
18 use FL\Assistant\Hooks\AdminColumns;
19 use FL\Assistant\Hooks\ImageProxy;
20 use FL\Assistant\Hooks\PostPreview;
21 use FL\Assistant\Hooks\CustomizerPreview;
22
23 class HooksServiceProvider extends ServiceProviderAbstract {
24
25 /**
26 * @throws \FL\Assistant\System\Container\InjectionException
27 */
28 public function bootstrap() {
29
30 register_activation_hook(
31 FL_ASSISTANT_FILE, function () {
32 do_action( 'fl_assistant_activate' );
33 }
34 );
35
36 $this->actions();
37 $this->filters();
38
39 new AdminColumns();
40 new ImageProxy();
41 new PostPreview();
42 new CustomizerPreview();
43 }
44
45 public function actions() {
46
47 // Enqueue Assistant frontend
48 $enqueue_scripts = $this->injector->make( OnEnqueueScripts::class );
49 add_action( 'wp_enqueue_scripts', $enqueue_scripts );
50 add_action( 'admin_enqueue_scripts', $enqueue_scripts );
51
52 // setup user profile meta fields - shows on YOUR profile, not on others.
53 add_action( 'show_user_profile', $this->injector->make( OnEditUserProfile::class ) );
54 add_action( 'personal_options_update', $this->injector->make( OnPersonalOptionsUpdate::class ) );
55
56 // Add Assistant Toolbar Item
57 add_action( 'wp_before_admin_bar_render', $this->injector->make( OnWPBeforeAdminBarRender::class ) );
58
59 // post actions
60 add_action( 'before_delete_post', $this->injector->make( OnBeforeDeletePost::class ) );
61
62 // taxonomy actions
63 add_action( 'delete_term', $this->injector->make( OnDeleteTerm::class ) );
64
65 }
66
67 public function filters() {
68
69 // setup heartbeat
70 add_filter( 'heartbeat_received', $this->injector->make( OnHeartbeatReceived::class ), 11, 2 );
71
72 add_filter( 'fl_builder_ui_bar_buttons', $this->injector->make( OnFLBuilderUIBarButtons::class ) );
73
74 add_filter( 'script_loader_tag', $this->injector->make( OnScriptLoaderTag::class ), 10, 3 );
75 }
76 }
77