$serviceid))->fetchAll(); } static function getIPPoolsForClient($clientid) { if(self::check() === false) { return array(); } return query::query('SELECT ip_manager_ip_pools.pool, ip_manager_ip_pools.mask FROM ip_manager_assigned_pools INNER JOIN ip_manager_ip_pools ON ip_manager_ip_pools.id = ip_manager_assigned_pools.pool_id INNER JOIN tblhosting ON tblhosting.id = ip_manager_assigned_pools.service_id WHERE tblhosting.userid = :userid', array('userid' => $clientid))->fetchAll(); } static function isIPInNetwork($ip, $net_addr, $net_mask = false) //ipv4 only { if($net_mask === false) { $ex = explode('/', $net_addr); $net_addr = $ex[0]; $net_mask = $ex[1]; } if($net_mask <= 0) { return false; } $ip_binary_string = sprintf("%032b", ip2long($ip)); $net_binary_string = sprintf("%032b", ip2long($net_addr)); return (substr_compare($ip_binary_string, $net_binary_string, 0, $net_mask) === 0); } }