PluginProbe
EmailKit – Email Customizer for WooCommerce & WP / 1.6.8
EmailKit – Email Customizer for WooCommerce & WP v1.6.8
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.8, 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 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\Emails\Woocommerce\PaymentGatewayEnabled();
86 new Admin\EmailSettings\WcEmailSettings();
87
88 return true;
89
90 }
91
92 return false;
93
94 }
95 protected function run_wp_mails(){
96
97 //Wordpress Emails class
98 new Admin\Emails\WordPress\NewUserRegister();
99 new Admin\Emails\WordPress\ResetAccount();
100 return true;
101
102 }
103
104
105 /**
106 * run api classes
107 * @return boolean true
108 */
109 public static function run_apis()
110 {
111
112 new Admin\Api\TemplateData();
113 new Admin\Api\FetchData();
114 new Admin\Api\UpdateData();
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 }