PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 2.5.1
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v2.5.1
4.9.2 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 / api.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
api.php
157 lines
1 <?php
2 namespace ShopEngine\Core\Settings;
3
4 use ShopEngine\Core\Onboard\Onboard;
5 use ShopEngine\Core\Register\Model;
6
7 defined('ABSPATH') || exit;
8
9 /**
10 * Class Api
11 *
12 * @package ShopEngine\Core\Builders
13 */
14 class Api extends \ShopEngine\Base\Api {
15
16 public function config() {
17
18 $this->prefix = 'settings';
19 $this->param = "";
20 }
21
22
23 public function post_save() {
24
25 $data = json_decode($this->request->get_body(), true);
26
27 if(!empty($data['widgets'])) {
28
29 Model::source('settings')->set_option('widgets', $data['widgets']);
30 }
31
32 if(!empty($data['modules'])) {
33
34 Model::source('settings')->set_option('modules', $data['modules']);
35 }
36
37 if(!empty($data['userdata'])) {
38
39 Model::source('settings')->set_option('userdata', $data['userdata']);
40 }
41
42 do_action('shopengine/core/settings/on_save');
43
44 return [
45 'status' => 'success',
46 'message' => esc_html__('settings saved successfully.', 'shopengine'),
47 ];
48 }
49
50
51 public function get_fields() {
52 $fields = array_merge(
53 Action::instance()->get_fields(),
54 ['sample_designs' => \ShopEngine\Core\Sample_Designs\Base::instance()->get_designs()]
55 );
56
57 return apply_filters('shopengine/core/settings/return_fields', $fields);
58 }
59
60 public function get_data() {
61 $data = Action::instance()->get_data();
62
63 return apply_filters('shopengine/core/settings/return_data', $data);
64 }
65
66 public function get_our_others_plugin_install_api() {
67 $plugins = [
68 'elementskit-lite' => 'elementskit-lite.php',
69 'metform' => 'metform.php',
70 'wp-social' => 'wp-social.php',
71 'wp-ultimate-review' => 'wp-ultimate-review.php',
72 'wp-fundraising-donation' => 'wp-fundraising-donation.php',
73 'getgenie' => 'getgenie.php'
74 ];
75
76 $plugin_status = Plugin_Status::instance();
77 $plugins_data = [];
78
79 foreach($plugins as $slug => $file) {
80 $plugins_data[$slug] = $plugin_status->get_status($slug.'/'.$file);
81 }
82 return $plugins_data;
83 }
84
85 public function post_save_onboard() {
86 $data = $this->request->get_params();
87 $onboard = new Onboard();
88 return $onboard->submit($data);
89 }
90
91 public function get_categories() {
92
93 $data = $this->request->get_params();
94
95 $query_args = [
96 'taxonomy' => ['product_cat'], // taxonomy name
97 'orderby' => 'name',
98 'order' => 'DESC',
99 'hide_empty' => false,
100 'number' => 10
101 ];
102
103 if(isset($data['only_parent'])){
104 $query_args['parent'] = 0;
105 }
106
107 if(isset($data['ids'])){
108 $ids = explode(',', $data['ids']);
109 $query_args['include'] = $ids;
110 }
111 if(isset($data['s'])){
112 $query_args['name__like'] = $data['s'];
113 }
114
115 $product_cat = get_terms($query_args);
116 $product_categories = [];
117 foreach($product_cat as $category) {
118 $product_categories[$category->term_id] = $category->name;
119 }
120 return [
121 'status' => 'success',
122 'result' => $product_categories,
123 'message' => esc_html__('categories fetched', 'shopengine')
124 ];
125 }
126
127 public function get_posts() {
128
129 $data = $this->request->get_params();
130
131 if(empty($data['post_type'])) {
132 return [
133 'status' => 'failed'
134 ];
135 }
136
137 $search = isset($data['s']) ? $data['s'] : '';
138
139 global $wpdb;
140
141 $posts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_type=%s AND post_status='publish' AND post_title LIKE %s LIMIT 10", sanitize_text_field($data['post_type']), '%'. $wpdb->esc_like( $search ) .'%') );
142
143 $post_items = [];
144
145 foreach($posts as $post) {
146 array_push($post_items, ['id' => $post->ID, 'text' => $post->post_title]);
147 }
148
149 return [
150 'status' => 'success',
151 'results' => $post_items,
152 ];
153 }
154 }
155
156
157