PluginProbe ʕ •ᴥ•ʔ
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid / 4.1.2
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid v4.1.2
7.9.3 7.9.2 trunk 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2.0 4.2.1 4.2.2 4.2.3 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 6.0.0 7.0.0 7.0.1 7.0.2 7.1.0 7.2.0 7.2.1 7.2.10 7.2.11 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.3.0 7.3.1 7.4.0 7.4.1 7.4.2 7.4.3 7.5.0 7.6.0 7.6.1 7.7.0 7.7.1 7.7.10 7.7.11 7.7.12 7.7.13 7.7.14 7.7.15 7.7.16 7.7.17 7.7.18 7.7.19 7.7.2 7.7.20 7.7.21 7.7.22 7.7.3 7.7.4 7.7.5 7.7.6 7.7.7 7.7.8 7.7.9 7.8.0 7.8.1 7.8.2 7.8.3 7.8.4 7.8.5 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1
the-post-grid / app / Controllers / Admin / UpgradeController.php
the-post-grid / app / Controllers / Admin Last commit date
AdminAjaxController.php 4 years ago MetaController.php 4 years ago NoticeController.php 4 years ago PostTypeController.php 4 years ago SettingsController.php 4 years ago UpgradeController.php 4 years ago
UpgradeController.php
77 lines
1 <?php
2
3 namespace RT\ThePostGrid\Controllers\Admin;
4
5 class UpgradeController {
6
7 public static $compare_version;
8
9 public function __construct() {
10 self::$compare_version = '5.1.0';
11 if ( ! self::check_plugin_version() ) {
12 add_filter( 'plugin_row_meta', [ $this, 'show_update_notification' ], 10, 2 );
13 $this->version_notice();
14 }
15 }
16
17 public static function check_plugin_version() {
18 $tpg_version = self::get_pro_plugin_info( 'Version' );
19 if ( version_compare( $tpg_version, self::$compare_version, '<' ) ) {
20 return false;
21 }
22
23 return true;
24 }
25
26 public function version_notice() {
27 if ( class_exists( 'RtTpgPro' ) || class_exists( 'rtTPGP' ) ) {
28 add_action( 'admin_notices',
29 function () {
30 $class = 'notice notice-error';
31 $text = esc_html__( 'The Post Grid Pro', 'the-post-grid' );
32 $link_pro = 'https://www.radiustheme.com/downloads/the-post-grid-pro-for-wordpress/';
33
34 printf( '<div class="%1$s"><p><a target="_blank" href="%2$s"><strong>The Post Grid Pro</strong></a> is not working properly, You need to update <strong>%3$s</strong> version to 5.1.0 or more to get the pro features.</p></div>',
35 $class,
36 $link_pro,
37 $text );
38 } );
39 }
40 }
41
42 /**
43 * Get TPG Pro Plugin Info
44 *
45 * @param $parameter
46 *
47 * @return string
48 */
49 public static function get_pro_plugin_info( $parameter ): string {
50 if ( ! function_exists( 'get_plugin_data' ) ) {
51 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
52 }
53
54 $tpg_free_path = WP_PLUGIN_DIR . '/the-post-grid-pro/the-post-grid-pro.php';
55
56 if ( file_exists( $tpg_free_path ) ) {
57 $plugin_path = get_plugin_data( $tpg_free_path );
58
59 if ( isset( $plugin_path[ $parameter ] ) ) {
60 return $plugin_path[ $parameter ];
61 }
62 }
63
64 return '';
65 }
66
67 public function show_update_notification( $links, $file ) {
68 if ( $file == 'the-post-grid-pro/the-post-grid-pro.php' ) {
69 $row_meta['tpg_update'] = '<span style="color: red">The Plugin is not compatible with the post grid free. Please update the plugin to ' . self::$compare_version . ' or more otherwise it will not activate.</span>';
70
71 return array_merge( $links, $row_meta );
72 }
73
74 return (array) $links;
75 }
76 }
77