PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 3.2.2
ShopBuilder – WooCommerce Builder For Elementor v3.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/Controllers/Admin/PluginRow.php +51 -28 2.1.23.2.2 View file →
@@ -44,14 +44,24 @@
44 44 $new_links = [];
45 45 $demo_url = 'https://shopbuilderwp.com/';
46 46 $new_links[] = '<a href="' . admin_url( 'admin.php?page=rtsb-settings' ) . '">' . esc_html__( 'Settings', 'shopbuilder' ) . '</a>';
47 47 $new_links[] = '<a target="_blank" href="' . esc_url( $demo_url ) . '">' . esc_html__( 'Demo', 'shopbuilder' ) . '</a>';
48 - $new_links[] = '<a target="_blank" href="' . esc_url( 'https://www.radiustheme.com/docs/shopbuilder/getting-started/requirements/' ) . '">' . esc_html__( 'Documentation', 'shopbuilder' ) . '</a>';
48 + $new_links[] = '<a target="_blank" href="' . esc_url( 'https://shopbuilderwp.com/docs/' ) . '">' . esc_html__( 'Documentation', 'shopbuilder' ) . '</a>';
49 49
50 50 $links = array_merge( $new_links, $links );
51 51
52 + $current = time();
53 + // Check if current date is within promotional period (Sept 19 - Jan 5).
54 + $start_date = strtotime( '2025-11-12 00:00:00' );
55 + $end_date = strtotime( '2026-01-05 23:59:59' );
56 + $is_promo_period = $start_date <= $current && $current <= $end_date;
57 + $text = esc_html__( 'Get Pro', 'shopbuilder' );
58 + if ( $is_promo_period ) {
59 + $text = esc_html__( 'Get 60% off', 'shopbuilder' );
60 + }
61 +
52 62 if ( ! rtsb()->has_pro() ) {
53 - $links['shopbuilder_pro'] = '<a href="' . esc_url( rtsb()->pro_version_link() ) . '" target="_blank" style="color: #39b54a; font-weight: bold;">' . esc_html__( 'Go Pro', 'shopbuilder' ) . '</a>';
63 + $links['shopbuilder_pro'] = '<a href="' . esc_url( rtsb()->pro_version_link() ) . '" target="_blank" style="color: #39b54a; font-weight: bold;">' . $text . '</a>';
54 64 }
55 65
56 66 return $links;
57 67 }
@@ -68,8 +78,9 @@
68 78
69 79 if ( RTSB_ACTIVE_FILE_NAME === $file ) {
70 80 $report_url = 'https://www.radiustheme.com/contact/';
71 81 $row_meta['issues'] = sprintf(
82 + /* translators: %1$s: Report URL, %2$s: Facing issue?, %3$s: Please open a support ticket. */
72 83 '%2$s <a target="_blank" href="%1$s"><span style="color: red">%3$s</span></a>',
73 84 esc_url( $report_url ),
74 85 esc_html__( 'Facing issue?', 'shopbuilder' ),
75 86 esc_html__( 'Please open a support ticket.', 'shopbuilder' )
@@ -80,13 +91,9 @@
80 91
81 92 return (array) $links;
82 93 }
83 94
84 - // Servay
85 -
86 95 /***
87 - * @param $mimes
88 - *
89 96 * @return mixed
90 97 */
91 98 public function deactivation_popup() {
92 99 global $pagenow;
@@ -100,10 +107,12 @@
100 107 <div id="deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?>" title="Quick Feedback">
101 108 <!-- Modal content -->
102 109 <div class="modal-content">
103 110 <div id="feedback-form-body-<?php echo esc_attr( $this->textdomain ); ?>">
111 + <p style="margin: 0 0 15px 0;"> Having trouble? <br/> It’s best to <a target="_blank" href="https://www.radiustheme.com/contact/" style="text-decoration: none;"><span style="color: red"> open a support ticket </span></a> — our agent will assist you personally. </p>
112 +
104 113 <div class="feedback-input-header">
105 - <?php echo esc_html__( 'If you have a moment, please share why you are deactivating ShopBuilder:', 'shopbuilder' ); ?>
114 + <?php echo esc_html__( 'If you’d prefer not to open a support ticket, please take a moment to share why you’re deactivating ShopBuilder:', 'shopbuilder' ); ?>
106 115 </div>
107 116
108 117 <div class="feedback-input-wrapper">
109 118 <input id="feedback-deactivate-<?php echo esc_attr( $this->textdomain ); ?>-bug_issue_detected" class="feedback-input"
@@ -154,10 +163,8 @@
154 163 <?php
155 164 }
156 165
157 166 /***
158 - * @param $mimes
159 - *
160 167 * @return mixed
161 168 */
162 169 public function dialog_box_style() {
163 170 ?>
@@ -212,12 +219,8 @@
212 219 margin: auto;
213 220 padding: 0;
214 221 }
215 222
216 - /*#deactivation-dialog-*/<?php //echo esc_attr( $this->textdomain ); ?>/* .feedback-label {*/
217 - /* font-size: 15px;*/
218 - /*}*/
219 -
220 223 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> p {
221 224 font-size: 15px;
222 225 }
223 226
@@ -233,9 +236,9 @@
233 236 }
234 237
235 238 #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content textarea:focus {
236 239 border-color: #2271b1;
237 - }
240 + }
238 241
239 242 #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content input.feedback-feedback-text {
240 243 border: 1px solid rgba(0, 0, 0, 0.3);
241 244 min-width: 250px;
@@ -301,13 +304,13 @@
301 304 font-weight: 700;
302 305 font-size: 16px;
303 306 padding-left: 15px;
304 307 padding-right: 15px;
305 - }
308 + }
306 309
307 - #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> {
310 + #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> {
308 311 padding: 30px !important;
309 - }
312 + }
310 313
311 314 #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .feedback-input-header {
312 315 font-weight: 600;
313 316 font-size: 15px;
@@ -333,9 +336,9 @@
333 336 }
334 337
335 338 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content .feedback-input-wrapper.conditional {
336 339 flex-wrap: wrap;
337 - }
340 + }
338 341
339 342 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content .feedback-input-wrapper.conditional .feedback-feedback-text {
340 343 flex: 0 0 calc(100% - 24px);
341 344 margin: 5px 0 10px 24px;
@@ -341,13 +344,13 @@
341 344 margin: 5px 0 10px 24px;
342 345 min-height: 40px;
343 346 border: 1px solid rgba(0, 0, 0, 0.3);
344 347 padding: 0 15px;
345 - }
348 + }
346 349
347 350 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content .feedback-input-wrapper.conditional .feedback-feedback-text:focus {
348 351 border-color: #2271b1;
349 - }
352 + }
350 353
351 354 .ui-widget-overlay.ui-front {
352 355 position: fixed;
353 356 top: 0;
@@ -381,14 +384,14 @@
381 384 line-height: 1.2;
382 385 padding: 8px 16px;
383 386 outline: none;
384 387 border: none;
385 - }
388 + }
386 389
387 390 .ui-dialog[aria-describedby="deactivation-dialog-shopbuilder"] .ui-dialog-buttonset .ui-button:first-child {
388 391 background: #4360ef;
389 392 color: #fff;
390 - }
393 + }
391 394
392 395 .ui-dialog[aria-describedby="deactivation-dialog-shopbuilder"] .ui-dialog-buttonset .ui-button:first-child:hover {
393 396 background: #1f3edc;
394 397 }
@@ -406,11 +409,9 @@
406 409 <?php
407 410 }
408 411
409 412 /***
410 - * @param $mimes
411 - *
412 - * @return mixed
413 + * @return void
413 414 */
414 415 public function deactivation_scripts() {
415 416 wp_enqueue_script( 'jquery-ui-dialog' );
416 417 ?>
@@ -477,23 +478,45 @@
477 478 // Perform AJAX request to submit feedback
478 479 if (!reasons && !feedback && !better_plugin) {
479 480 // Define flag variables
480 481 $('#feedback-form-body-<?php echo esc_attr( $this->textdomain ); ?> span').text('Choose The Reason');
481 - $('.feedback-text-wrapper-<?php echo esc_attr( $this->textdomain ); ?> span').text('Please provide me with some advice.');
482 + $('.feedback-text-wrapper-<?php echo esc_attr( $this->textdomain ); ?> span').text('Please provide more details regarding the issue so we can address it in future updates.');
482 483 return;
483 484 }
484 485
485 - if ('temporary_deactivation' == reasons && !feedback) {
486 + if (!reasons ) {
487 + // Define flag variables
488 + $('#feedback-form-body-<?php echo esc_attr( $this->textdomain ); ?> span').text('Choose The Reason');
489 + $('.feedback-text-wrapper-<?php echo esc_attr( $this->textdomain ); ?> span').text('Please provide more details regarding the issue so we can address it in future updates.');
490 + return;
491 + }
492 +
493 + if ( 'bug_issue_detected' === reasons && !feedback ) {
494 + // Define flag variables
495 + $('.feedback-text-wrapper-<?php echo esc_attr( $this->textdomain ); ?> span').text('Please provide more details regarding the issue so we can address it in future updates.');
496 + return;
497 + }
498 +
499 + if ('temporary_deactivation' === reasons || ! feedback ) {
486 500 window.location.href = href;
487 501 return;
488 502 }
489 503
504 + if ( ! feedback.length > 0 ) {
505 + window.location.href = href;
506 + return;
507 + }
508 + var websiteUrl = '<?php echo esc_url( home_url() ); ?>';
509 + if ( ! websiteUrl.length > 0 ) {
510 + window.location.href = href;
511 + return;
512 + }
490 513 $.ajax({
491 514 url: 'https://shopbuilderwp.com/wp-json/RadiusTheme/pluginSurvey/v1/Survey/appendToSheet',
492 515 method: 'GET',
493 516 dataType: 'json',
494 517 data: {
495 - website: '<?php echo esc_url( home_url() ); ?>',
518 + website: websiteUrl,
496 519 reasons: reasons ? reasons : '',
497 520 better_plugin: better_plugin,
498 521 feedback: feedback,
499 522 wpplugin: 'ShopBuilder',