PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 3.2.5
ShopBuilder – WooCommerce Builder For Elementor v3.2.5
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 +58 -28 2.0.33.2.5 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( '2025-12-30 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,19 @@
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;">
112 + Having trouble? <br/>
113 + For faster and more accurate support, please
114 + <a target="_blank" href="https://www.radiustheme.com/contact/" style="text-decoration: none;">
115 + <span style="color: red">open a support ticket</span>
116 + </a>
117 + — our support agent will personally review and resolve your issue.
118 + </p>
119 +
104 120 <div class="feedback-input-header">
105 - <?php echo esc_html__( 'If you have a moment, please share why you are deactivating ShopBuilder:', 'shopbuilder' ); ?>
121 + <?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 122 </div>
107 123
108 124 <div class="feedback-input-wrapper">
109 125 <input id="feedback-deactivate-<?php echo esc_attr( $this->textdomain ); ?>-bug_issue_detected" class="feedback-input"
@@ -154,10 +170,8 @@
154 170 <?php
155 171 }
156 172
157 173 /***
158 - * @param $mimes
159 - *
160 174 * @return mixed
161 175 */
162 176 public function dialog_box_style() {
163 177 ?>
@@ -212,12 +226,8 @@
212 226 margin: auto;
213 227 padding: 0;
214 228 }
215 229
216 - /*#deactivation-dialog-*/<?php //echo esc_attr( $this->textdomain ); ?>/* .feedback-label {*/
217 - /* font-size: 15px;*/
218 - /*}*/
219 -
220 230 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> p {
221 231 font-size: 15px;
222 232 }
223 233
@@ -233,9 +243,9 @@
233 243 }
234 244
235 245 #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content textarea:focus {
236 246 border-color: #2271b1;
237 - }
247 + }
238 248
239 249 #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content input.feedback-feedback-text {
240 250 border: 1px solid rgba(0, 0, 0, 0.3);
241 251 min-width: 250px;
@@ -301,13 +311,13 @@
301 311 font-weight: 700;
302 312 font-size: 16px;
303 313 padding-left: 15px;
304 314 padding-right: 15px;
305 - }
315 + }
306 316
307 - #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> {
317 + #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> {
308 318 padding: 30px !important;
309 - }
319 + }
310 320
311 321 #deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .feedback-input-header {
312 322 font-weight: 600;
313 323 font-size: 15px;
@@ -333,9 +343,9 @@
333 343 }
334 344
335 345 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content .feedback-input-wrapper.conditional {
336 346 flex-wrap: wrap;
337 - }
347 + }
338 348
339 349 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content .feedback-input-wrapper.conditional .feedback-feedback-text {
340 350 flex: 0 0 calc(100% - 24px);
341 351 margin: 5px 0 10px 24px;
@@ -341,13 +351,13 @@
341 351 margin: 5px 0 10px 24px;
342 352 min-height: 40px;
343 353 border: 1px solid rgba(0, 0, 0, 0.3);
344 354 padding: 0 15px;
345 - }
355 + }
346 356
347 357 div#deactivation-dialog-<?php echo esc_attr( $this->textdomain ); ?> .modal-content .feedback-input-wrapper.conditional .feedback-feedback-text:focus {
348 358 border-color: #2271b1;
349 - }
359 + }
350 360
351 361 .ui-widget-overlay.ui-front {
352 362 position: fixed;
353 363 top: 0;
@@ -381,14 +391,14 @@
381 391 line-height: 1.2;
382 392 padding: 8px 16px;
383 393 outline: none;
384 394 border: none;
385 - }
395 + }
386 396
387 397 .ui-dialog[aria-describedby="deactivation-dialog-shopbuilder"] .ui-dialog-buttonset .ui-button:first-child {
388 398 background: #4360ef;
389 399 color: #fff;
390 - }
400 + }
391 401
392 402 .ui-dialog[aria-describedby="deactivation-dialog-shopbuilder"] .ui-dialog-buttonset .ui-button:first-child:hover {
393 403 background: #1f3edc;
394 404 }
@@ -406,11 +416,9 @@
406 416 <?php
407 417 }
408 418
409 419 /***
410 - * @param $mimes
411 - *
412 - * @return mixed
420 + * @return void
413 421 */
414 422 public function deactivation_scripts() {
415 423 wp_enqueue_script( 'jquery-ui-dialog' );
416 424 ?>
@@ -477,23 +485,45 @@
477 485 // Perform AJAX request to submit feedback
478 486 if (!reasons && !feedback && !better_plugin) {
479 487 // Define flag variables
480 488 $('#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.');
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.');
482 490 return;
483 491 }
484 492
485 - if ('temporary_deactivation' == reasons && !feedback) {
493 + if (!reasons ) {
494 + // Define flag variables
495 + $('#feedback-form-body-<?php echo esc_attr( $this->textdomain ); ?> span').text('Choose The Reason');
496 + $('.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.');
497 + return;
498 + }
499 +
500 + if ( 'bug_issue_detected' === reasons && !feedback ) {
501 + // Define flag variables
502 + $('.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.');
503 + return;
504 + }
505 +
506 + if ('temporary_deactivation' === reasons || ! feedback ) {
486 507 window.location.href = href;
487 508 return;
488 509 }
489 510
511 + if ( ! feedback.length > 0 ) {
512 + window.location.href = href;
513 + return;
514 + }
515 + var websiteUrl = '<?php echo esc_url( home_url() ); ?>';
516 + if ( ! websiteUrl.length > 0 ) {
517 + window.location.href = href;
518 + return;
519 + }
490 520 $.ajax({
491 521 url: 'https://shopbuilderwp.com/wp-json/RadiusTheme/pluginSurvey/v1/Survey/appendToSheet',
492 522 method: 'GET',
493 523 dataType: 'json',
494 524 data: {
495 - website: '<?php echo esc_url( home_url() ); ?>',
525 + website: websiteUrl,
496 526 reasons: reasons ? reasons : '',
497 527 better_plugin: better_plugin,
498 528 feedback: feedback,
499 529 wpplugin: 'ShopBuilder',