Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/php
- <?
- $script = $_SERVER['SCRIPT_NAME'];
- //Коннект к URFA
- $UTMCore_Login='xxxxxxxx';
- $UTMCore_Password='xxxxxxxxx';
- $UTMCoreHost='127.0.0.1';
- $UTMCorePort='11758';
- //Коннект через urfa
- require_once("urfa/URFAClient.php");
- $logs_dir = "/utm/logs";
- //Коннект напрямую к Pg SQL базе
- $UTM['login'] = 'zzzzz';
- $UTM['pass'] = 'zzzzzzzz';
- $UTM['host'] = 'localhost';
- $dbconn = pg_connect("host=".$UTM['host']." dbname=UTM5 user=".$UTM['login']." password=".$UTM['pass'])
- or die("Ошибка на сервере, невозможно подключиться к базе UTM");
- $query="
- SELECT u.login, u.id
- FROM service_links as s, users as u
- WHERE s.is_deleted = 0 AND u.basic_account = s.account_id
- GROUP BY s.account_id, u.id, login HAVING count(s.service_id) = 1
- ORDER BY account_id";
- $query = pg_query($query) or die('Query failed: ' . pg_last_error());
- while($users = pg_fetch_array($query, null, PGSQL_ASSOC)){
- // парсер лога
- $q_log = "SELECT 1 FROM log_connect WHERE username = '".$users['login']."' LIMIT 1";
- $q_log_res = pg_query($q_log) or die('Query failed: ' . pg_last_error());
- //условие если юзер подключился
- $q_log = pg_fetch_array($q_log_res, null, PGSQL_ASSOC);
- print_r($q_log);
- if(!$q_log){pg_free_result($q_log_res);continue;}
- blob_connect();
- $id = $users['id']; // Просто чувак
- $user_id = $urfa_admin->rpcf_get_userinfo($id);//0x2006
- $account_id = $urfa_admin->rpcf_get_accountinfo($user_id['basic_account']);
- $user_tariffs = $urfa_admin->rpcf_get_user_tariffs($id); //0x3017 <-- список тарифов 1 абонента
- $tariff_id = $urfa_admin->rpcf_get_tariff($user_tariffs['user_tariffs']['0']['current_tariff']); //0x3011
- $need_period_id = 1; // По умолчанию 1 (не трогать)
- $tariff_current=$user_tariffs['user_tariffs']['0']['current_tariff']; //id тарифа
- $urfa_next_tariff=$tariff_current;
- //Получаем номер расчётного периода по ID прописаном в конфиге
- blob_connect();
- $disper = $urfa_admin->rpcf_get_discount_periods() ; //0x2600
- foreach ($disper['discount_periods'] as $periods){
- if($periods['static_id'] == $need_period_id){$discount_period_id = $periods['discount_period_id'];break;}
- }
- $srv_count_in_tarif = count($tariff_id['services']);
- $service = array();
- $service['user_id'] = $id;
- $service['account_id'] = $user_id['basic_account'];
- for($srv_i = 0; $srv_i < $srv_count_in_tarif; $srv_i++) {
- if($tariff_id['services'][$srv_i]['service_type'] == 2){
- $service['service_id'] = $tariff_id['services'][$srv_i]['service_id'];
- }
- }
- $service['discount_period_id']= $discount_period_id;
- $service['return_type'] = 'integer_return';
- $service['service_type'] = 2;
- $service['tariff_link_id'] = $user_tariffs['user_tariffs'][0]['tariff_link_id'];
- $service['slink_id'] = 0;
- // $service['is_blocked'] = 0;
- $service['start_date'] = time();
- $service['expire_date'] = mktime(0,0,0,1,1,2020); // 2000000000 предел;
- $service['unabon'] = 1;
- $service['unprepay'] = 1;
- blob_connect();$added_srv = $urfa_admin->rpcf_add_service_to_user($service); // <-- запись в базу UTM
- logging(print_r($service, true), $added_srv['slink_id']);
- pg_free_result($q_log_res);
- }
- function logging($param, $par2){
- global $logs_dir;
- $n_date = date("Y-m-d");
- file_put_contents("$logs_dir/chksrvc_$n_date.log", "---=(".date("H:i:s").")=---\n$param $par2\n\n", FILE_APPEND);
- }
- function blob_connect(){
- global $urfa_user5, $urfa_admin, $UTMCore_Login, $UTMCore_Password, $UTMCoreHost, $UTMCorePort;
- try {
- $urfa_admin = new URFAClient_Admin($UTMCore_Login, $UTMCore_Password);
- } catch (Exception $exception) {
- echo "Error in line ", $exception->getLine();
- echo $exception->getMessage();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement