Plugin Directory

Changeset 3053313


Ignore:
Timestamp:
03/18/2024 10:04:56 AM (12 months ago)
Author:
dynahsty
Message:

v1.23.1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ip-guard/trunk/ip-guard.php

    r3052107 r3053313  
    5656
    5757function ip_addresses_similar($ip_addresses) {
    58     $subnet_mask = ip2long('255.255.0.0');
    59 
    60     $first_ip = reset($ip_addresses);
     58    $ip_groups = [];
    6159    foreach ($ip_addresses as $ip) {
    62         if (!subnet_match($first_ip, $ip, $subnet_mask)) {
     60        $first_octet = explode('.', $ip)[0];
     61        $ip_groups[$first_octet][] = $ip;
     62    }
     63   
     64    foreach ($ip_groups as $group) {
     65        if (!all_ip_addresses_similar_in_group($group)) {
    6366            return false;
    6467        }
    6568    }
     69
    6670    return true;
    6771}
    6872
    69 function subnet_match($ip1, $ip2, $subnet_mask) {
    70     $ip1_long = ip2long($ip1);
    71     $ip2_long = ip2long($ip2);
    72     $network1 = $ip1_long & $subnet_mask;
    73     $network2 = $ip2_long & $subnet_mask;
    74     return ($network1 === $network2);
     73function all_ip_addresses_similar_in_group($ip_group) {
     74    $first_ip_octets = explode('.', reset($ip_group));
     75
     76    foreach ($ip_group as $ip) {
     77        $current_ip_octets = explode('.', $ip);
     78
     79        if (count($first_ip_octets) !== count($current_ip_octets)) {
     80            return false;
     81        }
     82
     83        for ($i = 1; $i < count($first_ip_octets); $i++) {
     84            if ($first_ip_octets[$i] !== $current_ip_octets[$i]) {
     85                return false;
     86            }
     87        }
     88    }
     89
     90    return true;
    7591}
    7692
     
    257273    add_submenu_page(
    258274        'ip_guard_admin_page',
    259         __('Donation', 'ip-guard'),
    260         __('Donation', 'ip-guard'),
     275        __('Donate', 'ip-guard'),
     276        __('Donate', 'ip-guard'),
    261277        'manage_options',
    262278        'ip_guard_donation_page',
Note: See TracChangeset for help on using the changeset viewer.