PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.0.0
ShopBuilder – WooCommerce Builder For Elementor v2.0.0
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
← All changes | app/Models/Base/ListModel.php +11 -120 3.4.22.0.0 View file →
@@ -1,10 +1,5 @@
1 1 <?php
2 -/**
3 - * ListModel
4 - *
5 - * @package RadiusTheme\SB
6 - */
7 2
8 3 namespace RadiusTheme\SB\Models\Base;
9 4
10 5 defined( 'ABSPATH' ) || exit;
@@ -11,86 +6,28 @@
11 6
12 7 use RadiusTheme\SB\Helpers\Fns;
13 8 use RadiusTheme\SB\Models\DataModel;
14 9
15 -/**
16 - * ListModel
17 - */
18 10 abstract class ListModel {
19 - /**
20 - * List ID
21 - *
22 - * @var string
23 - */
11 +
24 12 protected $list_id;
25 13
26 - /**
27 - * List Title
28 - *
29 - * @var string
30 - */
31 14 protected $title;
32 -
33 - /**
34 - * List Short Title
35 - *
36 - * @var string
37 - */
38 15 protected $short_title;
39 -
40 - /**
41 - * List Description
42 - *
43 - * @var string
44 - */
45 16 protected $description;
46 -
47 - /**
48 - * List
49 - *
50 - * @var array
51 - */
52 17 private $full_list = [];
53 -
54 - /**
55 - * Active List
56 - *
57 - * @var array
58 - */
59 18 private $active_list = [];
60 -
61 - /**
62 - * Inactive List
63 - *
64 - * @var array
65 - */
66 19 private $inactive_list = [];
67 -
68 - /**
69 - * Options
70 - *
71 - * @var array
72 - */
73 20 private $db_options = [];
74 -
75 - /**
76 - * Categories
77 - *
78 - * @var array
79 - */
80 21 protected $categories = [];
81 22
82 - /**
83 - * Constructor
84 - */
85 23 public function __construct() {
86 24 $this->db_options = DataModel::source()->get_option( $this->list_id, [] );
87 25 $raw_list = apply_filters( 'rtsb/' . $this->list_id . '/list', $this->raw_list() );
88 -
89 26 if ( ! empty( $raw_list ) ) {
90 27 foreach ( $raw_list as $name => $item ) {
91 28
92 - if ( ! empty( $item['package'] ) && 'pro-disabled' === $item['package'] ) {
29 + if ( ! empty( $item['package'] ) && $item['package'] === 'pro-disabled' ) {
93 30 $item['fields'] = [];
94 31 $item['active'] = false;
95 32 $this->full_list[ $name ] = $item;
96 33 $this->inactive_list[ $name ] = $item;
@@ -99,21 +36,15 @@
99 36
100 37 if ( ! isset( $this->db_options[ $name ]['active'] ) && ! empty( $item['active'] ) ) {
101 38 $item['active'] = 'on';
102 39 } else {
103 - $item['active'] = isset( $this->db_options[ $name ]['active'] ) && 'on' === $this->db_options[ $name ]['active'] ? 'on' : '';
40 + $item['active'] = isset( $this->db_options[ $name ]['active'] ) && $this->db_options[ $name ]['active'] === 'on' ? 'on' : '';
104 41 }
105 42
106 43 if ( ! empty( $item['fields'] ) ) {
107 44 foreach ( $item['fields'] as $field_key => $field ) {
108 45 $the_value = $this->db_options[ $name ][ $field_key ] ?? ( $item['fields'][ $field_key ]['value'] ?? '' );
109 - if ( 'repeaters' === $field['type'] && empty( $the_value ) && ! empty( $field['defaults'] ) ) {
110 - $repeater_defaults = array_values( $field['defaults'] );
111 - $the_value = wp_json_encode( $repeater_defaults );
112 - } elseif ( 'repeaters' === $field['type'] && ! empty( $the_value ) ) {
113 - $the_value = json_decode( $the_value );
114 - }
115 - $sanitized_value = Fns::stripslashes_value( $the_value );
46 + $sanitized_value = Fns::stripslashes_value( $the_value );
116 47 $item['fields'][ $field_key ]['value'] = $sanitized_value;
117 48 }
118 49 }
119 50 $this->full_list[ $name ] = $item;
@@ -132,32 +63,11 @@
132 63 */
133 64 protected function pro_package() {
134 65 return rtsb()->has_pro() ? 'pro' : 'pro-disabled';
135 66 }
136 -
137 67 /**
138 - * @return string Pro Package
139 - */
140 - protected function pro_version_checker() {
141 - $has_pro = rtsb()->has_pro();
142 - $pro_ver = defined( 'RTSBPRO_VERSION' ) ? RTSBPRO_VERSION : 0;
143 -
144 - if ( ! $has_pro ) {
145 - return 'free';
146 - }
147 -
148 - if ( version_compare( $pro_ver, '2.0.0', '>=' ) ) {
149 - return 'pass';
150 - }
151 -
152 - return 'fail';
153 - }
154 -
155 - /**
156 - * Is widget active
68 + * @param $key
157 69 *
158 - * @param string $key Key.
159 - *
160 70 * @return bool
161 71 */
162 72 public function is_widget_active( $key ) {
163 73 return isset( $this->active_list[ $key ] );
@@ -163,17 +73,15 @@
163 73 return isset( $this->active_list[ $key ] );
164 74 }
165 75
166 76 /**
167 - * Get list
77 + * @param mixed $list true | anything
78 + * @param string $filter_type full|active|inactive
168 79 *
169 - * @param bool $list List.
170 - * @param string $filter_type Filter type.
171 - *
172 80 * @return mixed
173 81 */
174 - public function get_list( $list = true, $filter_type = 'full' ) {
175 - if ( true !== $list && isset( $this->full_list[ $list ] ) ) {
82 + public function get_list( $list = true, $filter_type = 'full' ) { //
83 + if ( $list !== true && isset( $this->full_list[ $list ] ) ) {
176 84 return $this->full_list[ $list ];
177 85 }
178 86
179 87 return $this->{$filter_type . '_list'};
@@ -178,13 +86,8 @@
178 86
179 87 return $this->{$filter_type . '_list'};
180 88 }
181 89
182 - /**
183 - * Get section
184 - *
185 - * @return array
186 - */
187 90 public function get_section() {
188 91 return [
189 92 'title' => $this->title,
190 93 'short_title' => ! empty( $this->short_title ) ? $this->short_title : $this->title,
@@ -195,12 +98,10 @@
195 98 ];
196 99 }
197 100
198 101 /**
199 - * Get fields
102 + * @param $key
200 103 *
201 - * @param string $key Key.
202 - *
203 104 * @return array|mixed
204 105 */
205 106 public function get_fields( $key ) {
206 107 return isset( $this->full_list[ $key ]['fields'] ) ? $this->full_list[ $key ]['fields'] : [];
@@ -205,20 +106,10 @@
205 106 public function get_fields( $key ) {
206 107 return isset( $this->full_list[ $key ]['fields'] ) ? $this->full_list[ $key ]['fields'] : [];
207 108 }
208 109
209 - /**
210 - * Get data
211 - *
212 - * @return array
213 - */
214 110 public function get_data() {
215 111 return $this->db_options;
216 112 }
217 113
218 - /**
219 - * Get raw list
220 - *
221 - * @return array
222 - */
223 114 abstract protected function raw_list();
224 -}
115 +}