X-Git-Url: http://git.pk910.de/?p=PHP-P10.git;a=blobdiff_plain;f=Uplink%2FIPAddr.class.php;h=737cb9a7cf6cf42968215f1b639838f8d66e6389;hp=217fbe727dfbecb7951d51b86329694925b11801;hb=0f30e96ae37491aee19e72b89cc54a6798d1f254;hpb=f1a1066826a5cc04606cc12f0bd0b8e0383ca190 diff --git a/Uplink/IPAddr.class.php b/Uplink/IPAddr.class.php index 217fbe7..737cb9a 100644 --- a/Uplink/IPAddr.class.php +++ b/Uplink/IPAddr.class.php @@ -1,22 +1,19 @@ . * * * ************************************************************************ * @@ -34,7 +31,7 @@ class IPAddr { public function __construct($initial_value) { for($i = 0; $i < 8; $i++) { - $ip6[$i] = 0; + $this->ip6[$i] = 0; } if($initial_value == null) { //nothing @@ -49,7 +46,7 @@ class IPAddr { public function parseNumeric($numeric) { if(strlen($numeric) == 6) { //IPv4 - $value = self::numToInt($numeric); + $value = Numerics::numToInt($numeric); $this->ip6[6] = ($value & 0xffff0000) >> 16; $this->ip6[7] = ($value & 0x0000ffff); $this->addr_is_ipv6 = false; @@ -60,12 +57,14 @@ class IPAddr { $rightBlocks = (strlen($numeric) - $i - 1) / 3; $skipBlocks = 8 - $j - $rightBlocks; $j += $skipBlocks; + $i++; } else { - $value = self::numToInt($numeric[$i].$numeric[$i+1].$numeric[$i+2]); + $value = Numerics::numToInt($numeric[$i].$numeric[$i+1].$numeric[$i+2]); $this->ip6[$j++] = dechex($value); $i += 3; } } + $this->addr_is_ipv6 = true; } } @@ -82,6 +81,7 @@ class IPAddr { $this->ip6[$j++] = hexdec($block); } } + $this->addr_is_ipv6 = true; } public function parseIPv4($ipv4) { @@ -90,6 +90,7 @@ class IPAddr { $this->ip6[6] |= intval($ipv4blocks[1]); $this->ip6[7] = intval($ipv4blocks[2]) << 8; $this->ip6[7] |= intval($ipv4blocks[3]); + $this->addr_is_ipv6 = false; } public function isIPv6() {