/** * Rolls back activation procedures when de-activating the plugin * * @since 1.0 */ public function deactivate() { WPBRS_Controller_Cron::unregister_cron_jobs(); WPBRS_Controller_Blocker::filter_referrers_htaccess(true); //remove WP Block Referrer Spam rules WPBRS_Model_Admin_Notices::remove_admin_notices(); flush_rewrite_rules(); }
/** * Define the core functionality of the plugin. * * Load the dependencies, define the locale, and set the hooks for the admin area and * the public-facing side of the site. * * @since 1.0 */ public function __construct() { self::$plugin_path = plugin_dir_path(dirname(__FILE__)); require_once self::$plugin_path . 'includes/' . self::PLUGIN_PREFIX . 'loader.php'; self::$modules['WPBRS_Loader'] = WPBRS_Loader::get_instance(); self::$modules['WPBRS_Controller_Settings'] = WPBRS_Controller_Settings::get_instance(); self::$modules['WPBRS_Controller_Blocker'] = WPBRS_Controller_Blocker::get_instance(); self::$modules['WPBRS_Controller_Cron'] = WPBRS_Controller_Cron::get_instance(); self::$modules['WPBRS_Controller_Admin_Notices'] = WPBRS_Controller_Admin_Notices::get_instance(); WPBRS_Actions_Filters::init_actions_filters(); }
/** * Download and update Referrer Spam list from URL * * @since 1.0 * @param bool $reset * @return bool */ public static function update_from_URL($reset = false) { $contextOptions = array("ssl" => array("verify_peer" => false, "verify_peer_name" => false)); $new_list = file(self::GIT_LIST_URL, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES, stream_context_create($contextOptions)); $settings = self::get_settings(); if (!$reset && $settings && !empty($new_list)) { if (isset($settings['referrer_spam_list']) && $settings['referrer_spam_list'] != '' && $settings['referrer_spam_list'] != $new_list) { $new_list = array_unique(array_merge($new_list, $settings['referrer_spam_list'])); } } $settings['referrer_spam_list'] = array_merge(array(), $new_list); $result = self::update_settings($settings); WPBRS_Controller_Blocker::filter_referrers_htaccess(); return $result; }