PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.2.2
ShopBuilder – WooCommerce Builder For Elementor v2.2.2
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 +224 -64 2.1.72.2.2 View file →
@@ -1,25 +1,41 @@
1 1 <?php
2 +/**
3 + * ShopBuilder Module List.
4 + *
5 + * @package RadiusTheme\SB
6 + */
2 7
3 8 namespace RadiusTheme\SB\Models;
4 9
5 10 use RadiusTheme\SB\Helpers\Fns;
6 11 use RadiusTheme\SB\Models\Base\ListModel;
12 +use RadiusTheme\SB\Traits\SingletonTrait;
7 13 use RadiusTheme\SB\Modules\Compare\Compare;
14 +use RadiusTheme\SB\Modules\WishList\Wishlist;
8 15 use RadiusTheme\SB\Modules\Compare\CompareFns;
9 16 use RadiusTheme\SB\Modules\QuickView\QuickView;
10 -use RadiusTheme\SB\Modules\WishList\Wishlist;
11 17 use RadiusTheme\SB\Modules\WishList\WishlistFns;
12 -use RadiusTheme\SB\Traits\SingletonTrait;
13 18
14 19 defined( 'ABSPATH' ) || exit;
15 20
21 +/**
22 + * ShopBuilder Module List.
23 + */
16 24 class ModuleList extends ListModel {
17 25
18 26 use SingletonTrait;
19 27
28 + /**
29 + * List ID.
30 + *
31 + * @var string
32 + */
20 33 protected $list_id = 'modules';
21 34
35 + /**
36 + * Class constructor.
37 + */
22 38 public function __construct() {
23 39 parent::__construct();
24 40 $this->title = esc_html__( 'Modules', 'shopbuilder' );
25 41 $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' );
@@ -24,8 +40,13 @@
24 40 $this->title = esc_html__( 'Modules', 'shopbuilder' );
25 41 $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 42 }
27 43
44 + /**
45 + * Module list.
46 + *
47 + * @return mixed|null
48 + */
28 49 protected function raw_list() {
29 50 $list = [
30 51 'quick_view' => apply_filters(
31 52 'rtsb/module/quick_view/options',
@@ -39,8 +60,16 @@
39 60 'active_field' => [
40 61 'label' => esc_html__( 'Enable Quick View?', 'shopbuilder' ),
41 62 'help' => esc_html__( 'Switch on to enable quick view module.', 'shopbuilder' ),
42 63 ],
64 + 'tabs' => [
65 + 'general' => [
66 + 'title' => esc_html__( 'General', 'shopbuilder' ),
67 + ],
68 + 'style' => [
69 + 'title' => esc_html__( 'Style', 'shopbuilder' ),
70 + ],
71 + ],
43 72 'fields' => apply_filters(
44 73 'rtsb/module/quick_view/fields',
45 74 [
46 75 'loop_btn_position' => [
@@ -48,8 +77,9 @@
48 77 'type' => 'select',
49 78 'value' => 'custom',
50 79 'label' => esc_html__( 'Shop Page Button Position', 'shopbuilder' ),
51 80 'help' => esc_html__( 'You can manage quick view button position in shop page.', 'shopbuilder' ),
81 + 'tab' => 'general',
52 82 'options' => [
53 83 'before_add_to_cart' => esc_html__( 'Before Add To Cart', 'shopbuilder' ),
54 84 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
55 85 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
@@ -54,8 +84,9 @@
54 84 'after_add_to_cart' => esc_html__( 'After Add To Cart', 'shopbuilder' ),
55 85 'shortcode' => esc_html__( 'Use Shortcode', 'shopbuilder' ),
56 86 'custom' => esc_html__( 'Custom Position', 'shopbuilder' ),
57 87 ],
88 +
58 89 ],
59 90 'loop_btn_position_shortcode' => [
60 91 'type' => 'raw',
61 92 'label' => ' ',
@@ -63,8 +94,9 @@
63 94 /* translators: 1: The shortcode.*/
64 95 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 96 '<code>[rtsb_quick_view_button]</code>'
66 97 ),
98 + 'tab' => 'general',
67 99 'dependency' => [
68 100 'rules' => [
69 101 [
70 102 'item' => 'modules.quick_view.loop_btn_position',
@@ -80,10 +112,11 @@
80 112 'label' => esc_html__( 'Enter Hook Name', 'shopbuilder' ),
81 113 'help' => sprintf(
82 114 /* translators: 1: The shortcode.*/
83 115 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>"
116 + "<br /><code>&lt;?php do_action( 'rtsb/modules/quick_view/frontend/display' ); ?&gt;</code><br />"
85 117 ),
118 + 'tab' => 'general',
86 119 'dependency' => [
87 120 'rules' => [
88 121 [
89 122 'item' => 'modules.quick_view.loop_btn_position',
@@ -100,8 +133,9 @@
100 133 'size' => 'small',
101 134 'min' => 0,
102 135 'max' => 999,
103 136 'label' => esc_html__( 'Hook Priority', 'shopbuilder' ),
137 + 'tab' => 'general',
104 138 'dependency' => [
105 139 'rules' => [
106 140 [
107 141 'item' => 'modules.quick_view.loop_btn_position',
@@ -117,9 +151,64 @@
117 151 'help' => esc_html__( 'Enter your quick view button text.', 'shopbuilder' ),
118 152 'type' => 'text',
119 153 'value' => 'Quick View',
120 154 'placeholder' => 'Quick View',
155 + 'tab' => 'general',
121 156 ],
157 +
158 + // Module Style.
159 + 'modal_width' => [
160 + 'id' => 'modal_width',
161 + 'label' => esc_html__( 'Modal Width (in px)', 'shopbuilder' ),
162 + 'help' => esc_html__( 'Quick view button modal width. Example: 950', 'shopbuilder' ),
163 + 'type' => 'number',
164 + 'value' => '',
165 + 'tab' => 'style',
166 + ],
167 +
168 + 'modal_height' => [
169 + 'id' => 'modal_height',
170 + 'label' => esc_html__( 'Modal Height', 'shopbuilder' ),
171 + 'help' => esc_html__( 'Quick view button modal height. Example: 450px', 'shopbuilder' ),
172 + 'type' => 'text',
173 + 'value' => '',
174 + 'tab' => 'style',
175 + ],
176 +
177 + 'modal_wrapper_padding' => [
178 + 'id' => 'modal_wrapper_padding',
179 + 'label' => esc_html__( 'Modal Wrapper Padding', 'shopbuilder' ),
180 + 'help' => esc_html__( 'Quick view modal wrapper padding. Example 1: 20px, Example 2: 20px 20px 20px 20px', 'shopbuilder' ),
181 + 'type' => 'text',
182 + 'value' => '',
183 + 'tab' => 'style',
184 + ],
185 + 'modal_bg_color' => [
186 + 'id' => 'modal_bg_color',
187 + 'label' => esc_html__( 'Modal Backgroud Color', 'shopbuilder' ),
188 + 'help' => esc_html__( 'Quick view modal background color. Example: #fff', 'shopbuilder' ),
189 + 'type' => 'color',
190 + 'value' => '',
191 + 'tab' => 'style',
192 + ],
193 + 'modal_box_shadow_color' => [
194 + 'id' => 'modal_box_shadow_color',
195 + 'label' => esc_html__( 'Modal Box Shadow Color', 'shopbuilder' ),
196 + 'help' => esc_html__( 'Quick view modal box shadow. Example: #000', 'shopbuilder' ),
197 + 'type' => 'color',
198 + 'value' => '',
199 + 'tab' => 'style',
200 + ],
201 +
202 + 'modal_overly_color' => [
203 + 'id' => 'modal_overly_color',
204 + 'label' => esc_html__( 'Modal Overly Color', 'shopbuilder' ),
205 + 'help' => esc_html__( 'Quick view modal overly. Example: #000', 'shopbuilder' ),
206 + 'type' => 'color',
207 + 'value' => '',
208 + 'tab' => 'style',
209 + ],
210 +
122 211 ]
123 212 ),
124 213 ]
125 214 ),
@@ -229,9 +318,9 @@
229 318 'tab' => 'button',
230 319 'help' => sprintf(
231 320 /* translators: 1: The shortcode.*/
232 321 esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
233 - "<code>&lt;?php do_action('rtsb/modules/wishlist/frontend/display' ); ?&gt;</code>"
322 + "<br /><code>&lt;?php do_action('rtsb/modules/wishlist/frontend/display' ); ?&gt;</code><br />"
234 323 ),
235 324 'dependency' => [
236 325 'rules' => [
237 326 [
@@ -341,9 +430,9 @@
341 430 'tab' => 'button',
342 431 'help' => sprintf(
343 432 /* translators: 1: The shortcode.*/
344 433 esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
345 - "<code>&lt;?php do_action('rtsb/modules/wishlist/frontend/display' ); ?&gt;</code>"
434 + "<br /><code>&lt;?php do_action('rtsb/modules/wishlist/frontend/display' ); ?&gt;</code><br />"
346 435 ),
347 436 'dependency' => [
348 437 'rules' => [
349 438 [
@@ -437,9 +526,8 @@
437 526 'label' => esc_html__( 'Remove if Added to Cart', 'shopbuilder' ),
438 527 'tab' => 'page',
439 528 ),
440 529 */
441 -
442 530 'page' => [
443 531 'id' => 'page',
444 532 'type' => 'select',
445 533 'label' => esc_html__( 'Select Wishlist Page', 'shopbuilder' ),
@@ -450,9 +538,8 @@
450 538 ),
451 539 'options' => Fns::get_pages(),
452 540 'tab' => 'page',
453 541 ],
454 -
455 542 'page_show_fields' => [
456 543 'value' => WishlistFns::instance()->get_field_ids(),
457 544 'id' => 'page_show_fields',
458 545 'multiple' => true,
@@ -562,9 +649,9 @@
562 649 'tab' => 'button',
563 650 'help' => sprintf(
564 651 /* translators: 1: The shortcode.*/
565 652 esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
566 - "<code>&lt;?php do_action('rtsb/modules/compare/frontend/display' ); ?&gt;</code>"
653 + "<br /><code>&lt;?php do_action('rtsb/modules/compare/frontend/display' ); ?&gt;</code><br />"
567 654 ),
568 655 'dependency' => [
569 656 'rules' => [
570 657 [
@@ -674,9 +761,9 @@
674 761 'tab' => 'button',
675 762 'help' => sprintf(
676 763 /* translators: 1: The shortcode.*/
677 764 esc_html__( 'Or Copy the php code %1$s and paste it in your product query where you want to show the button.', 'shopbuilder' ),
678 - "<code>&lt;?php do_action('rtsb/modules/compare/frontend/display' ); ?&gt;</code>"
765 + "<br /><code>&lt;?php do_action('rtsb/modules/compare/frontend/display' ); ?&gt;</code><br />"
679 766 ),
680 767 'dependency' => [
681 768 'rules' => [
682 769 [
@@ -802,27 +889,27 @@
802 889
803 890 ],
804 891 ]
805 892 ),
806 - 'variation_gallery' => apply_filters(
807 - 'rtsb/module/variation_gallery/options',
893 + 'variation_swatches' => apply_filters(
894 + 'rtsb/module/variation_swatches/options',
808 895 [
809 - 'id' => 'variation_gallery',
896 + 'id' => 'variation_swatches',
810 897 'external' => true,
811 898 'category' => 'general',
812 - 'title' => esc_html__( 'Variation Gallery', 'shopbuilder' ),
813 - 'pluginSlug' => 'woo-product-variation-gallery',
814 - 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
815 - 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
899 + 'title' => esc_html__( 'Variation Swatches', 'shopbuilder' ),
900 + 'pluginSlug' => 'woo-product-variation-swatches',
901 + 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
902 + 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
816 903 'pluginActiveUrl' => add_query_arg(
817 904 [
818 - '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-gallery/woo-product-variation-gallery.php' ),
905 + '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-swatches/woo-product-variation-swatches.php' ),
819 906 'action' => 'activate',
820 - 'plugin' => 'woo-product-variation-gallery/woo-product-variation-gallery.php',
907 + 'plugin' => 'woo-product-variation-swatches/woo-product-variation-swatches.php',
821 908 ],
822 909 admin_url( 'plugins.php' )
823 910 ),
824 - 'help' => esc_html__( 'This module requires: Variation Images Gallery for WooCommerce Plugin', 'shopbuilder' ),
911 + 'help' => esc_html__( 'This module requires: Variation Swatches for WooCommerce Plugin.', 'shopbuilder' ),
825 912 'package' => 'free',
826 913 'active_field' => [
827 914 'disable' => false,
828 915 ],
@@ -828,27 +915,27 @@
828 915 ],
829 916 'fields' => [],
830 917 ]
831 918 ),
832 - 'variation_swatches' => apply_filters(
833 - 'rtsb/module/variation_swatches/options',
919 + 'variation_gallery' => apply_filters(
920 + 'rtsb/module/variation_gallery/options',
834 921 [
835 - 'id' => 'variation_swatches',
922 + 'id' => 'variation_gallery',
836 923 'external' => true,
837 924 'category' => 'general',
838 - 'title' => esc_html__( 'Variation Swatches', 'shopbuilder' ),
839 - 'pluginSlug' => 'woo-product-variation-swatches',
840 - 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
841 - 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-swatches/woo-product-variation-swatches.php' ),
925 + 'title' => esc_html__( 'Variation Gallery', 'shopbuilder' ),
926 + 'pluginSlug' => 'woo-product-variation-gallery',
927 + 'pluginIsInstalled' => Fns::check_plugin_installed( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
928 + 'pluginIsActive' => Fns::check_plugin_active( 'woo-product-variation-gallery/woo-product-variation-gallery.php' ),
842 929 'pluginActiveUrl' => add_query_arg(
843 930 [
844 - '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-swatches/woo-product-variation-swatches.php' ),
931 + '_wpnonce' => wp_create_nonce( 'activate-plugin_woo-product-variation-gallery/woo-product-variation-gallery.php' ),
845 932 'action' => 'activate',
846 - 'plugin' => 'woo-product-variation-swatches/woo-product-variation-swatches.php',
933 + 'plugin' => 'woo-product-variation-gallery/woo-product-variation-gallery.php',
847 934 ],
848 935 admin_url( 'plugins.php' )
849 936 ),
850 - 'help' => esc_html__( 'This module requires: Variation Swatches for WooCommerce Plugin.', 'shopbuilder' ),
937 + 'help' => esc_html__( 'This module requires: Variation Images Gallery for WooCommerce Plugin', 'shopbuilder' ),
851 938 'package' => 'free',
852 939 'active_field' => [
853 940 'disable' => false,
854 941 ],
@@ -854,8 +941,110 @@
854 941 ],
855 942 'fields' => [],
856 943 ]
857 944 ),
945 + 'mini_cart' => apply_filters(
946 + 'rtsb/module/mini_cart/options',
947 + [
948 + 'id' => 'mini_cart',
949 + 'active' => '',
950 + 'title' => esc_html__( 'Mini Cart', 'shopbuilder' ),
951 + 'package' => $this->pro_package(),
952 + 'active_field' => [
953 + 'label' => esc_html__( 'Enable Mini Cart?', 'shopbuilder' ),
954 + 'help' => esc_html__( 'Switch on to enable mini cart module.', 'shopbuilder' ),
955 + ],
956 + 'is_active' => true,
957 + 'fields' => [],
958 + ]
959 + ),
960 + 'product_size_chart' => apply_filters(
961 + 'rtsb/module/product_size_chart/options',
962 + [
963 + 'id' => 'product_size_chart',
964 + 'active' => '',
965 + 'title' => esc_html__( 'Product Size Chart', 'shopbuilder' ),
966 + 'package' => $this->pro_package(),
967 + 'active_field' => [
968 + 'label' => esc_html__( 'Enable Product Size Chart?', 'shopbuilder' ),
969 + 'help' => esc_html__( 'Switch on to enable Product Size Chart module.', 'shopbuilder' ),
970 + ],
971 + 'fields' => [],
972 + ]
973 + ),
974 + 'product_badges' => apply_filters(
975 + 'rtsb/module/product_badges/options',
976 + [
977 + 'id' => 'product_badges',
978 + 'active' => '',
979 + 'title' => esc_html__( 'Product Badges', 'shopbuilder' ),
980 + 'package' => $this->pro_package(),
981 + 'active_field' => [
982 + 'label' => esc_html__( 'Enable Product Badges?', 'shopbuilder' ),
983 + 'help' => esc_html__( 'Switch on to enable product badges module.', 'shopbuilder' ),
984 + ],
985 + 'fields' => [],
986 + ]
987 + ),
988 + 'customize_my_account' => apply_filters(
989 + 'rtsb/module/customize_my_account/options',
990 + [
991 + 'id' => 'customize_my_account',
992 + 'active' => '',
993 + 'title' => esc_html__( 'Customize My Account', 'shopbuilder' ),
994 + 'package' => $this->pro_package(),
995 + 'active_field' => [
996 + 'label' => esc_html__( 'Enable Customize My Account?', 'shopbuilder' ),
997 + 'help' => esc_html__( 'Switch on to enable customize my account module.', 'shopbuilder' ),
998 + ],
999 + 'fields' => [],
1000 + ]
1001 + ),
1002 + 'pre_order' => apply_filters(
1003 + 'rtsb/module/pre_order/options',
1004 + [
1005 + 'id' => 'pre_order',
1006 + 'active' => '',
1007 + 'title' => esc_html__( 'Pre-Order', 'shopbuilder' ),
1008 + 'package' => $this->pro_package(),
1009 + 'active_field' => [
1010 + 'label' => esc_html__( 'Enable Pre-Order?', 'shopbuilder' ),
1011 + 'help' => esc_html__( 'Switch on to enable pre-order module.', 'shopbuilder' ),
1012 + ],
1013 + 'fields' => [],
1014 + ]
1015 + ),
1016 + 'currency_switcher' => apply_filters(
1017 + 'rtsb/module/currency_switcher/options',
1018 + [
1019 + 'id' => 'currency_switcher',
1020 + 'active' => '',
1021 + 'title' => esc_html__( 'Currency Switcher', 'shopbuilder' ),
1022 + 'package' => $this->pro_package(),
1023 + 'active_field' => [
1024 + 'label' => esc_html__( 'Enable Currency Switcher?', 'shopbuilder' ),
1025 + 'help' => esc_html__( 'Switch on to enable currency switcher module.', 'shopbuilder' ),
1026 + ],
1027 + 'is_active' => true,
1028 + 'fields' => [],
1029 + ]
1030 + ),
1031 + 'product_add_ons' => apply_filters(
1032 + 'rtsb/module/product_add_ons/options',
1033 + [
1034 + 'id' => 'product_add_ons',
1035 + 'active' => '',
1036 + 'title' => esc_html__( 'Product Add-Ons', 'shopbuilder' ),
1037 + 'package' => $this->pro_package(),
1038 + 'active_field' => [
1039 + 'label' => esc_html__( 'Enable Product Add-Ons?', 'shopbuilder' ),
1040 + 'help' => esc_html__( 'Switch on to enable product add-ons module.', 'shopbuilder' ),
1041 + ],
1042 + 'is_active' => true,
1043 + 'fields' => [],
1044 + ]
1045 + ),
1046 + // Checkout Fields Manager.
858 1047 'sales_notification' => apply_filters(
859 1048 'rtsb/module/sales_notification/options',
860 1049 [
861 1050 'id' => 'sales_notification',
@@ -882,23 +1071,8 @@
882 1071 ],
883 1072 'fields' => [],
884 1073 ]
885 1074 ),
886 - 'mini_cart' => apply_filters(
887 - 'rtsb/module/mini_cart/options',
888 - [
889 - 'id' => 'mini_cart',
890 - 'active' => '',
891 - 'title' => esc_html__( 'Mini Cart', 'shopbuilder' ),
892 - 'package' => $this->pro_package(),
893 - 'active_field' => [
894 - 'label' => esc_html__( 'Enable Mini Cart?', 'shopbuilder' ),
895 - 'help' => esc_html__( 'Switch on to enable mini cart module.', 'shopbuilder' ),
896 - ],
897 - 'is_active' => true,
898 - 'fields' => [],
899 - ]
900 - ),
901 1075 'quick_checkout' => apply_filters(
902 1076 'rtsb/module/quick_checkout/options',
903 1077 [
904 1078 'id' => 'quick_checkout',
@@ -925,32 +1099,18 @@
925 1099 ],
926 1100 'fields' => [],
927 1101 ]
928 1102 ),
929 - 'product_size_chart' => apply_filters(
930 - 'rtsb/module/product_size_chart/options',
1103 + 'back_order' => apply_filters(
1104 + 'rtsb/module/back_order/options',
931 1105 [
932 - 'id' => 'product_size_chart',
1106 + 'id' => 'back_order',
933 1107 'active' => '',
934 - 'title' => esc_html__( 'Product Size Chart', 'shopbuilder' ),
1108 + 'title' => esc_html__( 'Back-Order', 'shopbuilder' ),
935 1109 'package' => $this->pro_package(),
936 1110 'active_field' => [
937 - 'label' => esc_html__( 'Enable Product Size Chart?', 'shopbuilder' ),
938 - 'help' => esc_html__( 'Switch on to enable Product Size Chart module.', 'shopbuilder' ),
939 - ],
940 - 'fields' => [],
941 - ]
942 - ),
943 - 'product_badges' => apply_filters(
944 - 'rtsb/module/product_badges/options',
945 - [
946 - 'id' => 'product_badges',
947 - 'active' => '',
948 - 'title' => esc_html__( 'Product Badges', 'shopbuilder' ),
949 - 'package' => $this->pro_package(),
950 - 'active_field' => [
951 - 'label' => esc_html__( 'Enable Product Badges?', 'shopbuilder' ),
952 - 'help' => esc_html__( 'Switch on to enable product badges module.', 'shopbuilder' ),
1111 + 'label' => esc_html__( 'Enable Back-Order?', 'shopbuilder' ),
1112 + 'help' => esc_html__( 'Switch on to enable back-order module.', 'shopbuilder' ),
953 1113 ],
954 1114 'fields' => [],
955 1115 ]
956 1116 ),