/** * @dataProvider invalidOperations * @expectedException OutOfBoundsException */ public function testPlusMinusOob($ip, $plus, $minus) { $ip = IP::create($ip); if ($plus !== null) { $ip->plus($plus); } elseif ($minus !== null) { $ip->minus($minus); } }
public static function add(User $user) { if (!$user->id or !$user->currentIP) { return false; } $count = IP::getCount($user, $user->currentIP); if ($count == 0) { $ip = new IP(); $ip->IP = $user->currentIP; $ip->uid = $user->id; $ip->time = time(); $ip->create(); } return true; }
/** * @dataProvider blockContent */ public function testContains($block, $ip_in, $block_in, $ip_not_in, $block_not_in) { $block = IPBlock::create($block); foreach ($ip_in as $ip) { $this->assertTrue($block->contains($ip), "{$block} contains {$ip}"); $this->assertTrue(IP::create($ip)->isIn($block), "{$ip} is in {$block}"); } foreach ($block_in as $ip) { $this->assertTrue($block->contains($ip), "{$block} contains {$ip}"); $this->assertFalse(IPBlock::create($ip)->contains($block), "{$ip} does not contain {$block}"); } foreach ($ip_not_in as $ip) { $this->assertFalse($block->contains($ip), "{$block} does not contain {$ip}"); $this->assertFalse(IP::create($ip)->isIn($block), "{$ip} is not in {$block}"); } foreach ($block_not_in as $ip) { $this->assertFalse($block->contains($ip), "{$ip} is not in {$block}"); } }
/** * Determine if the current block contains an IP address * * @param $ip mixed * @return bool */ public function containsIP($ip) { if (!$ip instanceof IP) { $ip = IP::create($ip); } return $ip->numeric() >= $this->getFirstIp()->numeric() && $ip->numeric() <= $this->getLastIp()->numeric(); }