PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 2.5.0
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v2.5.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 / 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
156 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 ];
74
75 $plugin_status = Plugin_Status::instance();
76 $plugins_data = [];
77
78 foreach($plugins as $slug => $file) {
79 $plugins_data[$slug] = $plugin_status->get_status($slug.'/'.$file);
80 }
81 return $plugins_data;
82 }
83
84 public function post_save_onboard() {
85 $data = $this->request->get_params();
86 $onboard = new Onboard();
87 return $onboard->submit($data);
88 }
89
90 public function get_categories() {
91
92 $data = $this->request->get_params();
93
94 $query_args = [
95 'taxonomy' => ['product_cat'], // taxonomy name
96 'orderby' => 'name',
97 'order' => 'DESC',
98 'hide_empty' => false,
99 'number' => 10
100 ];
101
102 if(isset($data['only_parent'])){
103 $query_args['parent'] = 0;
104 }
105
106 if(isset($data['ids'])){
107 $ids = explode(',', $data['ids']);
108 $query_args['include'] = $ids;
109 }
110 if(isset($data['s'])){
111 $query_args['name__like'] = $data['s'];
112 }
113
114 $product_cat = get_terms($query_args);
115 $product_categories = [];
116 foreach($product_cat as $category) {
117 $product_categories[$category->term_id] = $category->name;
118 }
119 return [
120 'status' => 'success',
121 'result' => $product_categories,
122 'message' => esc_html__('categories fetched', 'shopengine')
123 ];
124 }
125
126 public function get_posts() {
127
128 $data = $this->request->get_params();
129
130 if(empty($data['post_type'])) {
131 return [
132 'status' => 'failed'
133 ];
134 }
135
136 $search = isset($data['s']) ? $data['s'] : '';
137
138 global $wpdb;
139
140 $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 ) .'%') );
141
142 $post_items = [];
143
144 foreach($posts as $post) {
145 array_push($post_items, ['id' => $post->ID, 'text' => $post->post_title]);
146 }
147
148 return [
149 'status' => 'success',
150 'results' => $post_items,
151 ];
152 }
153 }
154
155
156