65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use Bdp\Modules\LimitLoginAttempts\Controllers\OptionsPage as LimitLoginAttemptsOptions;
 | 
						|
 | 
						|
function updateBlockOrAllowList(array $postVars)
 | 
						|
{
 | 
						|
    $listType = $postVars['save_kompass_balist_list_type'];
 | 
						|
if (count($postVars['new_ips']) == 1) {
 | 
						|
        foreach (explode(PHP_EOL, $postVars['new_ips'][0]) as $newIp) {
 | 
						|
            $newIp = trim($newIp);
 | 
						|
            if ('' !== $newIp) {
 | 
						|
                if ($listType == 'blocklist') {
 | 
						|
                    LimitLoginAttemptsOptions::addToBlocklist($newIp);
 | 
						|
                } else {
 | 
						|
                    LimitLoginAttemptsOptions::addToAllowlist($newIp);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
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; ?>" />
 | 
						|
    <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>
 | 
						|
        <p>
 | 
						|
            <textarea
 | 
						|
                    placeholder="<?= __('Please use line breaks to enter multiple ips', BDP_LV_PLUGIN_SLUG); ?>"
 | 
						|
                    name="new_ips[]"
 | 
						|
                    style="width: 350px;" rows="5"></textarea>
 | 
						|
        </p>
 | 
						|
    </div>
 | 
						|
<?php
 | 
						|
}
 |