PluginProbe
EmailKit – Email Customizer for WooCommerce & WP / 1.5.7
EmailKit – Email Customizer for WooCommerce & WP v1.5.7
1.6.8 1.6.7 trunk 1.0.0 1.2.0 1.4.0 1.4.5 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6
emailkit / includes / Admin.php

Admin.php in EmailKit – Email Customizer for WooCommerce & WP 1.5.7, at includes/Admin.php

149 lines 4.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace EmailKit;
4
5 defined('ABSPATH') || exit;
6
7 use EmailKit\Admin as EmailKitAdmin;
8
9 /**
10 * The admin class
11 */
12 class Admin
13 {
14
15
16 /**
17 * Initialize the class
18 */
19 public function __construct()
20 {
21 $this->load_emailkit(); // Load emailkit classes
22 $this->run_apis(); // Run api classes
23 $this->run_wc_mails(); // Check if WooCommerce is active then run run wocommerce class
24 $this->run_wp_mails(); // Run wordpress emails class
25 add_action('admin_menu', [$this, 'admin_menu']);// Register main admin menu
26 add_action('admin_menu', [$this, 'register_settings'], 999); //register settings submenu
27
28 }
29
30 protected function load_emailkit(){
31
32 new Admin\CPT();
33 new Admin\AssetsLoader();
34 new Admin\AssetConflictManager();
35 new Admin\EmailKitAjax();
36 new Admin\EmailKitHooks();
37 new Admin\Hooks();
38 new Admin\MetaBox();
39 new Admin\EmailKitEditor\EmailKitEditorInit();
40
41 return true;
42 }
43
44 /**
45 * Check if the woocommerce plugin is active run woocommerce class
46 *
47 * @return boolean
48 */
49 protected function run_wc_mails(){
50
51 if(!function_exists('is_plugin_active')){
52 // Include necessary WordPress files
53 require_once ABSPATH . 'wp-admin/includes/plugin.php';
54
55 }
56
57 if(is_plugin_active('woocommerce/woocommerce.php')){
58
59
60 new Admin\Emails\Woocommerce\NewOrder();
61 new Admin\Emails\Woocommerce\ProcessingOrder();
62 new Admin\Emails\Woocommerce\CancelledOrder();
63 new Admin\Emails\Woocommerce\FailedOrder();
64 new Admin\Emails\Woocommerce\OrderOnHold();
65 new Admin\Emails\Woocommerce\CompletedOrder();
66 new Admin\Emails\Woocommerce\RefundOrder();
67 new Admin\Emails\Woocommerce\CustomerNote();
68 new Admin\Emails\Woocommerce\InvoiceOrder();
69 new Admin\Emails\Woocommerce\ResetPassword();
70 new Admin\Emails\Woocommerce\NewAccount();
71 new Admin\Emails\Woocommerce\BackOrder();
72 new Admin\Emails\Woocommerce\LowStock();
73 new Admin\Emails\Woocommerce\NoStock();
74 new Admin\Emails\Woocommerce\PartialRefund();
75 new Admin\EmailSettings\WcEmailSettings();
76
77 return true;
78
79 }
80
81 return false;
82
83 }
84 protected function run_wp_mails(){
85
86 //Wordpress Emails class
87 new Admin\Emails\WordPress\NewUserRegister();
88 new Admin\Emails\WordPress\ResetAccount();
89 return true;
90
91 }
92
93
94 /**
95 * run api classes
96 * @return boolean true
97 */
98 public static function run_apis()
99 {
100
101 new Admin\Api\TemplateData();
102 new Admin\Api\FetchData();
103 new Admin\Api\DeleteData();
104 new Admin\Api\UpdateData();
105 new Admin\Api\UploadImage();
106 new Admin\Api\DeleteImage();
107 new Admin\Api\TestEmail();
108 new Admin\Api\ShortCodeData();
109 new Admin\Api\TemplateStatus();
110 new Admin\Api\OrderItem();
111 new Admin\Api\TemplateTypesData();
112
113 return true;
114
115 }
116
117 function admin_menu()
118 {
119 if (current_user_can('manage_options')) {
120 add_menu_page(
121 esc_html__('EmailKit', 'emailkit'),
122 esc_html__('EmailKit', 'emailkit'),
123 'read',
124 'emailkit-menu',
125 '',
126 'dashicons-email-alt',
127 35
128 );
129 }
130 }
131
132 public function register_settings(){
133 if (current_user_can('manage_options')) {
134
135 add_submenu_page( 'emailkit-menu', esc_html__( 'Settings', 'emailkit' ), esc_html__( 'Settings', 'emailkit' ), 'manage_options', 'emailkit-menu-settings', [$this, 'register_settings_contents__settings'], 11);
136 }
137 }
138
139 public function register_settings_contents__settings(){
140 ?>
141 <div class="wrap">
142 <h1 class="wp-heading-inline"> EmailKit Setings </h1>
143 <?php do_action('emailkit-settings'); ?>
144 <div class="clear"></div>
145 </div>
146 <?php
147
148 }
149 }