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

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