PluginProbe
EmailKit – Email Customizer for WooCommerce & WP / 1.6.0
EmailKit – Email Customizer for WooCommerce & WP v1.6.0
1.6.9 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.6.0, at includes/Admin.php

158 lines 4.5 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 $metform_version = class_exists( '\MetForm\Plugin' ) ? \MetForm\Plugin::instance()->version() : '0.0.0';
42
43 if ( did_action( 'metform/after_load' ) && version_compare( $metform_version, '4.0.0', '>=' ) ) {
44
45 new Admin\EmailSettings\MetformEmailSettings();
46 }
47
48 return true;
49 }
50
51 /**
52 * Check if the woocommerce plugin is active run woocommerce class
53 *
54 * @return boolean
55 */
56 protected function run_wc_mails(){
57
58 if(!function_exists('is_plugin_active')){
59 // Include necessary WordPress files
60 require_once ABSPATH . 'wp-admin/includes/plugin.php';
61
62 }
63
64 if(is_plugin_active('woocommerce/woocommerce.php')){
65
66
67 new Admin\Emails\Woocommerce\NewOrder();
68 new Admin\Emails\Woocommerce\ProcessingOrder();
69 new Admin\Emails\Woocommerce\CancelledOrder();
70 new Admin\Emails\Woocommerce\FailedOrder();
71 new Admin\Emails\Woocommerce\FailedOrderCustomer();
72 new Admin\Emails\Woocommerce\OrderOnHold();
73 new Admin\Emails\Woocommerce\CompletedOrder();
74 new Admin\Emails\Woocommerce\RefundOrder();
75 new Admin\Emails\Woocommerce\CustomerNote();
76 new Admin\Emails\Woocommerce\InvoiceOrder();
77 new Admin\Emails\Woocommerce\ResetPassword();
78 new Admin\Emails\Woocommerce\NewAccount();
79 new Admin\Emails\Woocommerce\BackOrder();
80 new Admin\Emails\Woocommerce\LowStock();
81 new Admin\Emails\Woocommerce\NoStock();
82 new Admin\Emails\Woocommerce\PartialRefund();
83 new Admin\EmailSettings\WcEmailSettings();
84
85 return true;
86
87 }
88
89 return false;
90
91 }
92 protected function run_wp_mails(){
93
94 //Wordpress Emails class
95 new Admin\Emails\WordPress\NewUserRegister();
96 new Admin\Emails\WordPress\ResetAccount();
97 return true;
98
99 }
100
101
102 /**
103 * run api classes
104 * @return boolean true
105 */
106 public static function run_apis()
107 {
108
109 new Admin\Api\TemplateData();
110 new Admin\Api\FetchData();
111 new Admin\Api\DeleteData();
112 new Admin\Api\UpdateData();
113 new Admin\Api\UploadImage();
114 new Admin\Api\DeleteImage();
115 new Admin\Api\TestEmail();
116 new Admin\Api\ShortCodeData();
117 new Admin\Api\TemplateStatus();
118 new Admin\Api\OrderItem();
119 new Admin\Api\TemplateTypesData();
120 new Admin\Api\CheckForm();
121
122 return true;
123
124 }
125
126 function admin_menu()
127 {
128 if (current_user_can('manage_options')) {
129 add_menu_page(
130 esc_html__('EmailKit', 'emailkit'),
131 esc_html__('EmailKit', 'emailkit'),
132 'read',
133 'emailkit-menu',
134 '',
135 'dashicons-email-alt',
136 35
137 );
138 }
139 }
140
141 public function register_settings(){
142 if (current_user_can('manage_options')) {
143
144 add_submenu_page( 'emailkit-menu', esc_html__( 'Settings', 'emailkit' ), esc_html__( 'Settings', 'emailkit' ), 'manage_options', 'emailkit-menu-settings', [$this, 'register_settings_contents__settings'], 11);
145 }
146 }
147
148 public function register_settings_contents__settings(){
149 ?>
150 <div class="wrap">
151 <h1 class="wp-heading-inline"> EmailKit Settings </h1>
152 <?php do_action('emailkit-settings'); ?>
153 <div class="clear"></div>
154 </div>
155 <?php
156
157 }
158 }