$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); } } }
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; } }
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']);
$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) {
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; }