PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 3.0.0
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v3.0.0
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 3 years ago action.php 3 years ago api.php 3 years ago base.php 3 years ago plugin-status.php 3 years ago
base.php
198 lines
1 <?php
2
3 namespace ShopEngine\Core\Settings;
4
5 use ShopEngine\Core\Builders\Action;
6 use ShopEngine\Core\PageTemplates\Page_Templates;
7 use ShopEngine\Core\Template_Cpt;
8 use ShopEngine\Traits\Singleton;
9
10 defined('ABSPATH') || exit;
11
12 class Base {
13 use Singleton;
14
15 private $menu_link_part;
16
17
18 /**
19 *
20 * @since 1.0.0
21 *
22 */
23 public function init() {
24
25 new Api();
26
27 $this->menu_link_part = admin_url('edit.php?post_type=' . \ShopEngine\Core\Template_Cpt::TYPE);
28
29 // check permission for manage user
30 if(current_user_can('manage_options')) {
31 add_action('admin_menu', [$this, 'menu_getting_started']);
32 add_action('admin_menu', [$this, 'menu_others'], 100);
33 }
34
35 add_action('admin_enqueue_scripts', function () {
36
37 if(isset($_REQUEST['post_type']) && $_REQUEST['post_type'] === \ShopEngine\Core\Template_Cpt::TYPE) {
38
39 if(function_exists('wc_get_products') && !\ShopEngine\Core\Builders\Templates::has_simple_product()) {
40
41 \ShopEngine\Core\Builders\Templates::create_wc_simple_product();
42 }
43 }
44
45 }, 0);
46
47 add_action('before_delete_post', function($post_id, $post) {
48 if('shopengine-template' === $post->post_type) {
49 Action::delete_template_form_activated_list($post_id);
50 }
51 }, 10, 2);
52
53 add_action('admin_head', [$this, 'admin_head_enqueue_scripts']);
54 add_action('admin_enqueue_scripts', [$this, 'js_css_admin']);
55 add_action('admin_footer', [$this, 'content']);
56 }
57
58 public function admin_head_enqueue_scripts() {
59 echo "<script>
60 jQuery(document).ready( function($) {
61 $('.toplevel_page_shopengine-settings').find('.wp-first-item').css({display:'none'});
62 $('.shopengine_pro_aware').parent().attr('target','_blank');
63 });
64 </script>";
65 }
66
67 public function js_css_admin() {
68
69 wp_enqueue_style('shopengine-admin-style-common', \ShopEngine::plugin_url() . 'assets/css/admin-style-common.css', false, \ShopEngine::version());
70
71 // get screen id
72 $screen = get_current_screen();
73
74 $cptName = \ShopEngine\Core\Template_Cpt::TYPE;
75
76 $dashboardPage = 'toplevel_page_shopengine-settings';
77
78 if(in_array($screen->id, ['edit-' . $cptName, 'shopengine_page_mt-form-settings', $dashboardPage])) {
79
80 wp_enqueue_script('htm', \ShopEngine::plugin_url() . 'assets/js/htm.js', null, \ShopEngine::version(), true);
81
82 wp_enqueue_script('shopengine-admin-js', \ShopEngine::plugin_url() . 'assets/js/app.js', ['htm', 'jquery', 'wp-element'], \ShopEngine::version(), true);
83
84 // page template lists
85 $page_templates = Page_Templates::instance()->getTemplates();
86
87 wp_localize_script('shopengine-admin-js', 'shopengine_admin_var', [
88 'version' => \ShopEngine::version(),
89 'package_type' => \ShopEngine::package_type(),
90 'license_status' => \ShopEngine::license_status(),
91 'cpt' => $cptName,
92 'resturl' => get_rest_url(),
93 'adminurl' => get_admin_url(),
94 'siteurl' => get_option('siteurl'),
95 'rest_nonce' => wp_create_nonce('wp_rest'),
96 'plugin_url' => \ShopEngine::plugin_url(),
97 'pricing_page' => \ShopEngine::landing_page(),
98 'form_prefix' => \ShopEngine::SHOPENGINE_PREFIX,
99 'template_types' => json_encode($page_templates),
100 'elementor_installed' => did_action('elementor/loaded') ? 'yes' : 'no',
101 'supported_builders' => [
102 \ShopEngine\Core\Builders\Action::EDIT_WITH_ELEMENTOR => 'Elementor',
103 \ShopEngine\Core\Builders\Action::EDIT_WITH_GUTENBERG => 'Gutenberg',
104 ],
105 'default_builder' => did_action('elementor/loaded') ? \ShopEngine\Core\Builders\Action::EDIT_WITH_ELEMENTOR : \ShopEngine\Core\Builders\Action::EDIT_WITH_GUTENBERG,
106 'license_activated_message' => sprintf(esc_html__('Congratulations! Your product is activated for "%s"', 'shopengine'), parse_url(home_url(), PHP_URL_HOST)),
107 'is_rtl' => is_rtl() ? 'true' : 'false',
108 ]);
109
110 wp_enqueue_style('shopengine-admin-style', \ShopEngine::plugin_url() . 'assets/css/admin-style.css', false, \ShopEngine::version());
111 }
112
113 if($screen->id == 'edit-shopengine-entry' || $screen->id == 'shopengine-entry') {
114 wp_enqueue_style('shopengine-ui', \ShopEngine::plugin_url() . 'assets/css/design-ui.css', false, \ShopEngine::version());
115 wp_enqueue_script('shopengine-entry-script', \ShopEngine::plugin_url() . 'assets/js/admin-entry-script.js', [], \ShopEngine::version(), true);
116 }
117 }
118
119
120 function menu_getting_started() {
121 add_menu_page(
122 esc_html__('ShopEngine', 'shopengine'),
123 esc_html__('ShopEngine', 'shopengine'),
124 'manage_options',
125 'shopengine-settings',
126 [$this, 'redirect_to_content'],
127 \ShopEngine::plugin_url() . 'assets/images/icons/shopengine_icon_white.svg',
128 '58.7'
129 );
130
131 add_submenu_page(
132 'shopengine-settings',
133 esc_html__('Getting Started', 'shopengine'),
134 esc_html__('Getting Started', 'shopengine'),
135 'manage_options',
136 $this->menu_link_part . '#getting-started'
137 );
138 }
139
140 public function menu_others() {
141 add_submenu_page(
142 'shopengine-settings',
143 esc_html__('Modules', 'shopengine'),
144 esc_html__('Modules', 'shopengine'),
145 'manage_options',
146 $this->menu_link_part . '#shopengine-modules'
147 );
148
149 add_submenu_page(
150 'shopengine-settings',
151 esc_html__('Widgets', 'shopengine'),
152 esc_html__('Widgets', 'shopengine'),
153 'manage_options',
154 $this->menu_link_part . '#shopengine-widgets'
155 );
156
157 add_submenu_page(
158 'shopengine-settings',
159 esc_html__('Get Help', 'shopengine'),
160 esc_html__('Get Help', 'shopengine'),
161 'manage_options',
162 $this->menu_link_part . '#shopengine-get-help'
163 );
164
165 // license activation & go premium menu links
166 if(\ShopEngine::package_type() != 'free') { // is pro
167 add_submenu_page(
168 'shopengine-settings',
169 '<span style="color: #49dd85;" class="shopengine_pro_license pro">' . esc_html__('License', 'shopengine') . '</span>',
170 '<span style="color: #49dd85;" class="shopengine_pro_license pro">' . esc_html__('License', 'shopengine') . '</span>',
171 'manage_options',
172 $this->menu_link_part . '#shopengine-license'
173 );
174 } else { // is free
175 add_submenu_page(
176 'shopengine-settings',
177 '<span style="color: #f9b015;" class="shopengine_pro_aware pro">' . esc_html__('Upgrade to Premium', 'shopengine') . '</span>',
178 '<span style="color: #f9b015;" class="shopengine_pro_aware pro">' . esc_html__('Upgrade to Premium', 'shopengine') . '</span>',
179 'manage_options',
180 \ShopEngine::landing_page()
181 );
182 }
183 }
184
185 function redirect_to_content() {
186 wp_redirect($this->menu_link_part . '#getting-started');
187 }
188
189 function content() {
190 $screen = get_current_screen();
191
192 if($screen->id == 'edit-' . Template_Cpt::TYPE) {
193 include_once \ShopEngine::plugin_dir() . 'core/settings/screens/default.php';
194 }
195 }
196
197 }
198