$netid = $iopts['netid']; //Ubilling normal registration mode if ($iopts['regtype'] == 'UB') { $billing->createuser($login); log_register("StgUser REGISTER " . $login); $billing->setpassword($login, $password); log_register("StgUser PASSWORD " . $password); $billing->setip($login, $ip); log_register("StgUser IP " . $ip); multinet_add_host($netid, $ip); zb_UserCreateRealName($login, $user['realname']); zb_UserCreatePhone($login, $user['phone'], $user['mobile']); zb_UserCreateContract($login, $user['contract']); zb_UserCreateEmail($login, $user['email']); zb_UserCreateSpeedOverride($login, 0); multinet_change_mac($ip, $user['mac']); multinet_rebuild_all_handlers(); $billing->setao($login, $user['ao']); $dstat = 1; $billing->setdstat($login, $dstat); $billing->setdown($login, $user['down']); $billing->setpassive($login, $user['passive']); $billing->settariff($login, $user['tariff']); $billing->setcredit($login, $user['credit']); $billing->setcash($login, $user['cash']); zb_UserCreateNotes($login, $user['address']); } if ($iopts['regtype'] == 'SQL') { $querybuff .= "\n INSERT INTO `users` (\n `login`,\n `Password`,\n `Passive`,\n `Down`,\n `DisabledDetailStat`,\n `AlwaysOnline`,\n `Tariff`,\n `Address`,\n `Phone`,\n `Email`,\n `Note`,\n `RealName`,\n `StgGroup`,\n `Credit`,\n `TariffChange`,\n `Userdata0`,\n `Userdata1`,\n `Userdata2`,\n `Userdata3`,\n `Userdata4`,\n `Userdata5`,\n `Userdata6`,\n `Userdata7`,\n `Userdata8`,\n `Userdata9`,\n `CreditExpire`,\n `IP`,\n `D0`,\n `U0`,\n `D1`,\n `U1`,\n `D2`,\n `U2`,\n `D3`,\n `U3`,\n `D4`,\n `U4`,\n `D5`,\n `U5`, \n `D6`, \n `U6`,\n `D7`, \n `U7`, \n `D8`,\n `U8`,\n `D9`,\n `U9`,\n `Cash`,\n `FreeMb`,\n `LastCashAdd`,\n `LastCashAddTime`,\n `PassiveTime`,\n `LastActivityTime`,\n `NAS`)\n VALUES (\n '" . $login . "',\n '" . $password . "',\n '" . $user['passive'] . "',\n '" . $user['down'] . "',\n '1',\n '" . $user['ao'] . "',\n '" . $user['tariff'] . "',\n '',\n '',\n '',\n '',\n '',\n '',\n '" . $user['credit'] . "',\n '', \n '',\n '',\n '',\n '', \n '', \n '', \n '', \n '',\n '', \n '', \n '" . $user['creditex'] . "',\n '" . $ip . "',\n '0',\n '0',\n '0',\n '0',\n '0', \n '0',\n '0',\n '0', \n '0',\n '0',\n '0',\n '0',\n '0', \n '0',\n '0',\n '0', \n '0', \n '0', \n '0', \n '0', \n '" . $user['cash'] . "',\n '0',\n '0', \n '0',\n '0', \n '0',\n '');\n " . "\n"; //multinet $querybuff .= "INSERT INTO `nethosts` (`id`,`netid`,`ip`,`mac`,`option`) VALUES ('', '" . $netid . "' ,'" . $ip . "', '" . $user['mac'] . "', '');" . "\n";
$randomPassword = zb_rand_string(8); $randomName = $names[array_rand($names)] . ' ' . $surnames[array_rand($surnames)]; $randomPhone = rand(111111, 999999); $randomMobile = '380' . rand(1111111, 9999999); $randomMac = '14:' . '88' . ':' . rand(10, 99) . ':' . rand(10, 99) . ':' . rand(10, 99) . ':' . rand(10, 99); $randomApt = $i; $randomCash = rand(0, 500); $randomIp = multinet_get_next_freeip('nethosts', 'ip', $netID); $randomFloor = rand(1, 9); $randomEntrance = rand(1, 4); //registering subroutine $querybuff = "\n INSERT INTO `users` (\n `login`,\n `Password`,\n `Passive`,\n `Down`,\n `DisabledDetailStat`,\n `AlwaysOnline`,\n `Tariff`,\n `Address`,\n `Phone`,\n `Email`,\n `Note`,\n `RealName`,\n `StgGroup`,\n `Credit`,\n `TariffChange`,\n `Userdata0`,\n `Userdata1`,\n `Userdata2`,\n `Userdata3`,\n `Userdata4`,\n `Userdata5`,\n `Userdata6`,\n `Userdata7`,\n `Userdata8`,\n `Userdata9`,\n `CreditExpire`,\n `IP`,\n `D0`,\n `U0`,\n `D1`,\n `U1`,\n `D2`,\n `U2`,\n `D3`,\n `U3`,\n `D4`,\n `U4`,\n `D5`,\n `U5`, \n `D6`, \n `U6`,\n `D7`, \n `U7`, \n `D8`,\n `U8`,\n `D9`,\n `U9`,\n `Cash`,\n `FreeMb`,\n `LastCashAdd`,\n `LastCashAddTime`,\n `PassiveTime`,\n `LastActivityTime`,\n `NAS`)\n VALUES (\n '" . $randomLogin . "',\n '" . $randomPassword . "',\n '0',\n '0',\n '1',\n '1',\n '" . $tariff . "',\n '',\n '',\n '',\n '',\n '',\n '',\n '0',\n '', \n '',\n '',\n '',\n '', \n '', \n '', \n '', \n '',\n '', \n '', \n '0',\n '" . $randomIp . "',\n '0',\n '0',\n '0',\n '0',\n '0', \n '0',\n '0',\n '0', \n '0',\n '0',\n '0',\n '0',\n '0', \n '0',\n '0',\n '0', \n '0', \n '0', \n '0', \n '0', \n '" . $randomCash . "',\n '0',\n '0', \n '0',\n '0', \n '0',\n '');\n "; //push da query! nr_query($querybuff); zb_AddressCreateApartment($lastBuildId, $randomEntrance, $randomFloor, $randomApt); zb_AddressCreateAddress($randomLogin, zb_AddressGetLastid()); multinet_add_host($netID, $randomIp); zb_UserCreateRealName($randomLogin, $randomName); zb_UserCreatePhone($randomLogin, $randomPhone, $randomMobile); zb_UserCreateContract($randomLogin, ''); zb_UserCreateEmail($randomLogin, ''); zb_UserCreateSpeedOverride($randomLogin, 0); multinet_change_mac($randomIp, $randomMac); zb_UserRegisterLog($randomLogin); log_register("SAMPLE GENERATION OF (" . $randomLogin . ") DONE"); } } } } else { show_error(__('Permission denied')); }
</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 . ")"); } } //editing notes if (wf_CheckPost(array('editnotes'))) { $newnotes = $_POST['editnotes'];
/** * Performs an user registration * * @global object $billing * @param array $user_data * @param bool $goprofile */ function zb_UserRegister($user_data, $goprofile = true) { global $billing; // Init all of needed user data $login = vf($user_data['login']); $login = zb_RegLoginFilter($login); $password = vf($user_data['password']); $ip = $user_data['IP']; $cityid = $user_data['city']; $streetid = $user_data['street']; $buildid = $user_data['build']; @($entrance = $user_data['entrance']); @($floor = $user_data['floor']); $apt = $user_data['apt']; $serviceid = $user_data['service']; $netid = multinet_get_service_networkid($serviceid); $busylogins = zb_AllBusyLogins(); //check login lenght $maxStLen = 42; $loginLen = strlen($login); if ($loginLen > $maxStLen) { log_register("HUGELOGIN REGISTER TRY (" . $login . ")"); $alert = __('Attention generated login longer than') . ' ' . $maxStLen . ' ' . __('bytes') . '. (' . $login . ' > ' . $loginLen . ') ' . __('And is not compatible with Stargazer') . '.'; die($alert); } // empty login validation if (empty($login)) { $alert = wf_tag('script', false, '', 'type="text/javascript"'); $alert .= 'alert("' . __('Error') . ': ' . __('Empty login') . '");'; $alert .= wf_tag('script', true); print $alert; rcms_redirect("?module=userreg"); die; } //duplicate login validation if (isset($busylogins[$login])) { $alert = wf_tag('script', false, '', 'type="text/javascript"'); $alert .= 'alert("' . __('Error') . ': ' . __('Duplicate login') . '");'; $alert .= wf_tag('script', true); print $alert; rcms_redirect("?module=userreg"); die; } //last check if (!zb_ip_unique($ip)) { $alert = wf_tag('script', false, '', 'type="text/javascript"'); $alert .= 'alert("' . __('Error') . ': ' . __('This IP is already used by another user') . '");'; $alert .= wf_tag('script', true); print $alert; rcms_redirect("?module=userreg"); die; } // registration subroutine $billing->createuser($login); log_register("StgUser REGISTER (" . $login . ")"); $billing->setpassword($login, $password); log_register("StgUser (" . $login . ") PASSWORD `" . $password . "`"); $billing->setip($login, $ip); log_register("StgUser (" . $login . ") IP `" . $ip . "`"); zb_AddressCreateApartment($buildid, $entrance, $floor, $apt); zb_AddressCreateAddress($login, zb_AddressGetLastid()); multinet_add_host($netid, $ip); zb_UserCreateRealName($login, ''); zb_UserCreatePhone($login, '', ''); zb_UserCreateContract($login, ''); zb_UserCreateEmail($login, ''); zb_UserCreateSpeedOverride($login, 0); zb_UserRegisterLog($login); // if random mac needed $billingconf = rcms_parse_ini_file(CONFIG_PATH . '/billing.ini'); $alterconf = rcms_parse_ini_file(CONFIG_PATH . "alter.ini"); if ($billingconf['REGRANDOM_MAC']) { // funny random mac, yeah? :) $mac = '14:' . '88' . ':' . rand(10, 99) . ':' . rand(10, 99) . ':' . rand(10, 99) . ':' . rand(10, 99); multinet_change_mac($ip, $mac); multinet_rebuild_all_handlers(); } // if AlwaysOnline to new user needed if ($billingconf['REGALWONLINE']) { $alwaysonline = 1; $billing->setao($login, $alwaysonline); log_register('CHANGE AlwaysOnline (' . $login . ') ON ' . $alwaysonline); } // if we want to disable detailed stats to new user by default if ($billingconf['REGDISABLEDSTAT']) { $dstat = 1; $billing->setdstat($login, $dstat); log_register('CHANGE dstat (' . $login . ') ON ' . $dstat); } //set contract same as login for this user if (isset($alterconf['CONTRACT_SAME_AS_LOGIN'])) { if ($alterconf['CONTRACT_SAME_AS_LOGIN']) { $newUserContract = $login; zb_UserChangeContract($login, $newUserContract); } } //cemetery processing if (isset($alterconf['CEMETERY_ENABLED'])) { if ($alterconf['CEMETERY_ENABLED']) { if ($alterconf['CEMETERY_ENABLED'] == 2) { $cemetery = new Cemetery(false); $cemetery->setDead($login); } } } //contract autogeneration if (isset($alterconf['CONTRACT_AUTOGEN'])) { if ($alterconf['CONTRACT_AUTOGEN']) { $contract_proposal = ''; $allcontracts = zb_UserGetAllContracts(); $top_offset = 100000; //contract generation mode default if ($alterconf['CONTRACT_GENERATION_DEFAULT']) { for ($i = 1; $i < $top_offset; $i++) { if (!isset($allcontracts[$i])) { $contract_proposal = $i; break; } } } else { //alternate generation method $max_contract = max(array_keys($allcontracts)); $contract_proposal = $max_contract + 1; } //setting generated contract to new user if (!isset($allcontracts[$contract_proposal])) { $contractDate = date("Y-m-d"); zb_UserChangeContract($login, $contract_proposal); zb_UserContractDateCreate($contract_proposal, $contractDate); } } } /////////////////////////////////// if ($goprofile) { rcms_redirect("?module=userprofile&username=" . $login); } }
//register user in stargazer log_register("EXPRESSUSERREG(" . $newlogin . ") BEGIN"); zb_UserRegister($newuser_data, false); //update misc data zb_UserChangeRealName($newlogin, $normalRealName); zb_UserChangeEmail($newlogin, $newemail); zb_UserChangePhone($newlogin, $newphone); zb_UserChangeMobile($newlogin, $newmobile); zb_UserDeleteNotes($newlogin); zb_UserCreateNotes($newlogin, $newnotes); zb_UserChangeContract($newlogin, $newcontract); zb_UserContractDateCreate($newcontract, $newcontractdate); zb_UserPassportDataCreate($newlogin, $newbirthdate, $newpassportnum, $newpassportdate, $newpassportwho, $newpcity, $newpstreet, $newpbuild, $newpapt); $billing->settariff($newlogin, $newtariff); log_register('CHANGE Tariff (' . $newlogin . ') ON ' . $newtariff); multinet_change_mac($newip, $newmac); log_register("MAC CHANGE (" . $newlogin . ") " . $newip . " ON " . $newmac); multinet_rebuild_all_handlers(); //finally reset user $billing->resetuser($newlogin); log_register("RESET User (" . $newlogin . ")"); log_register("EXPRESSUSERREG (" . $newlogin . ") END"); rcms_redirect("?module=userprofile&username=" . $newlogin); /* * End of express userreg subroutine */ } else { show_window(__('Error'), __('This MAC have wrong format')); } } else { show_window(__('Error'), __('This MAC is currently used'));