PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.0.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.0.3
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 1 year ago Assets 1 year ago CLI 2 years ago Pages 1 year ago PostTypes 1 year ago Posts 1 year ago Shortcodes 1 year ago Taxonomies 1 year ago Templates 1 year ago Users 2 years ago ActionsService.php 3 years ago CompatibilityService.php 1 year ago HealthService.php 1 year ago LineItemStateService.php 2 years ago PluginService.php 1 year ago PluginServiceProvider.php 1 year ago RecaptchaValidationService.php 2 years ago StateService.php 2 years ago ThemeService.php 2 years ago ThemeServiceProvider.php 3 years ago TranslationsServiceProvider.php 1 year 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