function zb_AnnihilateUser($login) { global $billing; $alter_conf = rcms_parse_ini_file(CONFIG_PATH . "alter.ini"); $user_ip = zb_UserGetIP($login); $user_aptdata = zb_AddressGetAptData($login); @($user_aptid = $user_aptdata['aptid']); zb_AddressDeleteApartment($user_aptid); zb_AddressOrphanUser($login); zb_UserDeleteEmail($login); zb_UserDeleteNotes($login); zb_UserDeletePhone($login); zb_UserDeleteRealName($login); zb_UserDeleteSpeedOverride($login); if (!$alter_conf['STRICT_CONTRACTS_PROTECT']) { zb_UserDeleteContract($login); } zb_VserviceCashClear($login); log_register("DELETE VCASH (" . $login . ")"); cf_FlushAllUserCF($login); zb_FlushAllUserTags($login); vlan_delete_host($login); multinet_delete_host($user_ip); multinet_rebuild_all_handlers(); //destroy stargazer user $billing->deleteuser($login); log_register("StgUser DELETE (" . $login . ")"); }
function zb_SpeedControlGetOverrideUsers() { $query = "SELECT `login` from `userspeeds` WHERE `speed` NOT LIKE '0'"; $alloverrides = simple_queryall($query); $result = array(); if (!empty($alloverrides)) { foreach ($alloverrides as $io => $eachoverride) { $result[] = $eachoverride; } } return $result; } function zb_SpeedControlFix($login) { } //fixing speed override if (isset($_GET['fix'])) { $login = vf($_GET['fix']); $speed = 0; zb_UserDeleteSpeedOverride($login); zb_UserCreateSpeedOverride($login, $speed); log_register("SPEEDFIX (" . $login . ")"); $billing->resetuser($login); log_register("RESET User (" . $login . ")"); rcms_redirect("?module=speedcontrol"); } $alloverrides = zb_SpeedControlGetOverrideUsers(); show_window(__('Users with speed overrides'), web_UsersLister($alloverrides)); } else { show_error(__('You cant control this module')); }
/** * Performs available tasks processing * * @return void */ public function tasksProcessing() { global $billing; $curdate = curdate(); $rawUsers = zb_UserGetAllStargazerData(); $allUsers = array(); if (!empty($rawUsers)) { foreach ($rawUsers as $io => $each) { $allUsers[$each['login']] = $each; } } if (!empty($this->allTasks)) { foreach ($this->allTasks as $io => $each) { if ($each['date'] == $curdate) { if (isset($allUsers[$each['login']])) { $login = $each['login']; $param = $each['param']; switch ($each['action']) { case 'addcash': zb_CashAdd($login, $param, 'add', 1, 'SCHEDULED'); break; case 'corrcash': zb_CashAdd($login, $param, 'correct', 1, 'SCHEDULED'); break; case 'setcash': zb_CashAdd($login, $param, 'set', 1, 'SCHEDULED'); break; case 'credit': $billing->setcredit($login, $param); log_register('CHANGE Credit (' . $login . ') ON ' . $param); break; case 'creditexpire': $billing->setcreditexpire($login, $param); log_register('CHANGE CreditExpire (' . $login . ') ON ' . $param); break; case 'tariffchange': $billing->settariff($login, $param); log_register('CHANGE Tariff (' . $login . ') ON `' . $param . '`'); //optional user reset if ($this->altCfg['TARIFFCHGRESET']) { $billing->resetuser($login); log_register('RESET User (' . $login . ')'); } break; case 'tagadd': stg_add_user_tag($login, $param); break; case 'tagdel': stg_del_user_tagid($login, $param); break; case 'freeze': $billing->setpassive($login, 1); log_register('CHANGE Passive (' . $login . ') ON 1'); break; case 'unfreeze': $billing->setpassive($login, 0); log_register('CHANGE Passive (' . $login . ') ON 0'); break; case 'reset': $billing->resetuser($login); log_register('RESET User (' . $login . ')'); break; case 'setspeed': zb_UserDeleteSpeedOverride($login); zb_UserCreateSpeedOverride($login, $param); $billing->resetuser($login); log_register("RESET User (" . $login . ")"); break; case 'down': $billing->setdown($login, 1); log_register('CHANGE Down (' . $login . ') ON 1'); break; case 'undown': $billing->setdown($login, 0); log_register('CHANGE Down (' . $login . ') ON 0'); break; case 'ao': $billing->setao($login, 1); log_register('CHANGE AlwaysOnline (' . $login . ') ON 1'); break; case 'unao': $billing->setao($login, 0); log_register('CHANGE AlwaysOnline (' . $login . ') ON 0'); break; } //flush task from database $this->setTaskIsDone($each['id']); } else { log_register('SCHEDULER FAIL ID [' . $taskId . '] USER (' . $each['login'] . ') NON EXISTS'); $this->deleteTask($taskId); } } } } }