Changeset 2655897
- Timestamp:
- 01/11/2022 02:46:12 PM (4 years ago)
- Location:
- guardgiant/trunk
- Files:
-
- 8 edited
-
README.txt (modified) (1 diff)
-
admin/class-guardgiant-admin.php (modified) (1 diff)
-
guardgiant.php (modified) (3 diffs)
-
includes/class-guardgiant-activator.php (modified) (4 diffs)
-
includes/class-guardgiant-deactivator.php (modified) (2 diffs)
-
includes/class-guardgiant.php (modified) (3 diffs)
-
public/class-guardgiant-public.php (modified) (1 diff)
-
uninstall.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
guardgiant/trunk/README.txt
r2635026 r2655897 3 3 Tags: Brute Force, Brute Force Protection, login security, login protection, limit login, stop brute force attacks, brute force login protection 4 4 Requires at least: 3.3 5 Tested up to: 5. 85 Tested up to: 5.9 6 6 Stable tag: 2.2.4 7 7 Requires PHP: 5.4 -
guardgiant/trunk/admin/class-guardgiant-admin.php
r2448416 r2655897 33 33 $this->version = $version; 34 34 35 } 36 37 /** 38 * Hook for new site creation when WordPress is in multisite mode 39 * 40 * @since 2.6.0 41 * 42 */ 43 public function wp_initialize_site($blog) { 44 require_once plugin_dir_path( __FILE__ ) . '../includes/class-guardgiant-activator.php'; 45 Guardgiant_Activator::activate_on_new_blog($blog); 46 } 47 48 /** 49 * Hook for site deletion when WordPress is in multisite mode 50 * (Only when WordPress is version 5.1 or less) 51 * 52 * @since 2.6.0 53 * 54 */ 55 public function delete_blog($blog, $drop) { 56 require_once plugin_dir_path( __FILE__ ) . '../includes/class-guardgiant-deactivator.php'; 57 Guardgiant_Deactivator::delete_site($blog); 58 } 59 60 61 /** 62 * Hook for site deletion when WordPress is in multisite mode 63 * 64 * @since 2.6.0 65 * 66 */ 67 public function wp_delete_site($blog) { 68 require_once plugin_dir_path( __FILE__ ) . '../includes/class-guardgiant-deactivator.php'; 69 Guardgiant_Deactivator::delete_site($blog); 35 70 } 36 71 -
guardgiant/trunk/guardgiant.php
r2635026 r2655897 17 17 * Plugin URI: https://www.guardgiant.com/ 18 18 * Description: Security plugin with 100% brute force protection that doesn't lock out genuine users. 19 * Version: 2. 2.419 * Version: 2.3.0 20 20 * Author: GuardGiant Brute Force Protection 21 21 * Author URI: https://www.guardgiant.com/ … … 32 32 33 33 34 define( 'GUARDGIANT_VERSION', '2. 2.4' );34 define( 'GUARDGIANT_VERSION', '2.3.0' ); 35 35 36 36 // default settings … … 82 82 * This action is documented in includes/class-guardgiant-activator.php 83 83 */ 84 function activate_guardgiant( ) {84 function activate_guardgiant($networkwide) { 85 85 require_once plugin_dir_path( __FILE__ ) . 'includes/class-guardgiant-activator.php'; 86 Guardgiant_Activator::activate( );86 Guardgiant_Activator::activate($networkwide); 87 87 } 88 88 -
guardgiant/trunk/includes/class-guardgiant-activator.php
r2448416 r2655897 13 13 14 14 /** 15 * activate15 * activate 16 16 * 17 17 * Called when plug-in is first activated. … … 19 19 * @since 1.0.0 20 20 */ 21 public static function activate() { 21 public static function activate($network_wide = false) { 22 global $wpdb; 23 24 if ( is_multisite() && $network_wide ) { 25 26 foreach (get_sites(['fields'=>'ids']) as $blog_id) { 27 switch_to_blog($blog_id); 28 Guardgiant_Activator::do_activation(); 29 restore_current_blog(); 30 } 31 32 } else { 33 Guardgiant_Activator::do_activation(); 34 } 35 } 36 37 /** 38 * activate_on_new_blog 39 * 40 * Used when Multisite is configured and GuardGiant is active for the whole network. 41 * Setup database tables and default settings when a new site is created. 42 * 43 * @since 2.3.0 44 */ 45 public static function activate_on_new_blog($blog_id) { 46 if ( $blog_id instanceof WP_Site ) { 47 $blog_id = (int) $blog_id->blog_id; 48 } 49 50 if ( ! function_exists( 'is_plugin_active_for_network' ) ) { 51 // Makes sure the plugin is defined before trying to use it 52 require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); 53 } 54 55 if ( is_plugin_active_for_network( 'guardgiant/guardgiant.php' ) ) { 56 switch_to_blog($blog_id); 57 Guardgiant_Activator::do_activation(); 58 restore_current_blog(); 59 } 60 } 61 62 /** 63 * do_activation 64 * 65 * setup database tables and default settings. 66 * 67 * @since 2.3.0 68 */ 69 public static function do_activation() { 22 70 global $wpdb; 23 71 … … 86 134 87 135 // Set up our default settings 88 89 90 91 136 92 137 // if this is a new installation then we record install date etc … … 171 216 $timestamp = wp_next_scheduled( 'guardgiant_housekeeping' ); 172 217 173 //If $timestamp == false schedule daily backups since it hasn't been done previously174 218 if( $timestamp == false ){ 175 219 //Schedule the event for right now, then to repeat twice daily using the hook 'guardgiant_housekeeping' -
guardgiant/trunk/includes/class-guardgiant-deactivator.php
r2429456 r2655897 1 1 <?php 2 3 /**4 * Fired during plugin deactivation5 *6 * @since 1.0.07 *8 * @package Guardgiant9 * @subpackage Guardgiant/includes10 */11 2 12 3 /** … … 26 17 * @since 1.0.0 27 18 */ 28 public static function deactivate() { 19 public static function deactivate($network_wide = false) { 20 21 global $wpdb; 22 23 if ( is_multisite() && $network_wide ) { 24 25 foreach (get_sites(['fields'=>'ids']) as $blog_id) { 26 switch_to_blog($blog_id); 27 Guardgiant_Deactivator::do_deactivation(); 28 restore_current_blog(); 29 } 30 31 } else { 32 Guardgiant_Deactivator::do_deactivation(); 33 } 34 } 35 36 37 /** 38 * do_deactivation 39 * 40 * 41 * @since 2.3.0 42 */ 43 public static function do_deactivation() { 29 44 30 45 // remove our cron job 31 46 wp_clear_scheduled_hook('guardgiant_housekeeping'); 32 47 33 // (tasks such as deleting database tables are performed only when the plugin is uninstalled)34 48 // tasks such as deleting database tables are only performed when the plugin is uninstalled 49 // or the site is deleted (when in multisite mode) 35 50 } 36 51 52 53 54 /** 55 * Delete site when in multisite mode 56 * 57 * 58 * @since 2.3.0 59 */ 60 public static function delete_site($blog_id) { 61 62 global $wpdb; 63 64 if ( $blog_id instanceof WP_Site ) { 65 $blog_id = (int) $blog_id->blog_id; 66 } 67 68 switch_to_blog( $blog_id ); 69 70 $tablename = $wpdb->prefix."guardgiant_user_failed_logins"; 71 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 72 73 $tablename = $wpdb->prefix."guardgiant_ip_failed_logins"; 74 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 75 76 $tablename = $wpdb->prefix."guardgiant_login_activity_log"; 77 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 78 79 restore_current_blog(); 80 81 } 82 83 37 84 } -
guardgiant/trunk/includes/class-guardgiant.php
r2635026 r2655897 176 176 */ 177 177 private function define_admin_hooks() { 178 global $wp_version; 178 179 179 180 $plugin_admin = new Guardgiant_Admin( $this->get_plugin_name(), $this->get_version() ); … … 197 198 $this->loader->add_action( 'admin_notices', $plugin_admin, 'display_flash_notices', 12 ); 198 199 200 // Hook the 'Add new site' function when MultiSite is active 201 if ( version_compare( $wp_version, '5.1', '<' ) ) { 202 // wpmu_new_blog was deprecated in WordPress 5.1 203 $this->loader->add_action( 'wpmu_new_blog', $plugin_admin, 'wp_initialize_site'); 204 $this->loader->add_action( 'delete_blog', $plugin_admin, 'delete_blog'); 205 } 206 else { 207 $this->loader->add_action( 'wp_initialize_site', $plugin_admin, 'wp_initialize_site', 99); 208 $this->loader->add_action( 'wp_delete_site', $plugin_admin, 'wp_delete_site'); 209 } 199 210 } 200 211 … … 489 500 public static function do_housekeeping() 490 501 { 491 Guardgiant_IP_Failed_Logins::delete_old_records(); 492 Guardgiant_User_Failed_Logins::delete_old_records(); 493 Guardgiant_Login_Activity_Log::delete_old_records(); 502 if ( is_multisite() ) { 503 504 foreach (get_sites(['fields'=>'ids']) as $blog_id) { 505 switch_to_blog($blog_id); 506 Guardgiant_IP_Failed_Logins::delete_old_records(); 507 Guardgiant_User_Failed_Logins::delete_old_records(); 508 Guardgiant_Login_Activity_Log::delete_old_records(); 509 restore_current_blog(); 510 } 511 } else { 512 513 Guardgiant_IP_Failed_Logins::delete_old_records(); 514 Guardgiant_User_Failed_Logins::delete_old_records(); 515 Guardgiant_Login_Activity_Log::delete_old_records(); 516 } 494 517 495 518 } -
guardgiant/trunk/public/class-guardgiant-public.php
r2635026 r2655897 509 509 * @param string username 510 510 * @param bool is device trusted? 511 * @param WP_Error o nly if this was a failed login attempt511 * @param WP_Error optional - only if this was a failed login attempt 512 512 * 513 513 */ -
guardgiant/trunk/uninstall.php
r2448416 r2655897 16 16 17 17 global $wpdb; 18 $tablename = $wpdb->prefix."guardgiant_user_failed_logins";19 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" );20 18 21 $tablename = $wpdb->prefix."guardgiant_ip_failed_logins"; 22 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 19 if ( function_exists( 'is_multisite' ) && is_multisite() ) { 20 if ( false == is_super_admin() ) { 21 return; 22 } 23 24 foreach (get_sites(['fields'=>'ids']) as $blog_id) { 25 switch_to_blog( $blog_id ); 26 $tablename = $wpdb->prefix."guardgiant_user_failed_logins"; 27 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 23 28 24 $tablename = $wpdb->prefix."guardgiant_login_activity_log";25 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" );29 $tablename = $wpdb->prefix."guardgiant_ip_failed_logins"; 30 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 26 31 27 delete_option('guardgiant-settings'); 28 delete_option('guardgiant_salt'); 29 delete_option('guardgiant-install'); 30 delete_option('guardgiant-stats'); 32 $tablename = $wpdb->prefix."guardgiant_login_activity_log"; 33 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 31 34 35 delete_option('guardgiant-settings'); 36 delete_option('guardgiant_salt'); 37 delete_option('guardgiant-install'); 38 delete_option('guardgiant-stats'); 39 delete_option('guardgiant-flash-notices'); 40 41 restore_current_blog(); 42 } 43 } else { 44 if ( ! current_user_can( 'activate_plugins' ) ) { 45 return; 46 } 47 $tablename = $wpdb->prefix."guardgiant_user_failed_logins"; 48 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 49 50 $tablename = $wpdb->prefix."guardgiant_ip_failed_logins"; 51 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 52 53 $tablename = $wpdb->prefix."guardgiant_login_activity_log"; 54 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 55 56 delete_option('guardgiant-settings'); 57 delete_option('guardgiant_salt'); 58 delete_option('guardgiant-install'); 59 delete_option('guardgiant-stats'); 60 delete_option('guardgiant-flash-notices'); 61 } 62 63 64
Note: See TracChangeset
for help on using the changeset viewer.