API
2 years ago
Blocks
5 years ago
License
5 years ago
AdminNotice.php
5 years ago
AdminNotices.php
4 years ago
AjaxActions.php
2 years ago
Blocks.php
4 years ago
Compatibility.php
4 years ago
Menu.php
2 years ago
Migrations.php
5 years ago
Player.php
2 years ago
ProCompatibility.php
2 years ago
ReusableVideos.php
2 years ago
Scripts.php
2 years ago
Settings.php
4 years ago
Shortcodes.php
2 years ago
Streamer.php
4 years ago
Translation.php
2 years ago
VideoPostType.php
2 years ago
ProCompatibility.php
48 lines
| 1 | <?php |
| 2 | |
| 3 | namespace PrestoPlayer\Services; |
| 4 | |
| 5 | use PrestoPlayer\Plugin; |
| 6 | use PrestoPlayer\Pro\Plugin as ProPlugin; |
| 7 | |
| 8 | class ProCompatibility |
| 9 | { |
| 10 | protected $recommended_pro_version = '2.0.1'; |
| 11 | protected $required_pro_version = '0.0.1'; |
| 12 | |
| 13 | public function register() |
| 14 | { |
| 15 | add_action('admin_notices', [$this, 'showRecommendedVersionNotice']); |
| 16 | } |
| 17 | |
| 18 | public function hasVersion($type = 'recommended') |
| 19 | { |
| 20 | if (!Plugin::isPro()) { |
| 21 | return true; |
| 22 | } |
| 23 | $version = $type === 'required' ? $this->required_pro_version : $this->recommended_pro_version; |
| 24 | return !version_compare($version, ProPlugin::version(), '>'); |
| 25 | } |
| 26 | |
| 27 | public function showRecommendedVersionNotice() |
| 28 | { |
| 29 | // has recommended version |
| 30 | if ($this->hasVersion('recommended')) { |
| 31 | return; |
| 32 | } |
| 33 | |
| 34 | $notice_name = 'player_recommended_version_' . $this->recommended_pro_version; |
| 35 | |
| 36 | ob_start() |
| 37 | ?> |
| 38 | <div class="notice notice-info"> |
| 39 | <p><strong>Presto Player</strong></p> |
| 40 | <p><?php _e('Please update your Presto Player Pro plugin for compatibility with the Presto Player core plugin. This ensures you have access to new features and updates.', 'presto-player'); ?></p> |
| 41 | <p><?php printf(__('The recommeneded minimum pro version is <b>%s</b>.', 'presto-player'), $this->recommended_pro_version); ?></p> |
| 42 | <p><a href="<?php echo esc_url(add_query_arg(array('presto_action' => 'dismiss_notices', 'presto_notice' => $notice_name))); ?>"><?php _e('Dismiss Notice', 'presto-player'); ?></a></p> |
| 43 | </div> |
| 44 | |
| 45 | <?php echo ob_get_clean(); |
| 46 | } |
| 47 | } |
| 48 |