PluginProbe
Assistant – Every Day Productivity Apps / 1.5.1
Assistant – Every Day Productivity Apps v1.5.1
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 1.5.1, at backend/src/Providers/HooksServiceProvider.php

88 lines 2.8 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 use FL\Assistant\Hooks\Actions\OnCustomizeRegister;
14 use FL\Assistant\Hooks\Actions\OnWPHead;
15 use FL\Assistant\Hooks\Actions\OnWP;
16
17 use FL\Assistant\Hooks\Filters\OnHeartbeatReceived;
18 use FL\Assistant\Hooks\Filters\OnFLBuilderUIBarButtons;
19 use FL\Assistant\Hooks\Filters\OnScriptLoaderTag;
20
21 use FL\Assistant\Hooks\AdminColumns;
22 use FL\Assistant\Hooks\ImageProxy;
23 use FL\Assistant\Hooks\PostPreview;
24 use FL\Assistant\Hooks\CustomizerPreview;
25
26 class HooksServiceProvider extends ServiceProviderAbstract {
27
28 /**
29 * @throws \FL\Assistant\System\Container\InjectionException
30 */
31 public function bootstrap() {
32
33 register_activation_hook(
34 FL_ASSISTANT_FILE, function () {
35 do_action( 'fl_assistant_activate' );
36 }
37 );
38
39 $this->actions();
40 $this->filters();
41
42 new AdminColumns();
43 new ImageProxy();
44 new PostPreview();
45 new CustomizerPreview();
46 }
47
48 public function actions() {
49
50 // Enqueue Assistant frontend
51 $enqueue_scripts = $this->injector->make( OnEnqueueScripts::class );
52 add_action( 'wp_enqueue_scripts', $enqueue_scripts );
53 add_action( 'admin_enqueue_scripts', $enqueue_scripts );
54 add_action( 'fl_builder_ui_enqueue_scripts', $enqueue_scripts );
55
56 // setup user profile meta fields - shows on YOUR profile, not on others.
57 add_action( 'show_user_profile', $this->injector->make( OnEditUserProfile::class ) );
58 add_action( 'personal_options_update', $this->injector->make( OnPersonalOptionsUpdate::class ) );
59
60 // Add Assistant Toolbar Item
61 add_action( 'wp_before_admin_bar_render', $this->injector->make( OnWPBeforeAdminBarRender::class ) );
62
63 // post actions
64 add_action( 'before_delete_post', $this->injector->make( OnBeforeDeletePost::class ) );
65
66 // taxonomy actions
67 add_action( 'delete_term', $this->injector->make( OnDeleteTerm::class ) );
68
69 // Customize register
70 add_action( 'customize_register', $this->injector->make( OnCustomizeRegister::class ) );
71
72 // Code snippets
73 add_action( 'wp_head', $this->injector->make( OnWPHead::class ) );
74 add_action( 'wp', $this->injector->make( OnWP::class ) );
75
76 }
77
78 public function filters() {
79
80 // setup heartbeat
81 add_filter( 'heartbeat_received', $this->injector->make( OnHeartbeatReceived::class ), 11, 2 );
82
83 add_filter( 'fl_builder_ui_bar_buttons', $this->injector->make( OnFLBuilderUIBarButtons::class ) );
84
85 add_filter( 'script_loader_tag', $this->injector->make( OnScriptLoaderTag::class ), 10, 3 );
86 }
87 }
88