class-activation.php
2 years ago
class-admin-interface.php
2 years ago
class-common-methods.php
2 years ago
class-content-management.php
2 years ago
class-custom-code.php
2 years ago
class-deactivation.php
2 years ago
class-disable-components.php
2 years ago
class-login-logout.php
2 years ago
class-optimizations.php
2 years ago
class-security.php
2 years ago
class-settings-fields-render.php
2 years ago
class-settings-sanitization.php
2 years ago
class-settings-sections-fields.php
2 years ago
class-utilities.php
2 years ago
class-activation.php
61 lines
| 1 | <?php |
| 2 | |
| 3 | namespace ASENHA\Classes; |
| 4 | |
| 5 | /** |
| 6 | * Plugin Activation |
| 7 | * |
| 8 | * @since 1.0.0 |
| 9 | */ |
| 10 | class Activation { |
| 11 | |
| 12 | /** |
| 13 | * Create failed login log table for Limit Login Attempts feature |
| 14 | * |
| 15 | * @since 2.5.0 |
| 16 | */ |
| 17 | public function create_failed_logins_log_table() { |
| 18 | |
| 19 | global $wpdb; |
| 20 | |
| 21 | // Limit Login Attempts Log Table |
| 22 | |
| 23 | $table_name = $wpdb->prefix . 'asenha_failed_logins'; |
| 24 | |
| 25 | if ( ! empty( $wpdb->charset ) ) { |
| 26 | $charset_collation_sql = "DEFAULT CHARACTER SET $wpdb->charset"; |
| 27 | } |
| 28 | |
| 29 | if ( ! empty( $wpdb->collate ) ) { |
| 30 | $charset_collation_sql .= " COLLATE $wpdb->collate"; |
| 31 | } |
| 32 | |
| 33 | // Drop table if already exists |
| 34 | $wpdb->query("DROP TABLE IF EXISTS `". $table_name ."`"); |
| 35 | |
| 36 | // Create database table. This procedure may also be called |
| 37 | $sql = |
| 38 | "CREATE TABLE {$table_name} ( |
| 39 | id int(6) unsigned NOT NULL auto_increment, |
| 40 | ip_address varchar(40) NOT NULL DEFAULT '', |
| 41 | username varchar(24) NOT NULL DEFAULT '', |
| 42 | fail_count int(10) NOT NULL DEFAULT '0', |
| 43 | lockout_count int(10) NOT NULL DEFAULT '0', |
| 44 | request_uri varchar(24) NOT NULL DEFAULT '', |
| 45 | unixtime int(10) NOT NULL DEFAULT '0', |
| 46 | datetime_wp varchar(36) NOT NULL DEFAULT '', |
| 47 | -- datetime_utc datetime NULL DEFAULT CURRENT_TIMESTAMP, |
| 48 | info varchar(64) NOT NULL DEFAULT '', |
| 49 | UNIQUE (ip_address), |
| 50 | PRIMARY KEY (id) |
| 51 | ) {$charset_collation_sql}"; |
| 52 | |
| 53 | require_once ABSPATH . '/wp-admin/includes/upgrade.php'; |
| 54 | |
| 55 | dbDelta( $sql ); |
| 56 | |
| 57 | return true; |
| 58 | |
| 59 | } |
| 60 | |
| 61 | } |