esc_html__( 'You have been locked out due to too many invalid login attempts.', 'defender-security' ), ); } /** * Initializes the object before loading. * * @return void */ protected function before_load(): void { $default_values = $this->get_default_values(); $this->lockout_message = $default_values['message']; } /** * Return the blacklisted username as array. * * @return array */ public function get_blacklisted_username(): array { /** * Filter the banned usernames. * * @filter wp_defender_banned_usernames * @since 2.4.7 */ $usernames = apply_filters( 'wp_defender_banned_usernames', $this->username_blacklist ); if ( '' === trim( $usernames ) ) { return array(); } $usernames = str_replace( array( "\r\n", "\r", "\n" ), ' ', $this->username_blacklist ); $usernames = explode( ' ', $usernames ); return array_map( 'trim', $usernames ); } /** * Define settings labels. * * @return array */ public function labels(): array { return array( // New key: enabled. 'login_protection' => self::get_module_name(), // New key: attempt. 'login_protection_login_attempt' => esc_html__( 'Login Protection - Threshold', 'defender-security' ), // New key: timeframe. 'login_protection_lockout_timeframe' => esc_html__( 'Login Protection - Timeframe', 'defender-security' ), // New key: lockout_type. 'login_protection_lockout_ban' => esc_html__( 'Login Protection - Duration Type', 'defender-security' ), // New key: duration. 'login_protection_lockout_duration' => esc_html__( 'Login Protection - Duration', 'defender-security' ), // New key: duration_unit. 'login_protection_lockout_duration_unit' => esc_html__( 'Login Protection - Duration units', 'defender-security' ), // New key: lockout_message. 'login_protection_lockout_message' => esc_html__( 'Login Protection - Lockout Message', 'defender-security' ), 'username_blacklist' => esc_html__( 'Login Protection - Banned Usernames', 'defender-security' ), ); } /** * Returns the module name for Login Protection. * * @return string The module name. */ public static function get_module_name(): string { return esc_html__( 'Login Protection', 'defender-security' ); } /** * Returns the module state based on the given flag. * * @param bool $flag The flag indicating the module state. * * @return string The module state, either 'active' or 'inactive'. */ public static function get_module_state( $flag ): string { return $flag ? esc_html__( 'active', 'defender-security' ) : esc_html__( 'inactive', 'defender-security' ); } }