multi language support
support for small devices
This commit is contained in:
		@@ -1,47 +1,56 @@
 | 
			
		||||
<?php
 | 
			
		||||
function updateBlockOrAllowList($postVars)
 | 
			
		||||
 | 
			
		||||
use Bdp\Modules\LimitLoginAttempts\Controllers\OptionsPage as LimitLoginAttemptsOptions;
 | 
			
		||||
 | 
			
		||||
function updateBlockOrAllowList(array $postVars)
 | 
			
		||||
{
 | 
			
		||||
    $listType = $postVars['save_kompass_balist_list_type'];
 | 
			
		||||
 | 
			
		||||
    $saveIPList = [];
 | 
			
		||||
    if (isset($postVars['listElements'])) {
 | 
			
		||||
        foreach ($postVars['listElements'] as $curIp) {
 | 
			
		||||
            $curIp = trim($curIp);
 | 
			
		||||
            if ($curIp !== '') {
 | 
			
		||||
                $saveIPList[] = $curIp;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (count($postVars['new_ips']) == 1) {
 | 
			
		||||
if (count($postVars['new_ips']) == 1) {
 | 
			
		||||
        foreach (explode(PHP_EOL, $postVars['new_ips'][0]) as $newIp) {
 | 
			
		||||
            $newIp = trim($newIp);
 | 
			
		||||
            if ('' !== $newIp) {
 | 
			
		||||
                $saveIPList[] = $newIp;
 | 
			
		||||
                if ($listType == 'blocklist') {
 | 
			
		||||
                    LimitLoginAttemptsOptions::addToBlocklist($newIp);
 | 
			
		||||
                } else {
 | 
			
		||||
                    LimitLoginAttemptsOptions::addToAllowlist($newIp);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    update_option('kompass_limit_login_' . $listType, $saveIPList);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function kompass_print_block_allow_form($listType) {
 | 
			
		||||
function kompass_print_block_allow_form(string $listType) {
 | 
			
		||||
    $elements = get_option('kompass_limit_login_' . $listType, []);
 | 
			
		||||
 | 
			
		||||
     ?>
 | 
			
		||||
 | 
			
		||||
    <input type="hidden" name="save_kompass_balist_list_type" value="<?= $listType; ?>" />
 | 
			
		||||
 | 
			
		||||
    <?php
 | 
			
		||||
    foreach ($elements as $currentIp) {
 | 
			
		||||
        ?>
 | 
			
		||||
        <p>
 | 
			
		||||
            <input type="text" name="listElements[]" value="<?= $currentIp ?>" style="width: 350px;" /><br />
 | 
			
		||||
            <label style="cursor: default; color: #a0a0a0; fot-size: 9pt; font-style: italic"><?= __('Zum Löschen frei lassen', BDP_LV_PLUGIN_SLUG); ?></label>
 | 
			
		||||
        </p>
 | 
			
		||||
    <p style="width: 100%; text-align: right">
 | 
			
		||||
        <input type="text" id="searchInput"
 | 
			
		||||
               onkeyup="searchTable('myTable', this)"
 | 
			
		||||
               placeholder="<?=__('Search for ip address', BDP_LV_PLUGIN_SLUG); ?>">
 | 
			
		||||
    </p>
 | 
			
		||||
    <table class="wp-list-table widefat fixed striped table-view-list" id="myTable">
 | 
			
		||||
        <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
            <th scope="col" class="manage-column column-name"><?= __('IP address', BDP_LV_PLUGIN_SLUG); ?></th>
 | 
			
		||||
            <th style="width: 100px;" class="manage-column column-name"><?= __('Actions', BDP_LV_PLUGIN_SLUG); ?></th>
 | 
			
		||||
        </tr>
 | 
			
		||||
        </thead>
 | 
			
		||||
        <tbody>
 | 
			
		||||
        <?php
 | 
			
		||||
    }
 | 
			
		||||
    ?>
 | 
			
		||||
            foreach ($elements as $currentIp) {
 | 
			
		||||
                echo '<tr>';
 | 
			
		||||
                echo '<td>' . $currentIp  .'</td>';
 | 
			
		||||
                echo '<td><a href="admin.php?page=bdp-kompass-limit-login-attempts&action=removeFromList' .
 | 
			
		||||
                    '&list=' . $listType . '&ip=' . base64_encode($currentIp) . '">'
 | 
			
		||||
                    . __('Delete', BDP_LV_PLUGIN_SLUG) . '</a></td>';
 | 
			
		||||
                echo '</tr>';
 | 
			
		||||
            }
 | 
			
		||||
        ?>
 | 
			
		||||
        </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="kompass_setting_box">
 | 
			
		||||
        <h3><?= __('IP-Adresse hinzufügen', BDP_LV_PLUGIN_SLUG); ?></h3>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,13 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
// Callback-Funktion für die Einstellungsseite
 | 
			
		||||
function custom_settings_section_callback() {
 | 
			
		||||
    echo '<input type="hidden" name="update_options" value="true" />';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _kompass_limit_logins_settings_callback($args) {
 | 
			
		||||
function _kompass_limit_logins_settings_callback(array $args) {
 | 
			
		||||
    $setting = get_option($args['setting'], null);
 | 
			
		||||
    if (null === $setting) {
 | 
			
		||||
        $setting = '';
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $value = esc_attr($setting);
 | 
			
		||||
@@ -19,22 +18,17 @@ function _kompass_limit_logins_settings_callback($args) {
 | 
			
		||||
    kompass_print_textbox($args['setting'], $value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _kompass_limit_logins_settings_radio_callback($args)
 | 
			
		||||
function _kompass_limit_logins_settings_radio_callback(array $args)
 | 
			
		||||
{
 | 
			
		||||
    kompass_print_radio($args['setting']);
 | 
			
		||||
}
 | 
			
		||||
function _kompass_limit_logins_settings_checkbox_callback($args) {
 | 
			
		||||
function _kompass_limit_logins_settings_checkbox_callback(array $args) {
 | 
			
		||||
    kompass_print_checkbox($args['setting']);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
add_settings_section(
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    'Optionen',
 | 
			
		||||
    __('Options', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
    'custom_settings_section_callback',
 | 
			
		||||
    BDP_LV_PLUGIN_SLUG . '-limit-login-attempts'
 | 
			
		||||
);
 | 
			
		||||
@@ -44,73 +38,73 @@ $settings_page = BDP_LV_PLUGIN_SLUG . '-limit-login-attempts';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_1',
 | 
			
		||||
    'Maximale Wiederholungen',
 | 
			
		||||
	'kompass_lla_1',
 | 
			
		||||
    __('Maximum reps until lockout', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
    '_kompass_limit_logins_settings_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_allowed_retries']);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_2',
 | 
			
		||||
    'Dauer der Sperre (in Minuten)',
 | 
			
		||||
	'kompass_lla_2',
 | 
			
		||||
    __('Duration of lockout (in minutes)', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
    '_kompass_limit_logins_settings_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_lockout_duration', 'unit_division' => 60 ]);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_3',
 | 
			
		||||
    'Maximale Anzahl an Sperrungen',
 | 
			
		||||
	'kompass_lla_3',
 | 
			
		||||
    __('Maximum number of lockouts', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
    '_kompass_limit_logins_settings_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_allowed_lockouts']);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_4',
 | 
			
		||||
    'Langzeitsperre in Stunden',
 | 
			
		||||
	'kompass_lla_4',
 | 
			
		||||
    __('Long-term duration (in hours)', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
    '_kompass_limit_logins_settings_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_long_duration', 'unit_division' => 3600]);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_5',
 | 
			
		||||
    'Mininmale Passwort-Stärke:',
 | 
			
		||||
    '_kompass_limit_logins_settings_radio_callback',
 | 
			
		||||
	'kompass_lla_5',
 | 
			
		||||
    __('Minimum password strength', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
	'_kompass_limit_logins_settings_radio_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_password_minimal_strength']);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_6',
 | 
			
		||||
    'Seite erreichbar über:',
 | 
			
		||||
    '_kompass_limit_logins_settings_radio_callback',
 | 
			
		||||
	'kompass_lla_6',
 | 
			
		||||
    __('Page accessible via', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
	'_kompass_limit_logins_settings_radio_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_client_type']);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_7',
 | 
			
		||||
    'Cookies verarbeiten',
 | 
			
		||||
    '_kompass_limit_logins_settings_radio_callback',
 | 
			
		||||
	'kompass_lla_7',
 | 
			
		||||
    __('Handle cookies', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
	'_kompass_limit_logins_settings_radio_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_cookies']);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_8',
 | 
			
		||||
    'Bei Sperrung benachrichtigen',
 | 
			
		||||
    '_kompass_limit_logins_settings_checkbox_callback',
 | 
			
		||||
	'kompass_lla_8',
 | 
			
		||||
    __('Notify if blocked', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
	'_kompass_limit_logins_settings_checkbox_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_lockout_notify']);
 | 
			
		||||
 | 
			
		||||
add_settings_field(
 | 
			
		||||
    'kompass_lla_9',
 | 
			
		||||
    'Fehlversuche bis zur Benachrichtigung',
 | 
			
		||||
    '_kompass_limit_logins_settings_callback',
 | 
			
		||||
	'kompass_lla_9',
 | 
			
		||||
    __('Failed attempts until notification', BDP_LV_PLUGIN_SLUG),
 | 
			
		||||
	'_kompass_limit_logins_settings_callback',
 | 
			
		||||
    $settings_page,
 | 
			
		||||
    'custom_settings_section',
 | 
			
		||||
    ['setting' => 'kompass_limit_login_notify_email_after']);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
function check_for_integer($input) {
 | 
			
		||||
    if (!is_numeric($input)) {
 | 
			
		||||
        wp_die('Bitte nur Zahlen, Danke!');
 | 
			
		||||
    }
 | 
			
		||||
function check_for_integer(int $input) {
 | 
			
		||||
    return $input;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function hours_to_seconds_converter($input) {
 | 
			
		||||
function hours_to_seconds_converter(int $input) {
 | 
			
		||||
    // Hier kannst du die Eingabe validieren, z.B. sicherstellen, dass es sich um eine gültige E-Mail-Adresse handelt.
 | 
			
		||||
    return minutes_to_seconds_converter($input) * 60;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function minutes_to_seconds_converter($input) {
 | 
			
		||||
function minutes_to_seconds_converter(int $input) {
 | 
			
		||||
 | 
			
		||||
    // Hier kannst du die Eingabe validieren, z.B. sicherstellen, dass es sich um eine gültige E-Mail-Adresse handelt.
 | 
			
		||||
    return check_for_integer($input) * 60;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -43,7 +39,7 @@ function kompass_settings_validators()
 | 
			
		||||
        'check_for_integer');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function update_settings($postParams) {
 | 
			
		||||
function update_settings(array $postParams) {
 | 
			
		||||
    $settings = ['kompass_limit_login_lockout_duration',
 | 
			
		||||
        'kompass_limit_login_allowed_retries',
 | 
			
		||||
        'kompass_limit_login_allowed_lockouts',
 | 
			
		||||
@@ -55,10 +51,10 @@ function update_settings($postParams) {
 | 
			
		||||
        'kompass_limit_login_cookies'];
 | 
			
		||||
 | 
			
		||||
    foreach ($settings as $curSetting) {
 | 
			
		||||
		if (isset($postParams[$curSetting])) {
 | 
			
		||||
			update_option( $curSetting, $postParams[ $curSetting ] );
 | 
			
		||||
		} else {
 | 
			
		||||
			update_option( $curSetting, '');
 | 
			
		||||
		}
 | 
			
		||||
        if (isset($postParams[$curSetting])) {
 | 
			
		||||
            update_option($curSetting, $postParams[$curSetting]);
 | 
			
		||||
        } else {
 | 
			
		||||
            update_option($curSetting, '');
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user