/**
  * 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();
 }
 /**
  * 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();
 }