PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 1.1.4
ShopBuilder – WooCommerce Builder For Elementor v1.1.4
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/ModuleList.php +835 -930 2.0.21.1.4 View file →
@@ -1,930 +1,835 @@
1 -<?php
2 -
3 -namespace RadiusTheme\SB\Models;
4 -
5 -use RadiusTheme\SB\Helpers\Fns;
6 -use RadiusTheme\SB\Models\Base\ListModel;
7 -use RadiusTheme\SB\Modules\Compare\Compare;
8 -use RadiusTheme\SB\Modules\Compare\CompareFns;
9 -use RadiusTheme\SB\Modules\QuickView\QuickView;
10 -use RadiusTheme\SB\Modules\WishList\Wishlist;
11 -use RadiusTheme\SB\Modules\WishList\WishlistFns;
12 -use RadiusTheme\SB\Traits\SingletonTrait;
13 -
14 -defined( 'ABSPATH' ) || exit;
15 -
16 -class ModuleList extends ListModel {
17 -
18 - use SingletonTrait;
19 -
20 - protected $list_id = 'modules';
21 -
22 - public function __construct() {
23 - parent::__construct();
24 - $this->title = esc_html__( 'Modules', 'shopbuilder' );
25 - $this->description = esc_html__( 'Here you can find the list of all the modules. You can individually enable or disable the modules. Or you can do that by one click.', 'shopbuilder' );
26 - }
27 -
28 - protected function raw_list() {
29 - $list = [
30 - 'quick_view' => apply_filters(
31 - 'rtsb/module/quick_view/options',
32 - [
33 - 'id' => 'quick_view',
34 - 'title' => esc_html__( 'Quick View', 'shopbuilder' ),
35 - 'base_class' => QuickView::class,
36 - 'category' => 'general',
37 - 'active' => 'on',
38 - 'package' => 'free',
39 - 'active_field' => [
40 - 'label' => esc_html__( 'Enable Quick View?', 'shopbuilder' ),
41 - 'help' => esc_html__( 'Switch on to enable quick view module.', 'shopbuilder' ),
42 - ],
43 - 'fields' => apply_filters(
44 - 'rtsb/module/quick_view/fields',
45 - [
46 - 'loop_btn_position' => [
47 - 'id' => 'loop_btn_position',
48 - 'type' => 'select',
49 - 'value' => 'custom',
50 - 'label' => esc_html__( 'Shop Page Button Position', 'shopbuilder' ),
51 - 'help' => esc_html__( 'You can manage quick view button position in shop page.', 'shopbuilder' ),
52 - 'options' => [
53 - 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
54 - 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
55 - 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
56 - 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
57 - ],
58 - ],
59 - 'loop_btn_position_shortcode' => [
60 - 'type' => 'raw',
61 - 'label' => ' ',
62 - 'html' => sprintf(
63 - /* translators: 1: The shortcode.*/
64 - esc_html__( 'Choose where to show button in WooCommerce product\'s loop. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
65 - '<code>[rtsb_quick_view_button]</code>'
66 - ),
67 - 'dependency' => [
68 - 'rules' => [
69 - [
70 - 'item' => 'modules.quick_view.loop_btn_position',
71 - 'value' => 'shortcode',
72 - 'operator' => '==',
73 - ],
74 - ],
75 - ],
76 - ],
77 - 'loop_custom_hook_name' => [
78 - 'id' => 'loop_custom_hook_name',
79 - 'type' => 'text',
80 - 'label' => esc_html__( 'Enter Hook Name', 'shopbuilder' ),
81 - 'help' => sprintf(
82 - /* translators: 1: The shortcode.*/
83 - esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
84 - "<code>&lt;?php do_action( 'rtsb/modules/quick_view/frontend/display' ); ?&gt;</code>"
85 - ),
86 - 'dependency' => [
87 - 'rules' => [
88 - [
89 - 'item' => 'modules.quick_view.loop_btn_position',
90 - 'value' => 'custom',
91 - 'operator' => '==',
92 - ],
93 - ],
94 - ],
95 - ],
96 - 'loop_custom_hook_priority' => [
97 - 'id' => 'loop_custom_hook_priority',
98 - 'type' => 'number',
99 - 'value' => 10,
100 - 'size' => 'small',
101 - 'min' => 0,
102 - 'max' => 999,
103 - 'label' => esc_html__( 'Hook Priority', 'shopbuilder' ),
104 - 'dependency' => [
105 - 'rules' => [
106 - [
107 - 'item' => 'modules.quick_view.loop_btn_position',
108 - 'value' => 'custom',
109 - 'operator' => '==',
110 - ],
111 - ],
112 - ],
113 - ],
114 - 'button_text' => [
115 - 'id' => 'button_text',
116 - 'label' => esc_html__( 'Quick View Text', 'shopbuilder' ),
117 - 'help' => esc_html__( 'Enter your quick view button text.', 'shopbuilder' ),
118 - 'type' => 'text',
119 - 'value' => 'Quick View',
120 - 'placeholder' => 'Quick View',
121 - ],
122 - ]
123 - ),
124 - ]
125 - ),
126 - 'wishlist' => apply_filters(
127 - 'rtsb/module/wishlist/options',
128 - [
129 - 'id' => 'wishlist',
130 - 'title' => esc_html__( 'Wishlist', 'shopbuilder' ),
131 - 'package' => 'free',
132 - 'active' => 'on',
133 - 'base_class' => Wishlist::class,
134 - 'category' => 'general',
135 - 'active_field' => [
136 - 'label' => esc_html__( 'Enable Wishlist?', 'shopbuilder' ),
137 - 'help' => esc_html__( 'Switch on to enable wishlist module.', 'shopbuilder' ),
138 - ],
139 - 'fields' => apply_filters(
140 - 'rtsb/module/wishlist/fields',
141 - [
142 - 'enable_login_limit' => [
143 - 'id' => 'enable_login_limit',
144 - 'type' => 'switch',
145 - 'label' => esc_html__( 'Limit Wishlist Use', 'shopbuilder' ),
146 - 'help' => esc_html__( 'Enable this option to allow only the logged-in users to use the Wishlist feature.', 'shopbuilder' ),
147 - 'tab' => 'general',
148 - ],
149 - 'wishlist_shop_wrapper_heading' => [
150 - 'id' => 'wishlist_shop_wrapper_heading',
151 - 'type' => 'title',
152 - 'label' => esc_html__( 'Shop Page Settings', 'shopbuilder-pro' ),
153 - 'tab' => 'button',
154 - ],
155 - 'show_btn_on_loop' => [
156 - 'id' => 'show_btn_on_loop',
157 - 'value' => 'on',
158 - 'type' => 'switch',
159 - 'label' => esc_html__( 'Show in Shop Page', 'shopbuilder' ),
160 - 'tab' => 'button',
161 - ],
162 - 'loop_btn_position' => [
163 - 'id' => 'loop_btn_position',
164 - 'type' => 'select',
165 - 'value' => 'custom',
166 - 'label' => esc_html__( 'Shop Page Button Position', 'shopbuilder' ),
167 - 'help' => esc_html__( 'You can manage wishlist button position in shop page.', 'shopbuilder' ),
168 - 'options' => [
169 - 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
170 - 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
171 - 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
172 - 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
173 - ],
174 - 'dependency' => [
175 - 'rules' => [
176 - [
177 - 'item' => 'modules.wishlist.show_btn_on_loop',
178 - 'value' => 'on',
179 - 'operator' => '==',
180 - ],
181 - ],
182 - ],
183 - 'tab' => 'button',
184 - ],
185 - 'loop_btn_position_shortcode' => [
186 - 'type' => 'raw',
187 - 'label' => ' ',
188 - 'html' => sprintf(
189 - /* translators: 1: The shortcode.*/
190 - esc_html__( 'Choose where to show button in WooCommerce product\'s loop. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
191 - '<code>[rtsb_wishlist_button]</code>'
192 - ),
193 - 'dependency' => [
194 - 'rules' => [
195 - [
196 - 'item' => 'modules.wishlist.show_btn_on_loop',
197 - 'value' => 'on',
198 - 'operator' => '==',
199 - ],
200 - [
201 - 'item' => 'modules.wishlist.loop_btn_position',
202 - 'value' => 'shortcode',
203 - 'operator' => '==',
204 - ],
205 - ],
206 - ],
207 - 'tab' => 'button',
208 - ],
209 - 'loop_custom_hook_name' => [
210 - 'id' => 'loop_custom_hook_name',
211 - 'type' => 'text',
212 - 'label' => esc_html__( 'Enter Hook Name', 'shopbuilder' ),
213 - 'tab' => 'button',
214 - 'help' => sprintf(
215 - /* translators: 1: The shortcode.*/
216 - esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
217 - "<code>&lt;?php do_action('rtsb/modules/wishlist/frontend/display' ); ?&gt;</code>"
218 - ),
219 - 'dependency' => [
220 - 'rules' => [
221 - [
222 - 'item' => 'modules.wishlist.show_btn_on_loop',
223 - 'value' => 'on',
224 - 'operator' => '==',
225 - ],
226 - [
227 - 'item' => 'modules.wishlist.loop_btn_position',
228 - 'value' => 'custom',
229 - 'operator' => '==',
230 - ],
231 - ],
232 - ],
233 - ],
234 - 'loop_custom_hook_priority' => [
235 - 'id' => 'loop_custom_hook_priority',
236 - 'type' => 'number',
237 - 'value' => 10,
238 - 'size' => 'small',
239 - 'min' => 0,
240 - 'max' => 999,
241 - 'label' => esc_html__( 'Hook Priority', 'shopbuilder' ),
242 - 'tab' => 'button',
243 - 'dependency' => [
244 - 'rules' => [
245 - [
246 - 'item' => 'modules.wishlist.show_btn_on_loop',
247 - 'value' => 'on',
248 - 'operator' => '==',
249 - ],
250 - [
251 - 'item' => 'modules.wishlist.loop_btn_position',
252 - 'value' => 'custom',
253 - 'operator' => '==',
254 - ],
255 - ],
256 - 'relation' => 'and',
257 - ],
258 - ],
259 - 'wishlist_single_wrapper_heading' => [
260 - 'id' => 'wishlist_single_wrapper_heading',
261 - 'type' => 'title',
262 - 'label' => esc_html__( 'Product Page Settings', 'shopbuilder-pro' ),
263 - 'tab' => 'button',
264 - ],
265 - 'show_btn_product_page' => [
266 - 'id' => 'show_btn_product_page',
267 - 'value' => 'on',
268 - 'type' => 'switch',
269 - 'label' => esc_html__( 'Show in Product Page', 'shopbuilder' ),
270 - 'tab' => 'button',
271 - ],
272 - 'product_btn_position' => [
273 - 'id' => 'product_btn_position',
274 - 'label' => esc_html__( 'Product Page Button Position', 'shopbuilder' ),
275 - 'help' => esc_html__( 'You can manage compare button position in single product page.', 'shopbuilder' ),
276 - 'type' => 'select',
277 - 'value' => 'custom',
278 - 'options' => [
279 - 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
280 - 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
281 - 'after_thumbnail' => esc_html__( 'After Image', 'shopbuilder' ),
282 - 'after_summary' => esc_html__( 'After Summary', 'shopbuilder' ),
283 - 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
284 - 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
285 - ],
286 - 'dependency' => [
287 - 'rules' => [
288 - [
289 - 'item' => 'modules.wishlist.show_btn_product_page',
290 - 'value' => 'on',
291 - 'operator' => '==',
292 - ],
293 - ],
294 - ],
295 - 'tab' => 'button',
296 - ],
297 - 'product_btn_position_shortcode' => [
298 - 'type' => 'raw',
299 - 'label' => ' ',
300 - 'html' => sprintf(
301 - /* translators: 1: The shortcode.*/
302 - esc_html__( 'Choose where to show button on the product page. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
303 - '<code>[rtsb_wishlist_button]</code>'
304 - ),
305 - 'dependency' => [
306 - 'rules' => [
307 - [
308 - 'item' => 'modules.wishlist.show_btn_product_page',
309 - 'value' => 'on',
310 - 'operator' => '==',
311 - ],
312 - [
313 - 'item' => 'modules.wishlist.product_btn_position',
314 - 'value' => 'shortcode',
315 - 'operator' => '==',
316 - ],
317 - ],
318 - ],
319 - 'tab' => 'button',
320 - ],
321 - 'product_custom_hook_name' => [
322 - 'id' => 'product_custom_hook_name',
323 - 'type' => 'text',
324 - 'label' => esc_html__( 'Product Hook Name', 'shopbuilder' ),
325 - 'tab' => 'button',
326 - 'help' => sprintf(
327 - /* translators: 1: The shortcode.*/
328 - esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
329 - "<code>&lt;?php do_action('rtsb/modules/wishlist/frontend/display' ); ?&gt;</code>"
330 - ),
331 - 'dependency' => [
332 - 'rules' => [
333 - [
334 - 'item' => 'modules.wishlist.show_btn_product_page',
335 - 'value' => 'on',
336 - 'operator' => '==',
337 - ],
338 - [
339 - 'item' => 'modules.wishlist.product_btn_position',
340 - 'value' => 'custom',
341 - 'operator' => '==',
342 - ],
343 - ],
344 - ],
345 - ],
346 - 'product_custom_hook_priority' => [
347 - 'id' => 'product_custom_hook_priority',
348 - 'type' => 'number',
349 - 'value' => 10,
350 - 'size' => 'small',
351 - 'min' => 0,
352 - 'max' => 999,
353 - 'label' => esc_html__( 'Product Hook Priority', 'shopbuilder' ),
354 - 'tab' => 'button',
355 - 'dependency' => [
356 - 'rules' => [
357 - [
358 - 'item' => 'modules.wishlist.show_btn_product_page',
359 - 'value' => 'on',
360 - 'operator' => '==',
361 - ],
362 - [
363 - 'item' => 'modules.wishlist.product_btn_position',
364 - 'value' => 'custom',
365 - 'operator' => '==',
366 - ],
367 - ],
368 - 'relation' => 'and',
369 - ],
370 - ],
371 - 'button_text' => [
372 - 'id' => 'button_text',
373 - 'label' => esc_html__( 'Wishlist Text', 'shopbuilder' ),
374 - 'help' => esc_html__( 'Enter your wishlist button text.', 'shopbuilder' ),
375 - 'type' => 'text',
376 - 'value' => 'Add to Wishlist',
377 - 'placeholder' => 'Add to Wishlist',
378 - 'tab' => 'button',
379 - ],
380 - 'notice_added_text' => [
381 - 'id' => 'notice_added_text',
382 - 'label' => esc_html__( 'Product Added Text', 'shopbuilder' ),
383 - 'help' => esc_html__( 'Enter the product added text.', 'shopbuilder' ),
384 - 'type' => 'text',
385 - 'value' => esc_html__( 'Product added!', 'shopbuilder' ),
386 - 'placeholder' => esc_html__( 'Product added!', 'shopbuilder' ),
387 - 'tab' => 'general',
388 - ],
389 - 'notice_removed_text' => [
390 - 'id' => 'notice_removed_text',
391 - 'label' => esc_html__( 'Product Removed Text', 'shopbuilder' ),
392 - 'help' => esc_html__( 'Enter the product removed text.', 'shopbuilder' ),
393 - 'type' => 'text',
394 - 'value' => esc_html__( 'Product removed!', 'shopbuilder' ),
395 - 'placeholder' => esc_html__( 'Product removed!', 'shopbuilder' ),
396 - 'tab' => 'general',
397 - ],
398 - 'browse_list_text' => [
399 - 'id' => 'browse_list_text',
400 - 'label' => esc_html__( 'Browse Wishlist Text', 'shopbuilder' ),
401 - 'help' => esc_html__( 'Enter a text for the "Browse wishlist" link on the product page', 'shopbuilder' ),
402 - 'type' => 'text',
403 - 'value' => esc_html__( 'Browse Wishlist', 'shopbuilder' ),
404 - 'placeholder' => esc_html__( 'Browse Wishlist', 'shopbuilder' ),
405 - 'tab' => 'general',
406 - ],
407 - /*
408 - * TODO:: Will Implement Later.
409 - 'redirect_cart' => array(
410 - 'id' => 'redirect_cart',
411 - 'type' => 'switch',
412 - 'help' => esc_html__( 'Redirect users to the cart page when they add a product to the cart from the wishlist page', 'shopbuilder' ),
413 - 'label' => esc_html__( 'Redirect to Cart', 'shopbuilder' ),
414 - 'tab' => 'page',
415 - ),
416 - 'remove_after_add_to_cart' => array(
417 - 'value' => 'on',
418 - 'id' => 'remove_after_add_to_cart',
419 - 'type' => 'switch',
420 - 'help' => esc_html__( 'Remove the product from the wishlist after it has been added to the cart', 'shopbuilder' ),
421 - 'label' => esc_html__( 'Remove if Added to Cart', 'shopbuilder' ),
422 - 'tab' => 'page',
423 - ),
424 - */
425 -
426 - 'page' => [
427 - 'id' => 'page',
428 - 'type' => 'select',
429 - 'label' => esc_html__( 'Select Wishlist Page', 'shopbuilder' ),
430 - 'help' => sprintf(
431 - /* translators: 1: The shortcode.*/
432 - esc_html__( 'Select a page for wishlist page and make sure you add the shortcode %1$s into the page content', 'shopbuilder' ),
433 - '<code>[rtsb_wishlist]</code>'
434 - ),
435 - 'options' => Fns::get_pages(),
436 - 'tab' => 'page',
437 - ],
438 -
439 - 'page_show_fields' => [
440 - 'value' => WishlistFns::instance()->get_field_ids(),
441 - 'id' => 'page_show_fields',
442 - 'multiple' => true,
443 - 'checkbox' => true,
444 - 'sanitize_fn' => 'sanitize_text_field',
445 - 'type' => 'sortable',
446 - 'options' => WishlistFns::instance()->get_default_fields(),
447 - 'label' => esc_html__( 'Wishlist Table Fields Visibility', 'shopbuilder' ),
448 - 'tab' => 'page',
449 - ],
450 -
451 - ]
452 - ),
453 - 'tabs' => [
454 - 'general' => [
455 - 'title' => esc_html__( 'General', 'shopbuilder' ),
456 - ],
457 - 'button' => [
458 - 'title' => esc_html__( 'Button', 'shopbuilder' ),
459 - ],
460 - 'page' => [
461 - 'title' => esc_html__( 'Page', 'shopbuilder' ),
462 - ],
463 - ],
464 - ]
465 - ),
466 - 'compare' => apply_filters(
467 - 'rtsb/module/compare/options',
468 - [
469 - 'id' => 'compare',
470 - 'base_class' => Compare::class,
471 - 'category' => 'general',
472 - 'title' => esc_html__( 'Product Compare', 'shopbuilder' ),
473 - 'package' => 'free',
474 - 'active' => 'on',
475 - 'active_field' => [
476 - 'label' => esc_html__( 'Enable Product Comparison?', 'shopbuilder' ),
477 - 'help' => esc_html__( 'Switch on to enable product comparison module.', 'shopbuilder' ),
478 - ],
479 - 'fields' => apply_filters(
480 - 'rtsb/module/compare/fields',
481 - [
482 - 'compare_shop_wrapper_heading' => [
483 - 'id' => 'compare_shop_wrapper_heading',
484 - 'type' => 'title',
485 - 'label' => esc_html__( 'Shop Page Settings', 'shopbuilder-pro' ),
486 - 'tab' => 'button',
487 - ],
488 - 'show_btn_on_loop' => [
489 - 'id' => 'show_btn_on_loop',
490 - 'value' => 'on',
491 - 'type' => 'switch',
492 - 'label' => esc_html__( 'Show in Shop Page', 'shopbuilder' ),
493 - 'tab' => 'button',
494 - ],
495 - 'loop_btn_position' => [
496 - 'id' => 'loop_btn_position',
497 - 'type' => 'select',
498 - 'value' => 'custom',
499 - 'label' => esc_html__( 'Shop Page Button Position', 'shopbuilder' ),
500 - 'help' => esc_html__( 'You can manage wishlist button position in shop page.', 'shopbuilder' ),
501 - 'options' => [
502 - 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
503 - 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
504 - 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
505 - 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
506 - ],
507 - 'dependency' => [
508 - 'rules' => [
509 - [
510 - 'item' => 'modules.compare.show_btn_on_loop',
511 - 'value' => 'on',
512 - 'operator' => '==',
513 - ],
514 - ],
515 - ],
516 - 'tab' => 'button',
517 - ],
518 - 'loop_btn_position_shortcode' => [
519 - 'type' => 'raw',
520 - 'label' => ' ',
521 - 'html' => sprintf(
522 - /* translators: 1: The shortcode.*/
523 - esc_html__( 'Choose where to show button in WooCommerce product\'s loop. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
524 - '<code>[rtsb_compare_button]</code>'
525 - ),
526 - 'dependency' => [
527 - 'rules' => [
528 - [
529 - 'item' => 'modules.compare.show_btn_on_loop',
530 - 'value' => 'on',
531 - 'operator' => '==',
532 - ],
533 - [
534 - 'item' => 'modules.compare.loop_btn_position',
535 - 'value' => 'shortcode',
536 - 'operator' => '==',
537 - ],
538 - ],
539 - ],
540 - 'tab' => 'button',
541 - ],
542 - 'loop_custom_hook_name' => [
543 - 'id' => 'product_custom_hook_name',
544 - 'type' => 'text',
545 - 'label' => esc_html__( 'Enter Hook Name', 'shopbuilder' ),
546 - 'tab' => 'button',
547 - 'help' => sprintf(
548 - /* translators: 1: The shortcode.*/
549 - esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
550 - "<code>&lt;?php do_action('rtsb/modules/compare/frontend/display' ); ?&gt;</code>"
551 - ),
552 - 'dependency' => [
553 - 'rules' => [
554 - [
555 - 'item' => 'modules.compare.show_btn_on_loop',
556 - 'value' => 'on',
557 - 'operator' => '==',
558 - ],
559 - [
560 - 'item' => 'modules.compare.loop_btn_position',
561 - 'value' => 'custom',
562 - 'operator' => '==',
563 - ],
564 - ],
565 - ],
566 - ],
567 - 'loop_custom_hook_priority' => [
568 - 'id' => 'product_custom_hook_priority',
569 - 'type' => 'number',
570 - 'value' => 10,
571 - 'size' => 'small',
572 - 'min' => 0,
573 - 'max' => 999,
574 - 'label' => esc_html__( 'Hook Priority', 'shopbuilder' ),
575 - 'tab' => 'button',
576 - 'dependency' => [
577 - 'rules' => [
578 - [
579 - 'item' => 'modules.compare.show_btn_on_loop',
580 - 'value' => 'on',
581 - 'operator' => '==',
582 - ],
583 - [
584 - 'item' => 'modules.compare.loop_btn_position',
585 - 'value' => 'custom',
586 - 'operator' => '==',
587 - ],
588 - ],
589 - 'relation' => 'and',
590 - ],
591 - ],
592 - 'compare_single_wrapper_heading' => [
593 - 'id' => 'compare_single_wrapper_heading',
594 - 'type' => 'title',
595 - 'label' => esc_html__( 'Product Page Settings', 'shopbuilder-pro' ),
596 - 'tab' => 'button',
597 - ],
598 - 'show_btn_product_page' => [
599 - 'id' => 'show_btn_product_page',
600 - 'type' => 'switch',
601 - 'value' => 'on',
602 - 'label' => esc_html__( 'Show Button in Product Page', 'shopbuilder' ),
603 - 'tab' => 'button',
604 - ],
605 - 'product_btn_position' => [
606 - 'id' => 'product_btn_position',
607 - 'label' => esc_html__( 'Product Page Button Position', 'shopbuilder' ),
608 - 'help' => esc_html__( 'You can manage compare button position in single product page.', 'shopbuilder' ),
609 - 'type' => 'select',
610 - 'value' => 'custom',
611 - 'options' => [
612 - 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
613 - 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
614 - 'after_thumbnail' => esc_html__( 'After Image', 'shopbuilder' ),
615 - 'after_summary' => esc_html__( 'After Summary', 'shopbuilder' ),
616 - 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
617 - 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
618 - ],
619 - 'dependency' => [
620 - 'rules' => [
621 - [
622 - 'item' => 'modules.compare.show_btn_product_page',
623 - 'value' => 'on',
624 - 'operator' => '==',
625 - ],
626 - ],
627 - ],
628 - 'tab' => 'button',
629 - ],
630 - 'product_btn_position_shortcode' => [
631 - 'type' => 'raw',
632 - 'label' => ' ',
633 - 'html' => sprintf(
634 - /* translators: 1: The shortcode.*/
635 - esc_html__( 'Choose where to show button on the product page. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
636 - '<code>[rtsb_wishlist_button]</code> '
637 - ),
638 - 'dependency' => [
639 - 'rules' => [
640 - [
641 - 'item' => 'modules.wishlist.show_btn_product_page',
642 - 'value' => 'on',
643 - 'operator' => '==',
644 - ],
645 - [
646 - 'item' => 'modules.wishlist.product_btn_position',
647 - 'value' => 'shortcode',
648 - 'operator' => '==',
649 - ],
650 - ],
651 - ],
652 - 'tab' => 'button',
653 - ],
654 - 'product_custom_hook_name' => [
655 - 'id' => 'product_custom_hook_name',
656 - 'type' => 'text',
657 - 'label' => esc_html__( 'Product Hook Name', 'shopbuilder' ),
658 - 'tab' => 'button',
659 - 'help' => sprintf(
660 - /* translators: 1: The shortcode.*/
661 - esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
662 - "<code>&lt;?php do_action('rtsb/modules/compare/frontend/display' ); ?&gt;</code>"
663 - ),
664 - 'dependency' => [
665 - 'rules' => [
666 - [
667 - 'item' => 'modules.compare.show_btn_product_page',
668 - 'value' => 'on',
669 - 'operator' => '==',
670 - ],
671 - [
672 - 'item' => 'modules.compare.product_btn_position',
673 - 'value' => 'custom',
674 - 'operator' => '==',
675 - ],
676 - ],
677 - ],
678 - ],
679 - 'product_custom_hook_priority' => [
680 - 'id' => 'product_custom_hook_priority',
681 - 'type' => 'number',
682 - 'value' => 10,
683 - 'size' => 'small',
684 - 'min' => 0,
685 - 'max' => 999,
686 - 'label' => esc_html__( 'Product Hook Priority', 'shopbuilder' ),
687 - 'tab' => 'button',
688 - 'dependency' => [
689 - 'rules' => [
690 - [
691 - 'item' => 'modules.compare.show_btn_product_page',
692 - 'value' => 'on',
693 - 'operator' => '==',
694 - ],
695 - [
696 - 'item' => 'modules.compare.product_btn_position',
697 - 'value' => 'custom',
698 - 'operator' => '==',
699 - ],
700 - ],
701 - 'relation' => 'and',
702 - ],
703 - ],
704 - 'button_text' => [
705 - 'id' => 'button_text',
706 - 'label' => esc_html__( 'Compare Button Text', 'shopbuilder' ),
707 - 'help' => esc_html__( 'Enter your compare button text.', 'shopbuilder' ),
708 - 'type' => 'text',
709 - 'value' => esc_html__( 'Compare', 'shopbuilder' ),
710 - 'placeholder' => esc_html__( 'Compare', 'shopbuilder' ),
711 - 'tab' => 'button',
712 - ],
713 - 'notice_added_text' => [
714 - 'id' => 'notice_added_text',
715 - 'label' => esc_html__( 'Product Added Text', 'shopbuilder' ),
716 - 'help' => esc_html__( 'Enter the product added text.', 'shopbuilder' ),
717 - 'type' => 'text',
718 - 'value' => esc_html__( 'Product added!', 'shopbuilder' ),
719 - 'placeholder' => esc_html__( 'Product added!', 'shopbuilder' ),
720 - 'tab' => 'general',
721 - ],
722 - 'notice_removed_text' => [
723 - 'id' => 'notice_removed_text',
724 - 'label' => esc_html__( 'Product Removed Text', 'shopbuilder' ),
725 - 'help' => esc_html__( 'Enter the product removed text.', 'shopbuilder' ),
726 - 'type' => 'text',
727 - 'value' => esc_html__( 'Product removed!', 'shopbuilder' ),
728 - 'placeholder' => esc_html__( 'Product removed!', 'shopbuilder' ),
729 - 'tab' => 'general',
730 - ],
731 - 'browse_list_text' => [
732 - 'id' => 'browse_list_text',
733 - 'label' => esc_html__( 'Browse Compare Text', 'shopbuilder' ),
734 - 'help' => esc_html__( 'Enter a text for the "Browse compare" link on the compare page', 'shopbuilder' ),
735 - 'type' => 'text',
736 - 'value' => esc_html__( 'Browse Compare', 'shopbuilder' ),
737 - 'placeholder' => esc_html__( 'Browse Compare', 'shopbuilder' ),
738 - 'tab' => 'general',
739 - ],
740 - 'page' => [
741 - 'id' => 'page',
742 - 'type' => 'select',
743 - 'help' => sprintf(
744 - /* translators: 1: The shortcode.*/
745 - esc_html__( 'Select a page for compare page and make sure you add the shortcode %1$s into the page content', 'shopbuilder' ),
746 - '<code>[rtsb_compare_list]</code>'
747 - ),
748 - 'label' => esc_html__( 'Select Compare Page', 'shopbuilder' ),
749 - 'options' => Fns::get_pages(),
750 - 'empty' => esc_html__( 'Select a page', 'shopbuilder' ),
751 - 'searchable' => true,
752 - 'tab' => 'page',
753 - ],
754 - 'max_limit' => [
755 - 'id' => 'page',
756 - 'type' => 'number',
757 - 'sanitize_fn' => 'absint',
758 - 'value' => 10,
759 - 'help' => esc_html__( 'You can manage your maximum compare quantity from here.', 'shopbuilder' ),
760 - 'label' => esc_html__( 'Maximum Compare Limit', 'shopbuilder' ),
761 - 'tab' => 'page',
762 - ],
763 - 'page_show_fields' => [
764 - 'value' => CompareFns::get_list_field_ids(),
765 - 'id' => 'page_show_fields',
766 - 'multiple' => true,
767 - 'checkbox' => true,
768 - 'type' => 'sortable',
769 - 'options' => CompareFns::get_available_list_fields(),
770 - 'label' => esc_html__( 'Compare Table Fields Visibility', 'shopbuilder' ),
771 - 'tab' => 'page',
772 - ],
773 -
774 - ]
775 - ),
776 - 'tabs' => [
777 - 'general' => [
778 - 'title' => esc_html__( 'General', 'shopbuilder' ),
779 - ],
780 - 'button' => [
781 - 'title' => esc_html__( 'Button', 'shopbuilder' ),
782 - ],
783 - 'page' => [
784 - 'title' => esc_html__( 'Page', 'shopbuilder' ),
785 - ],
786 -
787 - ],
788 - ]
789 - ),
790 - 'variation_gallery' => apply_filters(
791 - 'rtsb/module/variation_gallery/options',
792 - [
793 - 'id' => 'variation_gallery',
794 - 'external' => true,
795 - 'category' => 'general',
796 - 'title' => esc_html__( 'Variation Gallery', 'shopbuilder' ),
797 - 'pluginSlug' => 'woo-product-variation-gallery',
798 - 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
799 - 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
800 - 'pluginActiveUrl' => add_query_arg(
801 - [
802 - '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-gallery/woo-product-variation-gallery.php' ),
803 - 'action' => 'activate',
804 - 'plugin' => 'woo-product-variation-gallery/woo-product-variation-gallery.php',
805 - ],
806 - admin_url( 'plugins.php' )
807 - ),
808 - 'help' => esc_html__( 'This module requires: Variation Images Gallery for WooCommerce Plugin', 'shopbuilder' ),
809 - 'package' => 'free',
810 - 'active_field' => [
811 - 'disable' => false,
812 - ],
813 - 'fields' => [],
814 - ]
815 - ),
816 - 'variation_swatches' => apply_filters(
817 - 'rtsb/module/variation_swatches/options',
818 - [
819 - 'id' => 'variation_swatches',
820 - 'external' => true,
821 - 'category' => 'general',
822 - 'title' => esc_html__( 'Variation Swatches', 'shopbuilder' ),
823 - 'pluginSlug' => 'woo-product-variation-swatches',
824 - 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
825 - 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
826 - 'pluginActiveUrl' => add_query_arg(
827 - [
828 - '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-swatches/woo-product-variation-swatches.php' ),
829 - 'action' => 'activate',
830 - 'plugin' => 'woo-product-variation-swatches/woo-product-variation-swatches.php',
831 - ],
832 - admin_url( 'plugins.php' )
833 - ),
834 - 'help' => esc_html__( 'This module requires: Variation Swatches for WooCommerce Plugin.', 'shopbuilder' ),
835 - 'package' => 'free',
836 - 'active_field' => [
837 - 'disable' => false,
838 - ],
839 - 'fields' => [],
840 - ]
841 - ),
842 - 'sales_notification' => apply_filters(
843 - 'rtsb/module/sales_notification/options',
844 - [
845 - 'id' => 'sales_notification',
846 - 'active' => '',
847 - 'title' => esc_html__( 'Sales Notification', 'shopbuilder' ),
848 - 'package' => $this->pro_package(),
849 - 'active_field' => [
850 - 'label' => esc_html__( 'Enable Sales Notification?', 'shopbuilder' ),
851 - 'help' => esc_html__( 'Switch on to enable Sales Notification module.', 'shopbuilder' ),
852 - ],
853 - 'fields' => [],
854 - ]
855 - ),
856 - 'flash_sale_countdown' => apply_filters(
857 - 'rtsb/module/flash_sale_countdown/options',
858 - [
859 - 'id' => 'flash_sale_countdown',
860 - 'active' => '',
861 - 'title' => esc_html__( 'Flash Sale Countdown', 'shopbuilder' ),
862 - 'package' => $this->pro_package(),
863 - 'active_field' => [
864 - 'label' => esc_html__( 'Enable Flash Sale Countdown?', 'shopbuilder' ),
865 - 'help' => esc_html__( 'Switch on to enable Flash Sale Countdown module.', 'shopbuilder' ),
866 - ],
867 - 'fields' => [],
868 - ]
869 - ),
870 - 'mini_cart' => apply_filters(
871 - 'rtsb/module/mini_cart/options',
872 - [
873 - 'id' => 'mini_cart',
874 - 'active' => '',
875 - 'title' => esc_html__( 'Mini Cart', 'shopbuilder' ),
876 - 'package' => $this->pro_package(),
877 - 'active_field' => [
878 - 'label' => esc_html__( 'Enable Mini Cart?', 'shopbuilder' ),
879 - 'help' => esc_html__( 'Switch on to enable mini cart module.', 'shopbuilder' ),
880 - ],
881 - 'is_active' => true,
882 - 'fields' => [],
883 - ]
884 - ),
885 - 'quick_checkout' => apply_filters(
886 - 'rtsb/module/quick_checkout/options',
887 - [
888 - 'id' => 'quick_checkout',
889 - 'active' => '',
890 - 'title' => esc_html__( 'Quick Checkout', 'shopbuilder' ),
891 - 'package' => $this->pro_package(),
892 - 'active_field' => [
893 - 'label' => esc_html__( 'Enable Quick Checkout?', 'shopbuilder' ),
894 - 'help' => esc_html__( 'Switch on to enable quick checkout module. Note: Currently, this is not suitable for variable products.', 'shopbuilder' ),
895 - ],
896 - 'fields' => [],
897 - ]
898 - ),
899 - 'multi_step_checkout' => apply_filters(
900 - 'rtsb/module/multi_step_checkout/options',
901 - [
902 - 'id' => 'multi_step_checkout',
903 - 'active' => '',
904 - 'title' => esc_html__( 'Multi-Step Checkout', 'shopbuilder' ),
905 - 'package' => $this->pro_package(),
906 - 'active_field' => [
907 - 'label' => esc_html__( 'Enable Multi-Step Checkout?', 'shopbuilder' ),
908 - 'help' => esc_html__( 'Switch on to enable Multi-step Checkout module.', 'shopbuilder' ),
909 - ],
910 - 'fields' => [],
911 - ]
912 - ),
913 - 'product_size_chart' => apply_filters(
914 - 'rtsb/module/product_size_chart/options',
915 - [
916 - 'id' => 'product_size_chart',
917 - 'active' => '',
918 - 'title' => esc_html__( 'Product Size Chart', 'shopbuilder' ),
919 - 'package' => $this->pro_package(),
920 - 'active_field' => [
921 - 'label' => esc_html__( 'Enable Product Size Chart?', 'shopbuilder' ),
922 - 'help' => esc_html__( 'Switch on to enable Product Size Chart module.', 'shopbuilder' ),
923 - ],
924 - 'fields' => [],
925 - ]
926 - ),
927 - ];
928 - return apply_filters( 'rtsb/core/modules/raw_list', $list );
929 - }
930 -}
1 +<?php
2 +
3 +namespace RadiusTheme\SB\Models;
4 +
5 +use RadiusTheme\SB\Helpers\Fns;
6 +use RadiusTheme\SB\Models\Base\ListModel;
7 +use RadiusTheme\SB\Modules\Compare\Compare;
8 +use RadiusTheme\SB\Modules\Compare\CompareFns;
9 +use RadiusTheme\SB\Modules\QuickView\QuickView;
10 +use RadiusTheme\SB\Modules\WishList\Wishlist;
11 +use RadiusTheme\SB\Modules\WishList\WishlistFns;
12 +use RadiusTheme\SB\Traits\SingletonTrait;
13 +
14 +defined( 'ABSPATH' ) || exit;
15 +
16 +class ModuleList extends ListModel {
17 + use SingletonTrait;
18 +
19 + protected $list_id = 'modules';
20 +
21 + public function __construct() {
22 + parent::__construct();
23 + $this->title = esc_html__( 'Modules', 'shopbuilder' );
24 + $this->description = esc_html__( 'Here you can find the list of all the modules. You can individually enable or disable the modules. Or you can do that by one click.', 'shopbuilder' );
25 + $this->categories = [
26 + 'general' => [
27 + 'title' => esc_html__( 'Free', 'shopbuilder' ),
28 + ],
29 + /*
30 + * TODO:: Will add later
31 + 'pro' => array(
32 + 'title' => esc_html__( 'Pro', 'shopbuilder' ),
33 + ),
34 + */
35 + ];
36 + }
37 +
38 + protected function raw_list() {
39 + $list = [
40 + 'quick_view' => apply_filters(
41 + 'rtsb/module/quick_view/options',
42 + [
43 + 'id' => 'quick_view',
44 + 'title' => esc_html__( 'Quick View', 'shopbuilder' ),
45 + 'base_class' => QuickView::class,
46 + 'category' => 'general',
47 + 'active' => 'on',
48 + 'package' => 'free',
49 + 'active_field' => [
50 + 'label' => esc_html__( 'Enable Quick View?', 'shopbuilder' ),
51 + 'help' => esc_html__( 'Switch on to enable quick view module.', 'shopbuilder' ),
52 + ],
53 + 'fields' => apply_filters(
54 + 'rtsb/module/quick_view/fields',
55 + [
56 + 'loop_btn_position' => [
57 + 'id' => 'loop_btn_position',
58 + 'type' => 'select',
59 + 'value' => 'custom',
60 + 'label' => esc_html__( 'Products Loop Button Position', 'shopbuilder' ),
61 + 'help' => esc_html__( 'You can manage quick view button position in product list page.', 'shopbuilder' ),
62 + 'options' => [
63 + 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
64 + 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
65 + 'top_thumbnail' => esc_html__( 'Top On Image', 'shopbuilder' ),
66 + 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
67 + 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
68 + ],
69 + ],
70 + 'loop_btn_position_shortcode' => [
71 + 'type' => 'raw',
72 + 'label' => ' ',
73 + 'html' => sprintf(
74 + /* translators: 1: The shortcode.*/
75 + esc_html__( 'Choose where to show button in WooCommerce product\'s loop. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
76 + '<code>[rtsb_quick_view_button]</code>'
77 + ),
78 + 'dependency' => [
79 + 'rules' => [
80 + [
81 + 'item' => 'modules.quick_view.loop_btn_position',
82 + 'value' => 'shortcode',
83 + 'operator' => '==',
84 + ],
85 + ],
86 + ],
87 + ],
88 + 'loop_custom_hook_name' => [
89 + 'id' => 'loop_custom_hook_name',
90 + 'type' => 'text',
91 + 'label' => esc_html__( 'Loop Hook Name', 'shopbuilder' ),
92 + 'dependency' => [
93 + 'rules' => [
94 + [
95 + 'item' => 'modules.quick_view.loop_btn_position',
96 + 'value' => 'custom',
97 + 'operator' => '==',
98 + ],
99 + ],
100 + ],
101 + ],
102 + 'loop_custom_hook_priority' => [
103 + 'id' => 'loop_custom_hook_priority',
104 + 'type' => 'number',
105 + 'value' => 10,
106 + 'size' => 'small',
107 + 'min' => 0,
108 + 'max' => 999,
109 + 'label' => esc_html__( 'Loop Hook Priority', 'shopbuilder' ),
110 + 'dependency' => [
111 + 'rules' => [
112 + [
113 + 'item' => 'modules.quick_view.loop_btn_position',
114 + 'value' => 'custom',
115 + 'operator' => '==',
116 + ],
117 + ],
118 + ],
119 + ],
120 + 'button_text' => [
121 + 'id' => 'button_text',
122 + 'label' => esc_html__( 'Quick View Text', 'shopbuilder' ),
123 + 'help' => esc_html__( 'Enter your quick view button text.', 'shopbuilder' ),
124 + 'type' => 'text',
125 + 'value' => 'Quick view',
126 + 'placeholder' => 'Quick view',
127 + ],
128 + ]
129 + ),
130 + ]
131 + ),
132 + 'wishlist' => apply_filters(
133 + 'rtsb/module/wishlist/options',
134 + [
135 + 'id' => 'wishlist',
136 + 'title' => esc_html__( 'Wishlist', 'shopbuilder' ),
137 + 'package' => 'free',
138 + 'active' => 'on',
139 + 'base_class' => Wishlist::class,
140 + 'category' => 'general',
141 + 'active_field' => [
142 + 'label' => esc_html__( 'Enable Wishlist?', 'shopbuilder' ),
143 + 'help' => esc_html__( 'Switch on to enable wishlist module.', 'shopbuilder' ),
144 + ],
145 + 'fields' => apply_filters(
146 + 'rtsb/module/wishlist/fields',
147 + [
148 + 'enable_login_limit' => [
149 + 'id' => 'enable_login_limit',
150 + 'type' => 'switch',
151 + 'label' => esc_html__( 'Limit Wishlist Use', 'shopbuilder' ),
152 + 'help' => esc_html__( 'Enable this option to allow only the logged-in users to use the Wishlist feature.', 'shopbuilder' ),
153 + 'tab' => 'general',
154 + ],
155 + 'show_btn_on_loop' => [
156 + 'id' => 'show_btn_on_loop',
157 + 'value' => 'on',
158 + 'type' => 'switch',
159 + 'label' => esc_html__( 'Show In Archive Page or Any Products Loop', 'shopbuilder' ),
160 + 'tab' => 'button',
161 + ],
162 + 'loop_btn_position' => [
163 + 'id' => 'loop_btn_position',
164 + 'type' => 'select',
165 + 'value' => 'custom',
166 + 'label' => esc_html__( 'Products Loop Button Position', 'shopbuilder' ),
167 + 'help' => esc_html__( 'You can manage wishlist button position in product list page.', 'shopbuilder' ),
168 + 'options' => [
169 + 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
170 + 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
171 + 'top_thumbnail' => esc_html__( 'Top On Image', 'shopbuilder' ),
172 + 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
173 + 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
174 + ],
175 + 'dependency' => [
176 + 'rules' => [
177 + [
178 + 'item' => 'modules.wishlist.show_btn_on_loop',
179 + 'value' => 'on',
180 + 'operator' => '==',
181 + ],
182 + ],
183 + ],
184 + 'tab' => 'button',
185 + ],
186 + 'loop_btn_position_shortcode' => [
187 + 'type' => 'raw',
188 + 'label' => ' ',
189 + 'html' => sprintf(
190 + /* translators: 1: The shortcode.*/
191 + esc_html__( 'Choose where to show button in WooCommerce product\'s loop. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
192 + '<code>[rtsb_wishlist_button]</code>'
193 + ),
194 + 'dependency' => [
195 + 'rules' => [
196 + [
197 + 'item' => 'modules.wishlist.show_btn_on_loop',
198 + 'value' => 'on',
199 + 'operator' => '==',
200 + ],
201 + [
202 + 'item' => 'modules.wishlist.loop_btn_position',
203 + 'value' => 'shortcode',
204 + 'operator' => '==',
205 + ],
206 + ],
207 + ],
208 + 'tab' => 'button',
209 + ],
210 + 'loop_custom_hook_name' => [
211 + 'id' => 'loop_custom_hook_name',
212 + 'type' => 'text',
213 + 'label' => esc_html__( 'Loop Hook Name', 'shopbuilder' ),
214 + 'tab' => 'button',
215 + 'dependency' => [
216 + 'rules' => [
217 + [
218 + 'item' => 'modules.wishlist.show_btn_on_loop',
219 + 'value' => 'on',
220 + 'operator' => '==',
221 + ],
222 + [
223 + 'item' => 'modules.wishlist.loop_btn_position',
224 + 'value' => 'custom',
225 + 'operator' => '==',
226 + ],
227 + ],
228 + ],
229 + ],
230 + 'loop_custom_hook_priority' => [
231 + 'id' => 'loop_custom_hook_priority',
232 + 'type' => 'number',
233 + 'value' => 10,
234 + 'size' => 'small',
235 + 'min' => 0,
236 + 'max' => 999,
237 + 'label' => esc_html__( 'Loop Hook Priority', 'shopbuilder' ),
238 + 'tab' => 'button',
239 + 'dependency' => [
240 + 'rules' => [
241 + [
242 + 'item' => 'modules.wishlist.show_btn_on_loop',
243 + 'value' => 'on',
244 + 'operator' => '==',
245 + ],
246 + [
247 + 'item' => 'modules.wishlist.loop_btn_position',
248 + 'value' => 'custom',
249 + 'operator' => '==',
250 + ],
251 + ],
252 + 'relation' => 'and',
253 + ],
254 + ],
255 + 'show_btn_product_page' => [
256 + 'id' => 'show_btn_product_page',
257 + 'value' => 'on',
258 + 'type' => 'switch',
259 + 'label' => esc_html__( 'Show Button in Single Product Page', 'shopbuilder' ),
260 + 'tab' => 'button',
261 + ],
262 + 'product_btn_position' => [
263 + 'id' => 'product_btn_position',
264 + 'label' => esc_html__( 'Product Page Button Position', 'shopbuilder' ),
265 + 'help' => esc_html__( 'You can manage compare button position in single product page.', 'shopbuilder' ),
266 + 'type' => 'select',
267 + 'value' => 'custom',
268 + 'options' => [
269 + 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
270 + 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
271 + 'after_thumbnail' => esc_html__( 'After Image', 'shopbuilder' ),
272 + 'after_summary' => esc_html__( 'After Summary', 'shopbuilder' ),
273 + 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
274 + 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
275 + ],
276 + 'dependency' => [
277 + 'rules' => [
278 + [
279 + 'item' => 'modules.wishlist.show_btn_product_page',
280 + 'value' => 'on',
281 + 'operator' => '==',
282 + ],
283 + ],
284 + ],
285 + 'tab' => 'button',
286 + ],
287 + 'product_btn_position_shortcode' => [
288 + 'type' => 'raw',
289 + 'label' => ' ',
290 + 'html' => sprintf(
291 + /* translators: 1: The shortcode.*/
292 + esc_html__( 'Choose where to show button on the product page. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
293 + '<code>[rtsb_wishlist_button]</code>'
294 + ),
295 + 'dependency' => [
296 + 'rules' => [
297 + [
298 + 'item' => 'modules.wishlist.show_btn_product_page',
299 + 'value' => 'on',
300 + 'operator' => '==',
301 + ],
302 + [
303 + 'item' => 'modules.wishlist.product_btn_position',
304 + 'value' => 'shortcode',
305 + 'operator' => '==',
306 + ],
307 + ],
308 + ],
309 + 'tab' => 'button',
310 + ],
311 + 'product_custom_hook_name' => [
312 + 'id' => 'product_custom_hook_name',
313 + 'type' => 'text',
314 + 'label' => esc_html__( 'Product Hook Name', 'shopbuilder' ),
315 + 'tab' => 'button',
316 + 'dependency' => [
317 + 'rules' => [
318 + [
319 + 'item' => 'modules.wishlist.show_btn_product_page',
320 + 'value' => 'on',
321 + 'operator' => '==',
322 + ],
323 + [
324 + 'item' => 'modules.wishlist.product_btn_position',
325 + 'value' => 'custom',
326 + 'operator' => '==',
327 + ],
328 + ],
329 + ],
330 + ],
331 + 'product_custom_hook_priority' => [
332 + 'id' => 'product_custom_hook_priority',
333 + 'type' => 'number',
334 + 'value' => 10,
335 + 'size' => 'small',
336 + 'min' => 0,
337 + 'max' => 999,
338 + 'label' => esc_html__( 'Product Hook Priority', 'shopbuilder' ),
339 + 'tab' => 'button',
340 + 'dependency' => [
341 + 'rules' => [
342 + [
343 + 'item' => 'modules.wishlist.show_btn_product_page',
344 + 'value' => 'on',
345 + 'operator' => '==',
346 + ],
347 + [
348 + 'item' => 'modules.wishlist.product_btn_position',
349 + 'value' => 'custom',
350 + 'operator' => '==',
351 + ],
352 + ],
353 + 'relation' => 'and',
354 + ],
355 + ],
356 + 'button_text' => [
357 + 'id' => 'button_text',
358 + 'label' => esc_html__( 'Add to Wishlist Text', 'shopbuilder' ),
359 + 'help' => esc_html__( 'Enter your wishlist button text.', 'shopbuilder' ),
360 + 'type' => 'text',
361 + 'value' => 'Add to wishlist',
362 + 'placeholder' => 'Add to wishlist',
363 + 'tab' => 'button',
364 + ],
365 + 'notice_added_text' => [
366 + 'id' => 'notice_added_text',
367 + 'label' => esc_html__( 'Product Added Text', 'shopbuilder' ),
368 + 'help' => esc_html__( 'Enter the product added text.', 'shopbuilder' ),
369 + 'type' => 'text',
370 + 'value' => 'Product added!',
371 + 'placeholder' => 'Product added!',
372 + 'tab' => 'button',
373 + ],
374 + 'notice_removed_text' => [
375 + 'id' => 'notice_removed_text',
376 + 'label' => esc_html__( 'Product Removed Text', 'shopbuilder' ),
377 + 'help' => esc_html__( 'Enter the product removed text.', 'shopbuilder' ),
378 + 'type' => 'text',
379 + 'value' => 'Product removed!',
380 + 'placeholder' => 'Product removed!',
381 + 'tab' => 'button',
382 + ],
383 + 'browse_list_text' => [
384 + 'id' => 'browse_list_text',
385 + 'label' => esc_html__( 'Browse Wishlist Text', 'shopbuilder' ),
386 + 'help' => esc_html__( 'Enter a text for the "Browse wishlist" link on the product page', 'shopbuilder' ),
387 + 'type' => 'text',
388 + 'value' => 'Browse wishlist',
389 + 'placeholder' => 'Browse wishlist',
390 + 'tab' => 'button',
391 + ],
392 + /*
393 + 'notice_exist_text' => array(
394 + 'id' => 'notice_exist_text',
395 + 'label' => esc_html__( 'Product Already Exist in Wishlist Text', 'shopbuilder' ),
396 + 'help' => esc_html__( 'Enter the message for "already exists in the wishlist" text.', 'shopbuilder' ),
397 + 'type' => 'text',
398 + 'value' => 'The product is already in your wishlist!',
399 + 'placeholder' => 'The product is already in your wishlist!',
400 + 'tab' => 'button',
401 + ),
402 + */
403 + /*
404 + * TODO:: Will Implement Later.
405 + 'redirect_cart' => array(
406 + 'id' => 'redirect_cart',
407 + 'type' => 'switch',
408 + 'help' => esc_html__( 'Redirect users to the cart page when they add a product to the cart from the wishlist page', 'shopbuilder' ),
409 + 'label' => esc_html__( 'Redirect to Cart', 'shopbuilder' ),
410 + 'tab' => 'page',
411 + ),
412 + 'remove_after_add_to_cart' => array(
413 + 'value' => 'on',
414 + 'id' => 'remove_after_add_to_cart',
415 + 'type' => 'switch',
416 + 'help' => esc_html__( 'Remove the product from the wishlist after it has been added to the cart', 'shopbuilder' ),
417 + 'label' => esc_html__( 'Remove if Added to Cart', 'shopbuilder' ),
418 + 'tab' => 'page',
419 + ),
420 + */
421 + 'page_show_fields' => [
422 + 'value' => WishlistFns::instance()->get_field_ids(),
423 + 'id' => 'page_show_fields',
424 + 'multiple' => true,
425 + 'checkbox' => true,
426 + 'sanitize_fn' => 'sanitize_text_field',
427 + 'type' => 'sortable',
428 + 'options' => WishlistFns::instance()->get_default_fields(),
429 + 'label' => esc_html__( 'Show Fields in Table', 'shopbuilder' ),
430 + 'tab' => 'page',
431 + ],
432 +
433 + ]
434 + ),
435 + 'tabs' => [
436 + 'general' => [
437 + 'title' => esc_html__( 'General', 'shopbuilder' ),
438 + ],
439 + 'button' => [
440 + 'title' => esc_html__( 'Button', 'shopbuilder' ),
441 + ],
442 + 'page' => [
443 + 'title' => esc_html__( 'Page', 'shopbuilder' ),
444 + ],
445 +
446 + ],
447 + ]
448 + ),
449 + 'compare' => apply_filters(
450 + 'rtsb/module/compare/options',
451 + [
452 + 'id' => 'compare',
453 + 'base_class' => Compare::class,
454 + 'category' => 'general',
455 + 'title' => esc_html__( 'Product Compare', 'shopbuilder' ),
456 + 'package' => 'free',
457 + 'active' => 'on',
458 + 'active_field' => [
459 + 'label' => esc_html__( 'Enable Product Comparison?', 'shopbuilder' ),
460 + 'help' => esc_html__( 'Switch on to enable product comparison module.', 'shopbuilder' ),
461 + ],
462 + 'fields' => apply_filters(
463 + 'rtsb/module/compare/fields',
464 + [
465 + 'show_btn_on_loop' => [
466 + 'id' => 'show_btn_on_loop',
467 + 'value' => 'on',
468 + 'type' => 'switch',
469 + 'label' => esc_html__( 'Show In Archive Page or Any Products Loop', 'shopbuilder' ),
470 + 'tab' => 'button',
471 + ],
472 + 'loop_btn_position' => [
473 + 'id' => 'loop_btn_position',
474 + 'type' => 'select',
475 + 'value' => 'custom',
476 + 'label' => esc_html__( 'Products Loop Button Position', 'shopbuilder' ),
477 + 'help' => esc_html__( 'You can manage wishlist button position in product list page.', 'shopbuilder' ),
478 + 'options' => [
479 + 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
480 + 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
481 + 'top_thumbnail' => esc_html__( 'Top On Image', 'shopbuilder' ),
482 + 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
483 + 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
484 + ],
485 + 'dependency' => [
486 + 'rules' => [
487 + [
488 + 'item' => 'modules.compare.show_btn_on_loop',
489 + 'value' => 'on',
490 + 'operator' => '==',
491 + ],
492 + ],
493 + ],
494 + 'tab' => 'button',
495 + ],
496 + 'loop_btn_position_shortcode' => [
497 + 'type' => 'raw',
498 + 'label' => ' ',
499 + 'html' => sprintf(
500 + /* translators: 1: The shortcode.*/
501 + esc_html__( 'Choose where to show button in WooCommerce product\'s loop. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
502 + '<code>[rtsb_compare_button]</code>'
503 + ),
504 + 'dependency' => [
505 + 'rules' => [
506 + [
507 + 'item' => 'modules.compare.show_btn_on_loop',
508 + 'value' => 'on',
509 + 'operator' => '==',
510 + ],
511 + [
512 + 'item' => 'modules.compare.loop_btn_position',
513 + 'value' => 'shortcode',
514 + 'operator' => '==',
515 + ],
516 + ],
517 + ],
518 + 'tab' => 'button',
519 + ],
520 + 'loop_custom_hook_name' => [
521 + 'id' => 'product_custom_hook_name',
522 + 'type' => 'text',
523 + 'label' => esc_html__( 'Product Hook Name', 'shopbuilder' ),
524 + 'tab' => 'button',
525 + 'dependency' => [
526 + 'rules' => [
527 + [
528 + 'item' => 'modules.compare.show_btn_on_loop',
529 + 'value' => 'on',
530 + 'operator' => '==',
531 + ],
532 + [
533 + 'item' => 'modules.compare.loop_btn_position',
534 + 'value' => 'custom',
535 + 'operator' => '==',
536 + ],
537 + ],
538 + ],
539 + ],
540 + 'loop_custom_hook_priority' => [
541 + 'id' => 'product_custom_hook_priority',
542 + 'type' => 'number',
543 + 'value' => 10,
544 + 'size' => 'small',
545 + 'min' => 0,
546 + 'max' => 999,
547 + 'label' => esc_html__( 'Product Hook Priority', 'shopbuilder' ),
548 + 'tab' => 'button',
549 + 'dependency' => [
550 + 'rules' => [
551 + [
552 + 'item' => 'modules.compare.show_btn_on_loop',
553 + 'value' => 'on',
554 + 'operator' => '==',
555 + ],
556 + [
557 + 'item' => 'modules.compare.loop_btn_position',
558 + 'value' => 'custom',
559 + 'operator' => '==',
560 + ],
561 + ],
562 + 'relation' => 'and',
563 + ],
564 + ],
565 + 'show_btn_product_page' => [
566 + 'id' => 'show_btn_product_page',
567 + 'type' => 'switch',
568 + 'value' => 'on',
569 + 'label' => esc_html__( 'Show Button in Single Product Page', 'shopbuilder' ),
570 + 'tab' => 'button',
571 + ],
572 + 'product_btn_position' => [
573 + 'id' => 'product_btn_position',
574 + 'label' => esc_html__( 'Product Page Button Position', 'shopbuilder' ),
575 + 'help' => esc_html__( 'You can manage compare button position in single product page.', 'shopbuilder' ),
576 + 'type' => 'select',
577 + 'value' => 'custom',
578 + 'options' => [
579 + 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
580 + 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
581 + 'after_thumbnail' => esc_html__( 'After Image', 'shopbuilder' ),
582 + 'after_summary' => esc_html__( 'After Summary', 'shopbuilder' ),
583 + 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
584 + 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
585 + ],
586 + 'dependency' => [
587 + 'rules' => [
588 + [
589 + 'item' => 'modules.compare.show_btn_product_page',
590 + 'value' => 'on',
591 + 'operator' => '==',
592 + ],
593 + ],
594 + ],
595 + 'tab' => 'button',
596 + ],
597 + 'product_btn_position_shortcode' => [
598 + 'type' => 'raw',
599 + 'label' => ' ',
600 + 'html' => sprintf(
601 + /* translators: 1: The shortcode.*/
602 + esc_html__( 'Choose where to show button on the product page. Copy this shortcode %1$s and paste it where you want to show the button.', 'shopbuilder' ),
603 + '<code>[rtsb_wishlist_button]</code> '
604 + ),
605 + 'dependency' => [
606 + 'rules' => [
607 + [
608 + 'item' => 'modules.wishlist.show_btn_product_page',
609 + 'value' => 'on',
610 + 'operator' => '==',
611 + ],
612 + [
613 + 'item' => 'modules.wishlist.product_btn_position',
614 + 'value' => 'shortcode',
615 + 'operator' => '==',
616 + ],
617 + ],
618 + ],
619 + 'tab' => 'button',
620 + ],
621 + 'product_custom_hook_name' => [
622 + 'id' => 'product_custom_hook_name',
623 + 'type' => 'text',
624 + 'label' => esc_html__( 'Product Hook Name', 'shopbuilder' ),
625 + 'tab' => 'button',
626 + 'dependency' => [
627 + 'rules' => [
628 + [
629 + 'item' => 'modules.compare.show_btn_product_page',
630 + 'value' => 'on',
631 + 'operator' => '==',
632 + ],
633 + [
634 + 'item' => 'modules.compare.product_btn_position',
635 + 'value' => 'custom',
636 + 'operator' => '==',
637 + ],
638 + ],
639 + ],
640 + ],
641 + 'product_custom_hook_priority' => [
642 + 'id' => 'product_custom_hook_priority',
643 + 'type' => 'number',
644 + 'value' => 10,
645 + 'size' => 'small',
646 + 'min' => 0,
647 + 'max' => 999,
648 + 'label' => esc_html__( 'Product Hook Priority', 'shopbuilder' ),
649 + 'tab' => 'button',
650 + 'dependency' => [
651 + 'rules' => [
652 + [
653 + 'item' => 'modules.compare.show_btn_product_page',
654 + 'value' => 'on',
655 + 'operator' => '==',
656 + ],
657 + [
658 + 'item' => 'modules.compare.product_btn_position',
659 + 'value' => 'custom',
660 + 'operator' => '==',
661 + ],
662 + ],
663 + 'relation' => 'and',
664 + ],
665 + ],
666 + 'button_text' => [
667 + 'id' => 'button_text',
668 + 'label' => esc_html__( 'Button Text', 'shopbuilder' ),
669 + 'help' => esc_html__( 'Enter your compare button text.', 'shopbuilder' ),
670 + 'type' => 'text',
671 + 'value' => 'Compare',
672 + 'placeholder' => 'Compare',
673 + 'tab' => 'button',
674 + ],
675 + 'notice_added_text' => [
676 + 'id' => 'notice_added_text',
677 + 'label' => esc_html__( 'Product Added Text', 'shopbuilder' ),
678 + 'help' => esc_html__( 'Enter the product added text.', 'shopbuilder' ),
679 + 'type' => 'text',
680 + 'value' => 'Product added!',
681 + 'placeholder' => 'Product added!',
682 + 'tab' => 'button',
683 + ],
684 + 'browse_list_text' => [
685 + 'id' => 'browse_list_text',
686 + 'label' => esc_html__( 'Browse Compare Text', 'shopbuilder' ),
687 + 'help' => esc_html__( 'Enter a text for the "Browse compare" link on the compare page', 'shopbuilder' ),
688 + 'type' => 'text',
689 + 'value' => 'Browse compare',
690 + 'placeholder' => 'Browse compare',
691 + 'tab' => 'button',
692 + ],
693 + 'notice_removed_text' => [
694 + 'id' => 'notice_removed_text',
695 + 'label' => esc_html__( 'Product Removed Text', 'shopbuilder' ),
696 + 'help' => esc_html__( 'Enter the product removed text.', 'shopbuilder' ),
697 + 'type' => 'text',
698 + 'value' => 'Product removed!',
699 + 'placeholder' => 'Product removed!',
700 + 'tab' => 'button',
701 + ],
702 + 'page' => [
703 + 'id' => 'page',
704 + 'type' => 'select',
705 + 'help' => sprintf(
706 + /* translators: 1: The shortcode.*/
707 + esc_html__( 'Select a page for compare page and make sure you add the shortcode %1$s into the page content', 'shopbuilder' ),
708 + '<code>[rtsb_compare_list]</code>'
709 + ),
710 + 'label' => esc_html__( 'Compare Page', 'shopbuilder' ),
711 + 'options' => Fns::get_pages(),
712 + 'empty' => esc_html__( 'Select a page', 'shopbuilder' ),
713 + 'searchable' => true,
714 + 'tab' => 'page',
715 + ],
716 + 'max_limit' => [
717 + 'id' => 'page',
718 + 'type' => 'number',
719 + 'sanitize_fn' => 'absint',
720 + 'value' => 10,
721 + 'help' => esc_html__( 'You can manage your maximum compare quantity from here.', 'shopbuilder' ),
722 + 'label' => esc_html__( 'Max Limit', 'shopbuilder' ),
723 + 'tab' => 'page',
724 + ],
725 + 'page_show_fields' => [
726 + 'value' => CompareFns::get_list_field_ids(),
727 + 'id' => 'page_show_fields',
728 + 'multiple' => true,
729 + 'checkbox' => true,
730 + 'type' => 'sortable',
731 + 'options' => CompareFns::get_available_list_fields(),
732 + 'label' => esc_html__( 'Show Fields in List', 'shopbuilder' ),
733 + 'tab' => 'page',
734 + ],
735 +
736 + ]
737 + ),
738 + 'tabs' => [
739 + 'button' => [
740 + 'title' => esc_html__( 'Button', 'shopbuilder' ),
741 + ],
742 + 'page' => [
743 + 'title' => esc_html__( 'Page', 'shopbuilder' ),
744 + ],
745 +
746 + ],
747 + ]
748 + ),
749 + 'variation_gallery' => apply_filters(
750 + 'rtsb/module/variation_gallery/options',
751 + [
752 + 'id' => 'variation_gallery',
753 + 'external' => true,
754 + 'category' => 'general',
755 + 'title' => esc_html__( 'Variation Gallery', 'shopbuilder' ),
756 + 'pluginSlug' => 'woo-product-variation-gallery',
757 + 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
758 + 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
759 + 'pluginActiveUrl' => add_query_arg(
760 + [
761 + '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-gallery/woo-product-variation-gallery.php' ),
762 + 'action' => 'activate',
763 + 'plugin' => 'woo-product-variation-gallery/woo-product-variation-gallery.php',
764 + ],
765 + admin_url( 'plugins.php' )
766 + ),
767 + 'help' => esc_html__( 'This module requires: Variation Images Gallery for WooCommerce Plugin', 'shopbuilder' ),
768 + 'package' => 'free',
769 + 'active_field' => [
770 + 'disable' => false,
771 + ],
772 + 'fields' => [],
773 + ]
774 + ),
775 + 'variation_swatches' => apply_filters(
776 + 'rtsb/module/variation_swatches/options',
777 + [
778 + 'id' => 'variation_swatches',
779 + 'external' => true,
780 + 'category' => 'general',
781 + 'title' => esc_html__( 'Variation Swatches', 'shopbuilder' ),
782 + 'pluginSlug' => 'woo-product-variation-swatches',
783 + 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
784 + 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
785 + 'pluginActiveUrl' => add_query_arg(
786 + [
787 + '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-swatches/woo-product-variation-swatches.php' ),
788 + 'action' => 'activate',
789 + 'plugin' => 'woo-product-variation-swatches/woo-product-variation-swatches.php',
790 + ],
791 + admin_url( 'plugins.php' )
792 + ),
793 + 'help' => esc_html__( 'This module requires: Variation Swatches for WooCommerce Plugin.', 'shopbuilder' ),
794 + 'package' => 'free',
795 + 'active_field' => [
796 + 'disable' => false,
797 + ],
798 + 'fields' => [],
799 + ]
800 + ),
801 + 'quick_checkout' => apply_filters(
802 + 'rtsb/module/quick_checkout/options',
803 + [
804 + 'id' => 'quick_checkout',
805 + 'base_class' => QuickCheckout::class,
806 + 'category' => 'pro',
807 + 'title' => esc_html__( 'Quick Checkout', 'shopbuilder' ),
808 + 'package' => 'pro-disabled',
809 + 'active_field' => [
810 + 'label' => esc_html__( 'Enable Quick Checkout?', 'shopbuilder' ),
811 + 'help' => esc_html__( 'Switch on to enable quick checkout module.', 'shopbuilder' ),
812 + ],
813 + 'fields' => [],
814 + ]
815 + ),
816 + 'mini_cart' => apply_filters(
817 + 'rtsb/module/mini_cart/options',
818 + [
819 + 'id' => 'mini_cart',
820 + 'base_class' => MiniCart::class,
821 + 'category' => 'pro',
822 + 'title' => esc_html__( 'Mini Cart', 'shopbuilder' ),
823 + 'package' => 'pro-disabled',
824 + 'active_field' => [
825 + 'label' => esc_html__( 'Enable Mini Cart?', 'shopbuilder' ),
826 + 'help' => esc_html__( 'Switch on to enable mini cart module.', 'shopbuilder' ),
827 + ],
828 + 'fields' => [],
829 + ]
830 + ),
831 + ];
832 +
833 + return apply_filters( 'rtsb/core/modules/raw_list', $list );
834 + }
835 +}