Пример #1
0
 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'));
     }
 }
Пример #2
0
 /**
  * Saves ONU changes into database
  * 
  * @param int $onuId
  * @param int $onumodelid
  * @param int $oltid
  * @param string $ip
  * @param string $mac
  * @param string $serial
  * @param string $login
  * 
  * @return void
  */
 public function onuSave($onuId, $onumodelid, $oltid, $ip, $mac, $serial, $login)
 {
     $mac = strtolower($mac);
     $mac = trim($mac);
     $onuId = vf($onuId, 3);
     $onumodelid = vf($onumodelid, 3);
     $oltid = vf($oltid, 3);
     $ip = mysql_real_escape_string($ip);
     $mac = mysql_real_escape_string($mac);
     $serial = mysql_real_escape_string($serial);
     $login = mysql_real_escape_string($login);
     $login = trim($login);
     $where = " WHERE `id`='" . $onuId . "';";
     simple_update_field('pononu', 'onumodelid', $onumodelid, $where);
     simple_update_field('pononu', 'oltid', $oltid, $where);
     simple_update_field('pononu', 'ip', $ip, $where);
     if (!empty($mac)) {
         if (check_mac_format($mac)) {
             if ($this->checkMacUnique($mac)) {
                 simple_update_field('pononu', 'mac', $mac, $where);
             } else {
                 log_register('PON MACDUPLICATE TRY `' . $mac . '`');
             }
         } else {
             log_register('PON MACINVALID TRY `' . $mac . '`');
         }
     } else {
         log_register('PON MACEMPTY TRY `' . $mac . '`');
     }
     simple_update_field('pononu', 'serial', $serial, $where);
     simple_update_field('pononu', 'login', $login, $where);
     log_register('PON EDIT ONU [' . $onuId . ']');
 }
Пример #3
0
 /**
  * Format heximal mac address to decimal or show error
  * 
  * @param string $macOnu 
  * @return string
  */
 protected function MacHexToDec($macOnu)
 {
     if (check_mac_format($macOnu)) {
         $res = array();
         $args = explode(":", $macOnu);
         foreach ($args as $each) {
             $res[] = hexdec($each);
         }
         $string = implode(".", $res);
         return $string;
     } else {
         show_error("Wrong mac format (shoud be XX:XX:XX:XX:XX:XX)");
     }
 }
Пример #4
0
             $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 . ")");
     }
 }
Пример #5
0
 }
 $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;
                 //register user in stargazer
                 log_register("EXPRESSUSERREG(" . $newlogin . ") BEGIN");