settings = $settings; $this->siteinfo = $siteinfo; $this->bvapi = $bvapi; $this->bvinfo = new WPRInfo($settings); } public function activate() { if (!isset($_REQUEST['blogvaultkey'])) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended ##BVKEYSLOCATE## } if (WPRAccount::isConfigured($this->settings)) { /* This informs the server about the activation */ $info = array(); $this->siteinfo->basic($info); $this->bvapi->pingbv('/bvapi/activate', $info); } else { WPRAccount::setup($this->settings); } } public function deactivate() { $info = array(); $this->siteinfo->basic($info); ##DISABLECACHE## $this->process_deactivation_feedback($info); $this->bvapi->pingbv('/bvapi/deactivate', $info); } public static function uninstall() { do_action('wpr_clear_pt_config'); do_action('wpr_clear_dynsync_config'); ##CLEARCACHECONFIG## do_action('wpr_clear_bv_services_config'); do_action('wpr_clear_wp_2fa_config'); do_action('wpr_remove_bv_preload_include'); do_action('wpr_clear_php_error_config'); } public function clear_bv_services_config() { $this->settings->deleteOption($this->bvinfo->services_option_name); } public function clear_wp_2fa_config() { $meta_keys = array('wpr_2fa_enabled', 'wpr_2fa_secret'); foreach ($meta_keys as $meta_key) { $this->settings->deleteMetaData('user', null, $meta_key, '', true); } $this->settings->deleteOption(WPRWP2FA::$wp_2fa_option); } ##SOUNINSTALLFUNCTION## public function footerHandler() { $bvfooter = $this->settings->getOption($this->bvinfo->badgeinfo); if ($bvfooter) { echo '
'.esc_attr($bvfooter['badgealt']).'
'; } } private function process_deactivation_feedback(&$info) { //phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized if (!isset($_GET['bv_deactivation_assets']) || !is_string($_GET['bv_deactivation_assets'])) { return; } $deactivation_assets = wp_unslash($_GET['bv_deactivation_assets']); $info['deactivation_feedback'] = base64_encode($deactivation_assets); //phpcs:enable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized } public function removeBVPreload() { $pattern = "@include '" . rtrim(ABSPATH, DIRECTORY_SEPARATOR) . "/bv-preload.php" . "';"; WPRHelper::removePatternFromWpConfig($pattern); } } endif;