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

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