PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.0
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / WordPress / UpgradeNoticeService.php
surecart / app / src / WordPress Last commit date
Admin 2 months ago Assets 2 weeks ago CLI 2 years ago Cache 2 weeks ago Pages 10 months ago PostTypes 2 months ago Posts 1 year ago Shortcodes 1 month ago Taxonomies 1 year ago Templates 1 year ago Users 2 months ago ActionsService.php 3 years ago CompatibilityService.php 4 months ago CurrencyService.php 4 months ago GoogleMapApiService.php 2 months ago HealthService.php 2 months ago LineItemStateService.php 2 years ago PluginActionLinksService.php 1 year ago PluginService.php 1 year ago PluginServiceProvider.php 1 year ago RecaptchaValidationService.php 2 years ago StateService.php 7 months ago ThemeService.php 4 months ago ThemeServiceProvider.php 7 months ago TranslationsServiceProvider.php 3 months ago UpgradeNoticeService.php 1 year ago
UpgradeNoticeService.php
131 lines
1 <?php
2 /**
3 * Upgrade Notice service.
4 *
5 * @package SureCartAppCore
6 * @author SureCart <support@surecart.com>
7 * @copyright SureCart
8 * @license https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
9 * @link https://surecart.com
10 */
11
12 namespace SureCart\WordPress;
13
14 use SureCartCore\Application\Application;
15
16 /**
17 * Main communication channel with the theme.
18 */
19 class UpgradeNoticeService {
20 /**
21 * Application instance.
22 *
23 * @var Application
24 */
25 protected $app = null;
26
27 /**
28 * List of versions to show the update notice.
29 *
30 * @var array
31 */
32 public $show_update_notice_versions = [
33 '3.0.0',
34 ];
35
36 /**
37 * Constructor.
38 *
39 * @param Application $app Application instance.
40 */
41 public function __construct( $app ) {
42 $this->app = $app;
43 }
44
45 /**
46 * Bootstrap the plugin.
47 *
48 * @return void
49 */
50 public function bootstrap() {
51 add_action( 'in_plugin_update_message-' . SURECART_PLUGIN_BASE, array( $this, 'updateMessage' ) );
52 }
53
54 /**
55 * Should show update notice?
56 *
57 * @return boolean
58 */
59 public function shouldShowUpdateNotice() {
60 $highest_version = max( $this->show_update_notice_versions );
61 return version_compare( \SureCart::plugin()->version(), $highest_version, '<' );
62 }
63
64 /**
65 * Display the update message.
66 *
67 * @param array $plugin_data Plugin data.
68 *
69 * @return void
70 */
71 public function updateMessage( $plugin_data ) {
72 if ( ! $this->shouldShowUpdateNotice( $plugin_data['new_version'] ) ) {
73 return;
74 }
75
76 // Enqueue the plugin upgrade notice styles.
77 wp_enqueue_style( 'surecart-plugin-upgrade-notice', plugins_url( 'styles/plugin-upgrade-notice.css', SURECART_PLUGIN_FILE ), '', $this->plugin()->version(), 'all' );
78
79 // Display the update warning if the condition is met.
80 $this->versionUpdateWarning();
81 }
82
83 /**
84 * Display a warning if the plugin version has changed.
85 *
86 * @return void
87 */
88 public function versionUpdateWarning() {
89 ?>
90 <hr class="sc-major-update-warning__separator" />
91 <div class="sc-major-update-warning">
92 <div class="sc-major-update-warning__icon">
93 <span class="dashicons dashicons-info"></span>
94 </div>
95 <div>
96 <div class="sc-major-update-warning__title">
97 <?php echo esc_html__( 'Important: Backup Your Site Before Updating!', 'surecart' ); ?>
98 </div>
99 <div class="sc-major-update-warning__message">
100 <?php
101 echo wpautop(
102 sprintf(
103 /* translators: %1$s Link open tag, %2$s: Link close tag. */
104 esc_html__( 'To ensure a smooth update, please %1$sbackup your site%2$s before proceeding. For the safest experience, perform the update in a staging environment first. This helps prevent any unexpected issues and ensures your site remains up and running smoothly.', 'surecart' ),
105 '<strong>',
106 '</strong>'
107 )
108 );
109 ?>
110 <p>
111 <?php echo esc_html__( 'If you are updating from a version prior to 3.0.0, please read the upgrade guide for important information about the changes in this version.', 'surecart' ); ?>
112 </p>
113 <p>
114 <a href="https://surecart.com/docs/upgrading-to-surecart-v3/" class="button button-primary" target="_blank"><?php echo esc_html__( 'Read the Upgrade Guide', 'surecart' ); ?></a>
115 </p>
116 </div>
117 </div>
118 </div>
119 <?php
120 }
121
122 /**
123 * Shortcut to \SureCart\WordPress\PluginService
124 *
125 * @return \SureCart\WordPress\PluginService
126 */
127 public function plugin() {
128 return $this->app->resolve( 'surecart.plugin' );
129 }
130 }
131