| @@ -3,9 +3,9 @@ | ||
| 3 | 3 | * Plugin Name: Woody Code Snippets |
| 4 | 4 | * Plugin URI: https://woodysnippet.com/ |
| 5 | 5 | * Description: Executes PHP code, uses conditional logic to insert ads, text, media content and external service's code. Ensures no content duplication. |
| 6 | 6 | * Author: Themeisle |
| 7 | - * Version: 2.7.8 | |
| 7 | + * Version: 2.7.9 | |
| 8 | 8 | * WordPress Available: yes |
| 9 | 9 | * Requires License: no |
| 10 | 10 | * Text Domain: insert-php |
| 11 | 11 | * Domain Path: /languages/ |
| @@ -40,9 +40,9 @@ | ||
| 40 | 40 | |
| 41 | 41 | // Set the constant that the plugin is activated. |
| 42 | 42 | define( 'WINP_PLUGIN_ACTIVE', true ); |
| 43 | 43 | |
| 44 | -define( 'WINP_PLUGIN_VERSION', '2.7.8' ); | |
| 44 | +define( 'WINP_PLUGIN_VERSION', '2.7.9' ); | |
| 45 | 45 | |
| 46 | 46 | // Root directory of the plugin. |
| 47 | 47 | define( 'WINP_PLUGIN_DIR', __DIR__ ); |
| 48 | 48 | |
| @@ -88,38 +88,40 @@ | ||
| 88 | 88 | } |
| 89 | 89 | ); |
| 90 | 90 | |
| 91 | 91 | // START: Related to premium version compatibility check for below 1.3. |
| 92 | -add_action( | |
| 93 | - 'plugins_loaded', | |
| 94 | - function () { | |
| 95 | - $premium_plugin_file = 'woody-ad-snippets-premium/woody-ad-snippets-premium.php'; | |
| 96 | - $premium_plugin_path = WP_PLUGIN_DIR . '/' . $premium_plugin_file; | |
| 92 | +/** | |
| 93 | + * Deactivates Premium versions below 1.3.0, which are not compatible with this version. | |
| 94 | + */ | |
| 95 | +function winp_deactivate_incompatible_premium(): void { | |
| 96 | + $premium_plugin_file = 'woody-ad-snippets-premium/woody-ad-snippets-premium.php'; | |
| 97 | + $premium_plugin_path = WP_PLUGIN_DIR . '/' . $premium_plugin_file; | |
| 97 | 98 | |
| 98 | - if ( ! file_exists( $premium_plugin_path ) ) { | |
| 99 | - return; | |
| 100 | - } | |
| 99 | + if ( ! file_exists( $premium_plugin_path ) ) { | |
| 100 | + return; | |
| 101 | + } | |
| 101 | 102 | |
| 102 | - if ( ! function_exists( 'is_plugin_active' ) ) { | |
| 103 | - require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 104 | - } | |
| 103 | + if ( ! function_exists( 'is_plugin_active' ) ) { | |
| 104 | + require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 105 | + } | |
| 105 | 106 | |
| 106 | - if ( ! is_plugin_active( $premium_plugin_file ) ) { | |
| 107 | - return; | |
| 108 | - } | |
| 107 | + if ( ! is_plugin_active( $premium_plugin_file ) ) { | |
| 108 | + return; | |
| 109 | + } | |
| 109 | 110 | |
| 110 | - if ( ! function_exists( 'get_plugin_data' ) ) { | |
| 111 | - require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 112 | - } | |
| 113 | - $premium_data = get_plugin_data( $premium_plugin_path ); | |
| 111 | + if ( ! function_exists( 'get_plugin_data' ) ) { | |
| 112 | + require_once ABSPATH . 'wp-admin/includes/plugin.php'; | |
| 113 | + } | |
| 114 | + $premium_data = get_plugin_data( $premium_plugin_path ); | |
| 114 | 115 | |
| 115 | - if ( version_compare( $premium_data['Version'], '1.3.0', '<' ) ) { | |
| 116 | - deactivate_plugins( $premium_plugin_file ); | |
| 117 | - set_transient( 'winp_premium_version_incompatible', true, WEEK_IN_SECONDS ); | |
| 118 | - } | |
| 119 | - }, | |
| 120 | - 5 | |
| 121 | -); | |
| 116 | + if ( version_compare( $premium_data['Version'], '1.3.0', '<' ) ) { | |
| 117 | + deactivate_plugins( $premium_plugin_file ); | |
| 118 | + // Still hooked this request; it calls WINP_Plugin::app() before init. | |
| 119 | + remove_action( 'plugins_loaded', 'wasp_premium_load', 20 ); | |
| 120 | + set_transient( 'winp_premium_version_incompatible', true, WEEK_IN_SECONDS ); | |
| 121 | + } | |
| 122 | +} | |
| 123 | +add_action( 'plugins_loaded', 'winp_deactivate_incompatible_premium', 5 ); | |
| 122 | 124 | |
| 123 | 125 | add_action( |
| 124 | 126 | 'admin_init', |
| 125 | 127 | function () { |