/** * Handler of extension deactivation event */ public static function onExtensionDeactivation($extension) { if ($extension == WPRC_PLUGIN_BASENAME) { return; } WPRC_Loader::includeUrlAnalyzer(); $extension_type = ''; $url = $_SERVER['REQUEST_URI']; $extension = WPRC_UrlAnalyzer::getExtensionFromUrl($url); $extension_type = $extension['type']; // if bulk deactivation skip if (defined('WPRC_SKIP_BULK_DEACTIVATION_REPORT') && WPRC_SKIP_BULK_DEACTIVATION_REPORT == true) { if (array_key_exists('checked', $_POST)) { return; } } $settings_model = WPRC_Loader::getModel('settings'); $settings = $settings_model->getSettings(); if (isset($settings['allow_compatibility_reporting']) && $settings['allow_compatibility_reporting'] == 1) { $url = $_SERVER['REQUEST_URI']; $url_params = WPRC_UrlAnalyzer::getUrlParams($url); if (count($url_params) > 0) { $report_send = ''; if (array_key_exists('reported', $url_params)) { $report_send = $url_params['reported']; } $plugin = ''; if (array_key_exists('plugin', $url_params)) { $plugin = $url_params['plugin']; } // prevent custom plugin decativation from triggering the deactivation form if ($report_send !== 'true' && !empty($extension_type) && $plugin !== WPRC_PLUGIN_NAME) { WPRC_Loader::includeAdminTop(); WPRC_Loader::includePage('deactivation-reason-form'); exit; } } else { if (!isset($_REQUEST['reported']) && array_key_exists('checked', $_POST)) { WPRC_Loader::includeAdminTop(); WPRC_Loader::includePage('deactivation-reason-form'); exit; } } } }