PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 1.3.1
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v1.3.1
4.9.1 4.9.0 2.0.0 2.1.0 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.0 2.5.1 3.0.0 3.1.0 3.1.1 4.0.0 4.0.1 4.1.0 4.1.1 4.2.0 4.2.1 4.3.0 4.3.1 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 trunk 0.1.2-beta 0.1.3-beta 0.1.4-beta 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.5.0 1.5.1 1.6.0 1.6.1 1.7.0 1.8.0 1.8.1 1.9.0
shopengine / core / settings / base.php
shopengine / core / settings Last commit date
screens 4 years ago action.php 4 years ago api.php 4 years ago base.php 4 years ago
base.php
182 lines
1 <?php
2
3 namespace ShopEngine\Core\Settings;
4
5 use ShopEngine\Core\PageTemplates\Page_Templates;
6 use ShopEngine\Core\Template_Cpt;
7 use ShopEngine\Traits\Singleton;
8
9 defined('ABSPATH') || exit;
10
11 class Base {
12 use Singleton;
13
14 private $menu_link_part;
15
16
17 /**
18 *
19 * @since 1.0.0
20 *
21 */
22 public function init() {
23 new Api();
24
25 $this->menu_link_part = admin_url('edit.php?post_type=' . \ShopEngine\Core\Template_Cpt::TYPE);
26
27 // check permission for manage user
28 if(current_user_can('manage_options')) {
29 add_action('admin_menu', [$this, 'admin_menu']);
30
31 if(\ShopEngine::package_type() != 'free'){
32 add_action('admin_menu', [$this, 'license_menu'], 999);
33 }else{
34 add_action('admin_menu', [$this, 'upgrade_premium_menu'], 999);
35 }
36 }
37
38 add_action('admin_enqueue_scripts', function(){
39
40 if(isset($_REQUEST['post_type']) && $_REQUEST['post_type'] === \ShopEngine\Core\Template_Cpt::TYPE) {
41
42 if(function_exists('wc_get_products') && !\ShopEngine\Core\Builders\Templates::has_simple_product()) {
43
44 \ShopEngine\Core\Builders\Templates::create_wc_simple_product();
45 }
46 }
47
48 }, 0);
49
50 add_action('admin_head', [ $this, 'admin_head_enqueue_scripts']);
51 add_action('admin_enqueue_scripts', [$this, 'js_css_admin']);
52 add_action('admin_footer', [$this, 'content']);
53 }
54
55 public function admin_head_enqueue_scripts() {
56 echo "<script>
57 jQuery(document).ready( function($) {
58 $('.toplevel_page_shopengine-settings').find('.wp-first-item').css({display:'none'});
59 $('.shopengine_pro_aware').parent().attr('target','_blank');
60 });
61 </script>";
62 }
63
64 public function js_css_admin() {
65
66 wp_enqueue_style('shopengine-admin-style-common', \ShopEngine::plugin_url() . 'assets/css/admin-style-common.css', false, \ShopEngine::version());
67
68 // get screen id
69 $screen = get_current_screen();
70
71 $cptName = \ShopEngine\Core\Template_Cpt::TYPE;
72
73 $dashboardPage = 'toplevel_page_shopengine-settings';
74
75 if(in_array($screen->id, ['edit-' . $cptName, 'shopengine_page_mt-form-settings', $dashboardPage])) {
76
77 wp_enqueue_script('htm', \ShopEngine::plugin_url() . 'assets/js/htm.js', null, \ShopEngine::version(), true);
78
79 wp_enqueue_script('shopengine-admin-js', \ShopEngine::plugin_url() . 'assets/js/app.js', array('htm', 'jquery', 'wp-element'), \ShopEngine::version(), true);
80
81 // page template lists
82 $page_templates = Page_Templates::instance()->getTemplates() ;
83
84 wp_localize_script('shopengine-admin-js', 'shopengine_admin_var', [
85 'version' => \ShopEngine::version(),
86 'package_type' => \ShopEngine::package_type(),
87 'license_status' => \ShopEngine::license_status(),
88 'license_activated_message' => sprintf( esc_html__('Congratulations! Your product is activated for "%s"', 'shopengine'), parse_url(home_url(), PHP_URL_HOST)),
89 'cpt' => $cptName,
90 'resturl' => get_rest_url(),
91 'adminurl' => get_admin_url(),
92 'siteurl' => get_option('siteurl'),
93 'rest_nonce' => wp_create_nonce('wp_rest'),
94 'plugin_url' => \ShopEngine::plugin_url(),
95 'pricing_page' => \ShopEngine::landing_page(),
96 'form_prefix' => \ShopEngine::SHOPENGINE_PREFIX,
97 'template_types' => json_encode($page_templates),
98 ]);
99
100 wp_enqueue_style('shopengine-admin-style', \ShopEngine::plugin_url() . 'assets/css/admin-style.css', false, \ShopEngine::version());
101 }
102
103 if($screen->id == 'edit-shopengine-entry' || $screen->id == 'shopengine-entry') {
104 wp_enqueue_style('shopengine-ui', \ShopEngine::plugin_url() . 'assets/css/design-ui.css', false, \ShopEngine::version());
105 wp_enqueue_script('shopengine-entry-script', \ShopEngine::plugin_url() . 'assets/js/admin-entry-script.js', array(), \ShopEngine::version(), true);
106 }
107
108 }
109
110
111 function admin_menu() {
112
113 add_menu_page(
114 esc_html__('ShopEngine', 'shopengine'),
115 esc_html__('ShopEngine', 'shopengine'),
116 'manage_options',
117 'shopengine-settings',
118 [$this, 'redirect_to_content'],
119 \ShopEngine::plugin_url() . 'assets/images/icons/shopengine_icon_white.svg',
120 '58.7'
121 );
122
123 add_submenu_page(
124 'shopengine-settings',
125 esc_html__('Getting Started', 'shopengine'),
126 esc_html__('Getting Started', 'shopengine'),
127 'manage_options',
128 $this->menu_link_part . '#getting-started'
129 );
130
131 add_submenu_page(
132 'shopengine-settings',
133 esc_html__('Modules', 'shopengine'),
134 esc_html__('Modules', 'shopengine'),
135 'manage_options',
136 $this->menu_link_part . '#shopengine-modules'
137 );
138
139 add_submenu_page(
140 'shopengine-settings',
141 esc_html__('Widgets', 'shopengine'),
142 esc_html__('Widgets', 'shopengine'),
143 'manage_options',
144 $this->menu_link_part . '#shopengine-widgets'
145 );
146
147 }
148
149 public function license_menu(){
150 add_submenu_page(
151 'shopengine-settings',
152 '<span style="color: #49dd85;" class="shopengine_pro_license pro">'.esc_html__('License', 'shopengine').'</span>',
153 '<span style="color: #49dd85;" class="shopengine_pro_license pro">'.esc_html__('License', 'shopengine').'</span>',
154 'manage_options',
155 $this->menu_link_part . '#shopengine-license'
156 );
157 }
158
159 public function upgrade_premium_menu(){
160 add_submenu_page(
161 'shopengine-settings',
162 '<span style="color: #f9b015;" class="shopengine_pro_aware pro">'.esc_html__('Upgrade to Premium', 'shopengine').'</span>',
163 '<span style="color: #f9b015;" class="shopengine_pro_aware pro">'.esc_html__('Upgrade to Premium', 'shopengine').'</span>',
164 'manage_options',
165 \ShopEngine::landing_page()
166 );
167 }
168
169 function redirect_to_content() {
170 wp_redirect($this->menu_link_part . '#getting-started');
171 }
172
173 function content() {
174 $screen = get_current_screen();
175
176 if($screen->id == 'edit-' . Template_Cpt::TYPE) {
177 include_once \ShopEngine::plugin_dir() . 'core/settings/screens/default.php';
178 }
179 }
180
181 }
182