diff --git a/src/Basic_Requirement_Checker.php b/src/Basic_Requirement_Checker.php index 99ccab899170ee22ad88b0f3100a1222985683db..e000c92c08b6a796d8a71ee555bc440772f83af8 100644 --- a/src/Basic_Requirement_Checker.php +++ b/src/Basic_Requirement_Checker.php @@ -12,6 +12,8 @@ class WPDesk_Basic_Requirement_Checker implements WPDesk_Requirement_Checker { const EXTENSION_NAME_OPENSSL = 'openssl'; const HOOK_ADMIN_NOTICES_ACTION = 'admin_notices'; + const HOOK_PLUGIN_DEACTIVATED_ACTION = 'deactivated_plugin'; + const HOOK_PLUGIN_ACTIVATED_ACTION = 'activated_plugin'; const PLUGIN_INFO_KEY_NICE_NAME = 'nice_name'; const PLUGIN_INFO_KEY_NAME = 'name'; @@ -570,6 +572,33 @@ } } + /** + * Triggers the transient delete after plugin deactivated + * + *@return void + */ + public function transient_delete_on_deactivated_plugin() { + add_action( self::HOOK_PLUGIN_DEACTIVATED_ACTION, array( $this, 'handle_transient_delete_action' ) ); + } + + /** + * Triggers the transient delete after plugin activated + * + *@return void + */ + public function transient_delete_on_activated_plugin() { + add_action( self::HOOK_PLUGIN_ACTIVATED_ACTION, array( $this,'handle_transient_delete_action' ) ); + } + + /** + * Handles the transient delete + * + * @return void + */ + public function handle_transient_delete_action() { + delete_transient(self::PLUGIN_INFO_TRANSIENT_NAME ); + } + /** * Should be called as WordPress action * @@ -581,7 +610,6 @@ foreach ( $this->notices as $notice ) { echo $notice; } - } } } \ No newline at end of file diff --git a/src/Basic_Requirement_Checker_Factory.php b/src/Basic_Requirement_Checker_Factory.php index 72289bcbd7489b558f2fc20a7ea4a304d167762e..73f0499b25f44bd83e80849560d654adf2786b11 100644 --- a/src/Basic_Requirement_Checker_Factory.php +++ b/src/Basic_Requirement_Checker_Factory.php @@ -51,6 +51,8 @@ foreach ( $requirements['plugins'] as $requirement ) { $requirements_checker->add_plugin_require( $requirement['name'], $requirement['nice_name'], $requirement['version'] ); } + + $requirements_checker->handle_transient_delete_action(); } if ( isset( $requirements['repo_plugins'] ) ) {