PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 2.1.13
ShopBuilder – WooCommerce Builder For Elementor v2.1.13
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/ShopBuilder.php +144 -152 2.0.12.1.13 View file →
@@ -4,12 +4,15 @@
4 4 *
5 5 * @package RadiusTheme\SB
6 6 */
7 7
8 +namespace RadiusTheme\SB;
8 9
10 +use RadiusTheme\SB\Helpers\Migration;
9 11 use RadiusTheme\SB\Helpers\Installation;
10 12 use RadiusTheme\SB\Modules\ModuleManager;
11 13 use RadiusTheme\SB\Traits\SingletonTrait;
14 +use RadiusTheme\SB\Controllers\Shortcodes;
12 15 use RadiusTheme\SB\Controllers\Dependencies;
13 16 use RadiusTheme\SB\Controllers\Admin\AdminInit;
14 17 use RadiusTheme\SB\Controllers\AssetsController;
15 18 use RadiusTheme\SB\Controllers\BuilderController;
@@ -17,9 +20,8 @@
17 20 use RadiusTheme\SB\Controllers\Hooks\FilterHooks;
18 21 use RadiusTheme\SB\Controllers\Hooks\ActionHooks;
19 22 use RadiusTheme\SB\Controllers\Frontend\Ajax\AddToCart;
20 23 use RadiusTheme\SB\Controllers\Frontend\Ajax\AjaxLogin;
21 -use RadiusTheme\SB\Helpers\Fns;
22 24
23 25 // Do not allow directly accessing this file.
24 26 if ( ! defined( 'ABSPATH' ) ) {
25 27 exit( 'This script cannot be accessed directly.' );
@@ -24,196 +26,186 @@
24 26 if ( ! defined( 'ABSPATH' ) ) {
25 27 exit( 'This script cannot be accessed directly.' );
26 28 }
27 29
28 -require_once RTSB_PATH . 'vendor/autoload.php';
30 +/**
31 + * Main initialization class.
32 + */
33 +final class ShopBuilder {
29 34
30 -if ( ! class_exists( ShopBuilder::class ) ) {
31 35 /**
32 - * Main initialization class.
36 + * Nonce id
37 + *
38 + * @var string
33 39 */
34 - final class ShopBuilder {
40 + public $nonceId = '__rtsb_wpnonce';
35 41
36 - /**
37 - * Nonce id
38 - *
39 - * @var string
40 - */
41 - public $nonceId = '__rtsb_wpnonce';
42 + /**
43 + * Nonce Text
44 + *
45 + * @var string
46 + */
47 + public $nonceText = 'rtsb_nonce';
42 48
43 - /**
44 - * Nonce Text
45 - *
46 - * @var string
47 - */
48 - public $nonceText = 'rtsb_nonce';
49 + /**
50 + * Post Type.
51 + *
52 + * @var string
53 + */
54 + public $post_type;
49 55
50 - /**
51 - * Post Type.
52 - *
53 - * @var string
54 - */
55 - public $post_type;
56 + /**
57 + * Post Type.
58 + *
59 + * @var string
60 + */
61 + public $current_theme;
62 + /**
63 + * Singleton
64 + */
56 65
57 - /**
58 - * Post Type.
59 - *
60 - * @var string
61 - */
62 - public $current_theme;
63 - /**
64 - * Singleton
65 - */
66 + /**
67 + * URL for fetch API
68 + *
69 + * @var string
70 + */
71 + public $BASE_API = 'https://shopbuilderwp.com/wp-json/rtsb/v1/layouts/';
66 72
67 - /**
68 - * URL for fetch API
69 - * @var string
70 - */
71 - public $BASE_API = 'https://shopbuilderwp.com/wp-json/rtsb/v1/layouts/';
73 + use SingletonTrait;
72 74
73 - use SingletonTrait;
75 + /**
76 + * Class Constructor
77 + */
78 + private function __construct() {
79 + $this->define_constants();
80 + $this->post_type = 'product';
81 + $this->current_theme = wp_get_theme()->get( 'Template' ) ? wp_get_theme()->get( 'Template' ) : wp_get_theme()->get( 'TextDomain' );
82 + add_action( 'init', [ $this, 'language' ] );
83 + add_action( 'plugins_loaded', [ $this, 'init' ], 15 );
74 84
75 - /**
76 - * Class Constructor
77 - */
78 - private function __construct() {
79 - $this->define_constants();
80 - $this->post_type = 'product';
81 - $this->current_theme = wp_get_theme()->get( 'Template' ) ? wp_get_theme()->get( 'Template' ) : wp_get_theme()->get( 'TextDomain' );
82 - add_action( 'init', [ $this, 'language' ] );
83 - add_action( 'plugins_loaded', [ $this, 'init' ], 15 );
85 + // Register Plugin Active Hook.
86 + register_activation_hook( RTSB_FILE, [ Installation::class, 'activate' ] );
84 87
85 - // Register Plugin Active Hook.
86 - register_activation_hook( RTSB_FILE, [ Installation::class, 'activate' ] );
88 + // Register Plugin Deactivate Hook.
89 + register_deactivation_hook( RTSB_FILE, [ Installation::class, 'deactivation' ] );
87 90
88 - // Register Plugin Deactivate Hook.
89 - register_deactivation_hook( RTSB_FILE, [ Installation::class, 'deactivation' ] );
91 + SupportController::instance();
90 92
91 - SupportController::instance();
92 -
93 - // HPOS Declare compatibility
94 - add_action(
95 - 'before_woocommerce_init',
96 - function() {
97 - if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
98 - \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', RTSB_FILE, true );
99 - }
93 + // HPOS Declare compatibility.
94 + add_action(
95 + 'before_woocommerce_init',
96 + function () {
97 + if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
98 + \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', RTSB_FILE, true );
100 99 }
101 - );
100 + }
101 + );
102 + }
102 103
104 + /**
105 + * Constants
106 + *
107 + * @return void
108 + */
109 + private function define_constants() {
110 + if ( ! defined( 'RTSB_ABSPATH' ) ) {
111 + define( 'RTSB_ABSPATH', dirname( RTSB_FILE ) . '/' );
103 112 }
104 113
105 - /**
106 - * Constants
107 - *
108 - * @return void
109 - */
110 - private function define_constants() {
111 - if ( ! defined( 'RTSB_ABSPATH' ) ) {
112 - define( 'RTSB_ABSPATH', dirname( RTSB_FILE ) . '/' );
113 - }
114 + if ( ! defined( 'RTSB_URL' ) ) {
115 + define( 'RTSB_URL', plugins_url( '', RTSB_FILE ) );
116 + }
117 + }
114 118
115 - if ( ! defined( 'RTSB_URL' ) ) {
116 - define( 'RTSB_URL', plugins_url( '', RTSB_FILE ) );
117 - }
118 119
119 - }
120 + /**
121 + * Assets url generate with given assets file
122 + *
123 + * @param string $file File.
124 + *
125 + * @return string
126 + */
127 + public function get_assets_uri( $file ) {
128 + $file = ltrim( $file, '/' );
120 129
130 + return trailingslashit( RTSB_URL . '/assets' ) . $file;
131 + }
121 132
122 - /**
123 - * Assets url generate with given assets file
124 - *
125 - * @param string $file File.
126 - *
127 - * @return string
128 - */
129 - public function get_assets_uri( $file ) {
130 - $file = ltrim( $file, '/' );
133 + /**
134 + * Get the template path.
135 + *
136 + * @return string
137 + */
138 + public function get_template_path() {
139 + return apply_filters( 'rtsb/template/path', 'shopbuilder/' );
140 + }
131 141
132 - return trailingslashit( RTSB_URL . '/assets' ) . $file;
133 - }
142 + /**
143 + * Get the plugin path.
144 + *
145 + * @return string
146 + */
147 + public function plugin_path() {
148 + return untrailingslashit( plugin_dir_path( RTSB_FILE ) );
149 + }
134 150
135 - /**
136 - * Get the template path.
137 - *
138 - * @return string
139 - */
140 - public function get_template_path() {
141 - return apply_filters( 'rtsb/template/path', 'shopbuilder/' );
142 - }
151 + /**
152 + * Load Text Domain
153 + */
154 + public function language() {
155 + load_plugin_textdomain( 'shopbuilder', false, dirname( plugin_basename( RTSB_FILE ) ) . '/languages/' );
156 + }
143 157
144 - /**
145 - * Get the plugin path.
146 - *
147 - * @return string
148 - */
149 - public function plugin_path() {
150 - return untrailingslashit( plugin_dir_path( RTSB_FILE ) );
158 + /**
159 + * Init
160 + *
161 + * @return void
162 + */
163 + public function init() {
164 + if ( ! Dependencies::instance()->check() ) {
165 + return;
151 166 }
152 167
153 - /**
154 - * Load Text Domain
155 - */
156 - public function language() {
157 - load_plugin_textdomain( 'shopbuilder', false, dirname( plugin_basename( RTSB_FILE ) ) . '/languages/' );
158 - }
168 + do_action( 'rtsb/before/loaded' );
159 169
160 - /**
161 - * Init
162 - *
163 - * @return void
164 - */
165 - public function init() {
166 - if ( ! Dependencies::instance()->check() ) {
167 - return;
168 - }
170 + // Include File.
171 + AssetsController::instance();
172 + ModuleManager::instance();
169 173
170 - do_action( 'rtsb/before/loaded' );
174 + // Ajax.
175 + AddToCart::instance();
176 + AjaxLogin::instance();
171 177
172 - // Include File.
173 - AssetsController::instance();
174 - ModuleManager::instance();
178 + BuilderController::instance();
179 + FilterHooks::init_hooks();
180 + ActionHooks::init_hooks();
175 181
176 - // Ajax.
177 - AddToCart::instance();
178 - AjaxLogin::instance();
182 + Installation::init();
183 + Migration::init();
179 184
180 - BuilderController::instance();
181 - FilterHooks::init_hooks();
182 - ActionHooks::init_hooks();
183 -
184 - Installation::init();
185 - if ( is_admin() ) {
186 - AdminInit::instance();
187 - }
188 -
189 - do_action( 'rtsb/after/loaded' );
185 + if ( is_admin() ) {
186 + AdminInit::instance();
190 187 }
191 188
192 - /**
193 - * Checks if Pro version installed
194 - *
195 - * @return boolean
196 - */
197 - public function has_pro() {
198 - return function_exists( 'rtsbpro' );
199 - }
189 + Shortcodes::instance();
200 190
201 - /**
202 - * PRO Version URL.
203 - *
204 - * @return string
205 - */
206 - public function pro_version_link() {
207 - return 'https://shopbuilderwp.com/';
208 - }
191 + do_action( 'rtsb/after/loaded' );
209 192 }
210 193
211 194 /**
212 - * @return ShopBuilder
195 + * Checks if Pro version installed
196 + *
197 + * @return boolean
213 198 */
214 - function rtsb() {
215 - return ShopBuilder::instance();
199 + public function has_pro() {
200 + return function_exists( 'rtsbpro' );
216 201 }
217 202
218 - rtsb();
203 + /**
204 + * PRO Version URL.
205 + *
206 + * @return string
207 + */
208 + public function pro_version_link() {
209 + return 'https://shopbuilderwp.com/';
210 + }
219 211 }