Changeset 2655902
- Timestamp:
- 01/11/2022 02:50:44 PM (4 years ago)
- Location:
- guardgiant/trunk
- Files:
-
- 7 edited
-
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/admin/class-guardgiant-admin.php
r2655897 r2655902 33 33 $this->version = $version; 34 34 35 }36 37 /**38 * Hook for new site creation when WordPress is in multisite mode39 *40 * @since 2.6.041 *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 mode50 * (Only when WordPress is version 5.1 or less)51 *52 * @since 2.6.053 *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 mode63 *64 * @since 2.6.065 *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);70 35 } 71 36 -
guardgiant/trunk/guardgiant.php
r2655897 r2655902 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. 3.019 * Version: 2.2.4 20 20 * Author: GuardGiant Brute Force Protection 21 21 * Author URI: https://www.guardgiant.com/ … … 32 32 33 33 34 define( 'GUARDGIANT_VERSION', '2. 3.0' );34 define( 'GUARDGIANT_VERSION', '2.2.4' ); 35 35 36 36 // default settings … … 82 82 * This action is documented in includes/class-guardgiant-activator.php 83 83 */ 84 function activate_guardgiant( $networkwide) {84 function activate_guardgiant() { 85 85 require_once plugin_dir_path( __FILE__ ) . 'includes/class-guardgiant-activator.php'; 86 Guardgiant_Activator::activate( $networkwide);86 Guardgiant_Activator::activate(); 87 87 } 88 88 -
guardgiant/trunk/includes/class-guardgiant-activator.php
r2655897 r2655902 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($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() { 21 public static function activate() { 70 22 global $wpdb; 71 23 … … 134 86 135 87 // Set up our default settings 88 89 90 136 91 137 92 // if this is a new installation then we record install date etc … … 216 171 $timestamp = wp_next_scheduled( 'guardgiant_housekeeping' ); 217 172 173 //If $timestamp == false schedule daily backups since it hasn't been done previously 218 174 if( $timestamp == false ){ 219 175 //Schedule the event for right now, then to repeat twice daily using the hook 'guardgiant_housekeeping' -
guardgiant/trunk/includes/class-guardgiant-deactivator.php
r2655897 r2655902 1 1 <?php 2 3 /** 4 * Fired during plugin deactivation 5 * 6 * @since 1.0.0 7 * 8 * @package Guardgiant 9 * @subpackage Guardgiant/includes 10 */ 2 11 3 12 /** … … 17 26 * @since 1.0.0 18 27 */ 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() { 28 public static function deactivate() { 44 29 45 30 // remove our cron job 46 31 wp_clear_scheduled_hook('guardgiant_housekeeping'); 47 32 48 // tasks such as deleting database tables are only performed when the plugin is uninstalled49 // or the site is deleted (when in multisite mode)33 // (tasks such as deleting database tables are performed only when the plugin is uninstalled) 34 50 35 } 51 36 52 53 54 /**55 * Delete site when in multisite mode56 *57 *58 * @since 2.3.059 */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 84 37 } -
guardgiant/trunk/includes/class-guardgiant.php
r2655897 r2655902 176 176 */ 177 177 private function define_admin_hooks() { 178 global $wp_version;179 178 180 179 $plugin_admin = new Guardgiant_Admin( $this->get_plugin_name(), $this->get_version() ); … … 198 197 $this->loader->add_action( 'admin_notices', $plugin_admin, 'display_flash_notices', 12 ); 199 198 200 // Hook the 'Add new site' function when MultiSite is active201 if ( version_compare( $wp_version, '5.1', '<' ) ) {202 // wpmu_new_blog was deprecated in WordPress 5.1203 $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 }210 199 } 211 200 … … 500 489 public static function do_housekeeping() 501 490 { 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 } 491 Guardgiant_IP_Failed_Logins::delete_old_records(); 492 Guardgiant_User_Failed_Logins::delete_old_records(); 493 Guardgiant_Login_Activity_Log::delete_old_records(); 517 494 518 495 } -
guardgiant/trunk/public/class-guardgiant-public.php
r2655897 r2655902 509 509 * @param string username 510 510 * @param bool is device trusted? 511 * @param WP_Error o ptional - only if this was a failed login attempt511 * @param WP_Error only if this was a failed login attempt 512 512 * 513 513 */ -
guardgiant/trunk/uninstall.php
r2655897 r2655902 16 16 17 17 global $wpdb; 18 $tablename = $wpdb->prefix."guardgiant_user_failed_logins"; 19 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 18 20 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`" ); 21 $tablename = $wpdb->prefix."guardgiant_ip_failed_logins"; 22 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 28 23 29 $tablename = $wpdb->prefix."guardgiant_ip_failed_logins";30 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" );24 $tablename = $wpdb->prefix."guardgiant_login_activity_log"; 25 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 31 26 32 $tablename = $wpdb->prefix."guardgiant_login_activity_log"; 33 $wpdb->query( "DROP TABLE IF EXISTS `$tablename`" ); 27 delete_option('guardgiant-settings'); 28 delete_option('guardgiant_salt'); 29 delete_option('guardgiant-install'); 30 delete_option('guardgiant-stats'); 34 31 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.