} else { //no free IPs left in network $alert = ' <script type="text/javascript"> alert("' . __('Error') . ': ' . __('No free IP available in selected pool') . '"); </script> '; die($alert); } } } //editing MAC if (wf_CheckPost(array('editmac'))) { $mac = trim($_POST['editmac']); //check mac for free if (multinet_mac_free($mac)) { //validate mac format if (check_mac_format($mac)) { $ip = zb_UserGetIP($login); $old_mac = zb_MultinetGetMAC($ip); multinet_change_mac($ip, $mac); log_register("MAC CHANGE (" . $login . ") " . $ip . " FROM " . $old_mac . " ON " . $mac); multinet_rebuild_all_handlers(); } else { //show error when MAC haz wrong format show_window(__('Error'), __('This MAC have wrong format')); //debuglog log_register("MACINVALID TRY (" . $login . ")"); } } else { log_register("MACDUPLICATE TRY (" . $login . ")");
function docsis_ModemAdd($maclan) { $maclan = mysql_real_escape_string($maclan); //random mac for usb $macusb = '14:' . '88' . ':' . rand(10, 99) . ':' . rand(10, 99) . ':' . rand(10, 99) . ':' . rand(10, 99); $altercfg = rcms_parse_ini_file(CONFIG_PATH . '/alter.ini'); $netid = $altercfg['DOCSIS_MODEM_NETID']; $nextfreeip = multinet_get_next_freeip('nethosts', 'ip', $netid); $note = ''; $userbind = ''; $basetemplate = 'short'; $date = curdate(); //check for free ip in subnet if (!empty($nextfreeip)) { $nic = str_replace('.', 'x', $nextfreeip); //check is mac unique? if (multinet_mac_free($maclan) and check_mac_format($maclan)) { $query = "INSERT INTO `modems` (\n `id` ,\n `maclan` ,\n `macusb` ,\n `date` ,\n `ip` ,\n `conftemplate` ,\n `userbind` ,\n `nic` ,\n `note`\n )\n VALUES (\n NULL , '" . $maclan . "', '" . $maclan . "', '" . $date . "', '" . $nextfreeip . "', '" . $basetemplate . "', '' , '" . $nic . "', ''\n );"; nr_query($query); $lastid = simple_get_lastid('modems'); log_register("DOCSIS MODEM ADD MAC" . $maclan . " IP " . $nextfreeip . "[" . $lastid . "]"); multinet_add_host($netid, $nextfreeip, $maclan, ''); multinet_rebuild_all_handlers(); rcms_redirect("?module=docsis&showmodem=" . $lastid); } else { show_window(__('Error'), __('This MAC is currently used') . ' ' . __('This MAC have wrong format')); } } else { show_window(__('Error'), __('No free IP available in selected pool')); } }
$newpbuild = $buildnum; $newpapt = $newaptnum; } $newpassportdate = $_POST['newpassportdate']; $newpassportnum = $_POST['newpassportnum']; $newpassportwho = $_POST['newpassportwho']; //check is ip acceptable for this pool? @($checkfreeip = multinet_get_next_freeip('nethosts', 'ip', $newnetid)); if (!empty($checkfreeip)) { //check is ip acceptable for this pool? $allfreeips = multinet_get_all_free_ip('nethosts', 'ip', $newnetid); $allfreeips = array_flip($allfreeips); if (isset($allfreeips[$newip])) { //MAC address check $newmac = trim($_POST['newmac']); if (multinet_mac_free($newmac)) { //validate mac format if (check_mac_format($newmac)) { /* all is good with critycal data * lets begin the collect new userdata and registering user */ $newuser_data['city'] = $newcityid; $newuser_data['street'] = $newstreetid; $newuser_data['build'] = $newbuildid; $newuser_data['entrance'] = $newentrance; $newuser_data['floor'] = $newfloor; $newuser_data['apt'] = $newaptnum; $newuser_data['service'] = $newserviceid; $newuser_data['IP'] = $newip; $newuser_data['login'] = $newlogin; $newuser_data['password'] = $newpassword;