Пример #1
0
 $tmp = explode(',', $nodeedit['permit']);
 if (count($tmp) > 3) {
     $error['permit'] = 'Zbyt duża ilość wpisów!';
 } else {
     $toadd = array();
     foreach ($tmp as $val) {
         $val = trim($val);
         if (strpos($val, '/') === FALSE) {
             if (!check_ip($val)) {
                 $error['permit'] = 'Błędny adres IP';
             } else {
                 $toadd[] = $val;
             }
         } else {
             $tmp2 = explode('/', $val);
             $netaddr = getnetaddr($tmp2[0], prefix2mask($tmp2[1]));
             if (!$netaddr || $tmp2[1] > 32 || $tmp2[1] < 8) {
                 $error['permit'] = 'Błędny adres IP';
             } else {
                 $toadd[] = $netaddr . '/' . $tmp2[1];
             }
         }
     }
     if (count($toadd) == 1) {
         $nodeedit['permit'] = $toadd[0];
     } else {
         if (!empty($toadd)) {
             $nodeedit['permit'] = implode(';', $toadd);
         }
     }
 }
Пример #2
0
function isipinstrict($ip, $net, $mask)
{
    if (ip_long($ip) >= ip_long(getnetaddr($net, $mask)) && ip_long($ip) <= ip_long(getbraddr($net, $mask))) {
        return true;
    } else {
        return false;
    }
}
Пример #3
0
		else
			if(!isipin($networkdata['gateway'],getnetaddr($networkdata['address'],prefix2mask($networkdata['prefix'])),prefix2mask($networkdata['prefix'])))
				$error['gateway'] =  trans('Specified gateway address does not match with network address!');

	if($networkdata['dhcpstart']!='')
		if(!check_ip($networkdata['dhcpstart']))
			$error['dhcpstart'] = trans('Incorrect IP address for DHCP range start!');
		else
			if(!isipin($networkdata['dhcpstart'],getnetaddr($networkdata['address'],prefix2mask($networkdata['prefix'])),prefix2mask($networkdata['prefix'])) && $networkdata['address']!='')
				$error['dhcpstart'] = trans('IP address for DHCP range start does not match with network address!');

	if($networkdata['dhcpend']!='')
		if(!check_ip($networkdata['dhcpend']))
			$error['dhcpend'] =  trans('Incorrect IP address for DHCP range end!');
		else
			if(!isipin($networkdata['dhcpend'],getnetaddr($networkdata['address'],prefix2mask($networkdata['prefix'])),prefix2mask($networkdata['prefix'])) && $networkdata['address']!='')
				$error['dhcpend'] = trans('IP address for DHCP range end does not match with network address!');
	
	if(!isset($error['dhcpstart']) && !isset($error['dhcpend']))
	{
		if(($networkdata['dhcpstart']!='' && $networkdata['dhcpend']=='')||($networkdata['dhcpstart']=='' && $networkdata['dhcpend']!=''))
			$error['dhcpend'] = trans('Both IP addresses for DHCP range are required!');
		if($networkdata['dhcpstart']!='' && $networkdata['dhcpend']!='' && !(ip_long($networkdata['dhcpend']) >= ip_long($networkdata['dhcpstart'])))
			$error['dhcpend'] = trans('End of DHCP range has to be equal or greater than start!');
	}
	
	if(!$error)
	{
	        if(isset($networkdata['needshft']) && $networkdata['needshft'])
		        $LMS->NetworkShift($network['address'],$network['mask'],$networkdata['addresslong'] - $network['addresslong']);
Пример #4
0
         $error['gateway'] = trans('Incorrect gateway IP address!');
     } elseif (!isipin($netadd['gateway'], getnetaddr($netadd['address'], prefix2mask($netadd['prefix'])), prefix2mask($netadd['prefix']))) {
         $error['gateway'] = trans('Specified gateway address does not match with network address!');
     }
 }
 if ($netadd['dhcpstart'] != '') {
     if (!check_ip($netadd['dhcpstart'])) {
         $error['dhcpstart'] = trans('Incorrect IP address for DHCP range start!');
     } elseif (!isipin($netadd['dhcpstart'], getnetaddr($netadd['address'], prefix2mask($netadd['prefix'])), prefix2mask($netadd['prefix'])) && $netadd['address'] != '') {
         $error['dhcpstart'] = trans('IP address for DHCP range start does not match with network address!');
     }
 }
 if ($netadd['dhcpend'] != '') {
     if (!check_ip($netadd['dhcpend'])) {
         $error['dhcpend'] = trans('Incorrect IP address for DHCP range end!');
     } elseif (!isipin($netadd['dhcpend'], getnetaddr($netadd['address'], prefix2mask($netadd['prefix'])), prefix2mask($netadd['prefix'])) && $netadd['address'] != '') {
         $error['dhcpend'] = trans('IP address for DHCP range end does not match with network address!');
     }
 }
 if (!isset($error['dhcpstart']) && !isset($error['dhcpend'])) {
     if ($netadd['dhcpstart'] != '' && $netadd['dhcpend'] == '' || $netadd['dhcpstart'] == '' && $netadd['dhcpend'] != '') {
         $error['dhcpend'] = trans('Both IP addresses for DHCP range are required!');
     }
     if ($netadd['dhcpstart'] != '' && $netadd['dhcpend'] != '' && !(ip_long($netadd['dhcpend']) >= ip_long($netadd['dhcpstart']))) {
         $error['dhcpend'] = trans('End of DHCP range has to be equal or greater than start!');
     }
 }
 if (!empty($netadd['ownerid']) && !$LMS->CustomerExists($netadd['ownerid'])) {
     $error['ownerid'] = trans('Customer with the specified ID does not exist');
 }
 if (!$error) {
Пример #5
0
 public function GetNetworkPageForIp($netid, $ip)
 {
     $netmask = $this->db->GetOne('SELECT mask FROM networks WHERE id = ?', array($netid));
     $net = ip_long(getnetaddr($ip, $netmask));
     $ip = ip_long($ip);
     $page = floor(($ip - $net) / ConfigHelper::getConfig('phpui.networkhosts_pagelimit')) + 1;
     return $page;
 }