Exemplo n.º 1
0
     }
     $inputs = wf_TextInput('gencount', __('Count of users to generate'), '', true);
     $inputs .= wf_Selector('gentariff', $alltariffs, __('Existing tariff for this users'), '', true);
     $inputs .= multinet_service_selector() . ' ' . __('Service for new users') . wf_tag('br');
     $inputs .= wf_CheckInput('fastsqlgen', __('Fast SQL Inserts - need to shutdown stargazer'), true, false);
     $inputs .= wf_Submit(__('Go!'));
     $result = wf_Form("", "POST", $inputs, 'glamour');
     show_window(__('Sample user generator'), $result);
 }
 web_UserGenForm();
 if (wf_CheckPost(array('gencount'))) {
     $neednum = $_POST['gencount'];
     $lastBuild = simple_query("SELECT * from `build` ORDER BY `id` DESC LIMIT 1");
     $lastBuildId = $lastBuild['id'];
     $serviceID = $_POST['serviceselect'];
     $netID = multinet_get_service_networkid($serviceID);
     $tariff = $_POST['gentariff'];
     if (!isset($_POST['fastsqlgen'])) {
         //normal user generation via standard stargazer API
         for ($i = 1; $i <= $neednum; $i++) {
             $randomLogin = '******' . zb_rand_string(10);
             $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;
             $randomIp = multinet_get_next_freeip('nethosts', 'ip', $netID);
             $randomFloor = rand(1, 9);
             $randomEntrance = rand(1, 4);
             //registering subroutine
Exemplo n.º 2
0
/**
 * Returns ajax ip proposal and control
 * 
 * @return void
 */
function ajax_IpEditForm($serviceid)
{
    $serviceid = vf($serviceid, 3);
    @($ip_proposal = multinet_get_next_freeip('nethosts', 'ip', multinet_get_service_networkid($serviceid)));
    $result = wf_TextInput('editip', '', $ip_proposal, false, '20');
    die($result);
}
Exemplo n.º 3
0
/**
 * 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);
    }
}
Exemplo n.º 4
0
     zb_UserPassportDataChange($login, $newbirthdate, $newpassportnum, $newpassportdate, $newpassportwho, $newpcity, $newpstreet, $newpbuild, $newpapt);
 }
 //tariff editing
 if (wf_CheckPost(array('edittariff'))) {
     $newtariff = $_POST['edittariff'];
     $billing->settariff($login, $newtariff);
     log_register('CHANGE Tariff (' . $login . ') ON ' . $newtariff);
 }
 //ip editing
 if (wf_CheckPost(array('editip'))) {
     $service = $_POST['serviceselect'];
     //if ip is not a same
     if ($service != 'SAME') {
         $currentip = zb_UserGetIP($login);
         $currentmac = zb_MultinetGetMAC($currentip);
         $newnetid = multinet_get_service_networkid($service);
         $newip = trim($_POST['editip']);
         $newip = mysql_real_escape_string($newip);
         @($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])) {
                 $billing->setip($login, $newip);
                 multinet_delete_host($currentip);
                 multinet_add_host($newnetid, $newip, $currentmac);
                 multinet_rebuild_all_handlers();
                 multinet_RestartDhcp();
                 log_register("CHANGE MultiNetIP (" . $login . ") FROM " . $currentip . " ON " . $newip);
             } else {
Exemplo n.º 5
0
 /**
  * Performs user changing IP subroutine
  * 
  * @global object $billing
  * @param int $serviceId
  * @param string $newIp
  * 
  * @return void/string
  */
 public function changeUserIp($serviceId, $newIp)
 {
     global $billing;
     $result = '';
     $serviceId = vf($serviceId, 3);
     $networkId = multinet_get_service_networkid($serviceId);
     if (isset($this->allServices[$serviceId])) {
         if (zb_ip_unique($newIp)) {
             if (!empty($this->currentIp)) {
                 if ($this->isNethostExists()) {
                     //force user disconnect
                     if ($this->billingCfg['RESET_AO']) {
                         $billing->setao($this->login, 0);
                     } else {
                         $billing->setdown($this->login, 1);
                     }
                     $billing->setip($this->login, $newIp);
                     multinet_delete_host($this->currentIp);
                     multinet_add_host($networkId, $newIp, $this->currentMac);
                     log_register("CHANGE MultiNetIP (" . $this->login . ") FROM " . $this->currentIp . " ON " . $newIp . "");
                     multinet_rebuild_all_handlers();
                     multinet_RestartDhcp();
                     //back teh user online
                     if ($this->billingCfg['RESET_AO']) {
                         $billing->setao($this->login, 1);
                     } else {
                         $billing->setdown($this->login, 0);
                     }
                 } else {
                     log_register("CHANGE FAIL MultiNetIP (" . $this->login . ") FROM " . $this->currentIp . " ON " . $newIp . " NO_NETHOST");
                     $result = __('No existing nethost for current IP');
                 }
             } else {
                 log_register("CHANGE FAIL MultiNetIP (" . $this->login . ") FROM " . $this->currentIp . " ON " . $newIp . " EMPTY_IP");
                 $result = __('Something went wrong') . ': ' . __('empty current IP');
             }
         } else {
             log_register("CHANGE FAIL MultiNetIP (" . $this->login . ") FROM " . $this->currentIp . " ON " . $newIp . " IP_DUPLICATE");
             $result = __('This IP is already used by another user');
         }
     } else {
         log_register("CHANGE FAIL MultiNetIP (" . $this->login . ") FROM " . $this->currentIp . " ON " . $newIp . " NO_SERVICE");
         $result = __('Unexistent service');
     }
     return $result;
 }
Exemplo n.º 6
0
     }
     $billing->setip($login, $new_free_ip);
     multinet_delete_host($current_ip);
     multinet_add_host($new_multinet_id, $new_free_ip, $current_mac);
     multinet_rebuild_all_handlers();
     multinet_RestartDhcp();
     //back teh user online
     if ($billingConf['RESET_AO']) {
         $billing->setao($login, 1);
     } else {
         $billing->setdown($login, 0);
     }
 }
 // primary module part
 if (isset($_POST['serviceselect'])) {
     $new_multinet_id = multinet_get_service_networkid($_POST['serviceselect']);
     @($new_free_ip = multinet_get_next_freeip('nethosts', 'ip', $new_multinet_id));
     if (empty($new_free_ip)) {
         $alert = wf_tag('script', false, '', 'type="text/javascript"') . 'alert("' . __('Error') . ': ' . __('No free IP available in selected pool') . '");' . wf_tag('script', true);
         print $alert;
         rcms_redirect("?module=multinet");
         die;
     }
     zb_IPChange($current_ip, $current_mac, $new_multinet_id, $new_free_ip, $login);
     log_register("CHANGE MultiNetIP (" . $login . ") FROM " . $current_ip . " ON " . $new_free_ip . "");
     rcms_redirect("?module=pl_ipchange&username="******"both" />');
     show_window(__('Change user IP'), web_IPChangeFormService());
     show_window(__('IP usage stats'), web_FreeIpStats());
 }
Exemplo n.º 7
0
 $newip = $_POST['editip'];
 $newip = mysql_real_escape_string($newip);
 $newpassword = zb_RegPasswordProposal();
 $newsurname = $_POST['newsurname'];
 $newname = $_POST['newname'];
 $newpatronymic = $_POST['newpatronymic'];
 $normalRealName = $newsurname . ' ' . $newname . ' ' . $newpatronymic;
 $newnotes = $_POST['newnotes'];
 //filter login, and check for unique
 $newlogin = $_POST['newlogin'];
 $newlogin = vf($newlogin);
 if (!empty($newlogin)) {
     $logincheck = simple_query("SELECT `login` from `users` WHERE `login`='" . $newlogin . "'");
     if (!$logincheck) {
         $newserviceid = $_POST['serviceselect'];
         $newnetid = multinet_get_service_networkid($newserviceid);
         //check apt data
         $newcityid = $_POST['citybox'];
         $newstreetid = $_POST['streetbox'];
         $newbuildid = $_POST['buildbox'];
         $newaptnum = $_POST['createapt'];
         $newentrance = $_POST['createentrance'];
         $newfloor = $_POST['createfloor'];
         //check passport data
         if (!@$_POST['custompaddress']) {
             $newpcity = $_POST['newpcity'];
             $newpstreet = $_POST['newpstreet'];
             $newpbuild = $_POST['newpbuild'];
             $newpapt = $_POST['newpapt'];
         } else {
             //use the same passport address