Advertisement
Guest User

Untitled

a guest
Nov 18th, 2010
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.95 KB | None | 0 0
  1. #!/usr/bin/php
  2. <?
  3. $script = $_SERVER['SCRIPT_NAME'];
  4.  
  5. //Коннект к URFA
  6. $UTMCore_Login='xxxxxxxx';
  7. $UTMCore_Password='xxxxxxxxx';
  8. $UTMCoreHost='127.0.0.1';
  9. $UTMCorePort='11758';
  10. //Коннект через urfa
  11. require_once("urfa/URFAClient.php");
  12.  
  13. $logs_dir = "/utm/logs";
  14.  
  15. //Коннект напрямую к Pg SQL базе
  16. $UTM['login'] = 'zzzzz';
  17. $UTM['pass']  = 'zzzzzzzz';
  18. $UTM['host']  = 'localhost';
  19. $dbconn = pg_connect("host=".$UTM['host']." dbname=UTM5 user=".$UTM['login']." password=".$UTM['pass'])
  20.  or die("Ошибка на сервере, невозможно подключиться к базе UTM");
  21.  
  22. $query="
  23.     SELECT u.login, u.id
  24.     FROM service_links as s, users as u
  25.     WHERE s.is_deleted = 0 AND u.basic_account = s.account_id
  26.     GROUP BY s.account_id, u.id, login HAVING count(s.service_id) = 1
  27.     ORDER BY account_id";
  28. $query = pg_query($query) or die('Query failed: ' . pg_last_error());
  29. while($users = pg_fetch_array($query, null, PGSQL_ASSOC)){
  30.  
  31.     // парсер лога
  32.     $q_log = "SELECT 1 FROM log_connect WHERE username = '".$users['login']."' LIMIT 1";
  33.     $q_log_res = pg_query($q_log) or die('Query failed: ' . pg_last_error());
  34.     //условие если юзер подключился
  35.     $q_log = pg_fetch_array($q_log_res, null, PGSQL_ASSOC);
  36.     print_r($q_log);
  37.     if(!$q_log){pg_free_result($q_log_res);continue;}
  38.  
  39.  
  40.     blob_connect();
  41.     $id = $users['id']; // Просто чувак
  42.     $user_id = $urfa_admin->rpcf_get_userinfo($id);//0x2006
  43.     $account_id = $urfa_admin->rpcf_get_accountinfo($user_id['basic_account']);
  44.     $user_tariffs = $urfa_admin->rpcf_get_user_tariffs($id); //0x3017 <-- список тарифов 1 абонента
  45.     $tariff_id = $urfa_admin->rpcf_get_tariff($user_tariffs['user_tariffs']['0']['current_tariff']); //0x3011
  46.     $need_period_id = 1; // По умолчанию 1 (не трогать)
  47.  
  48.     $tariff_current=$user_tariffs['user_tariffs']['0']['current_tariff']; //id тарифа
  49.     $urfa_next_tariff=$tariff_current;
  50.  
  51.     //Получаем номер расчётного периода по ID прописаном в конфиге
  52.     blob_connect();
  53.     $disper = $urfa_admin->rpcf_get_discount_periods() ; //0x2600
  54.     foreach ($disper['discount_periods'] as $periods){
  55.         if($periods['static_id'] == $need_period_id){$discount_period_id = $periods['discount_period_id'];break;}
  56.     }
  57.  
  58.  
  59.     $srv_count_in_tarif = count($tariff_id['services']);
  60.     $service = array();
  61.     $service['user_id']           = $id;
  62.     $service['account_id']        = $user_id['basic_account'];  
  63.  
  64.  
  65.     for($srv_i = 0; $srv_i < $srv_count_in_tarif; $srv_i++) {
  66.         if($tariff_id['services'][$srv_i]['service_type'] == 2){
  67.             $service['service_id'] = $tariff_id['services'][$srv_i]['service_id'];
  68.         }
  69.     }
  70.  
  71.     $service['discount_period_id']= $discount_period_id;
  72.     $service['return_type']       = 'integer_return';        
  73.     $service['service_type']      = 2;
  74.     $service['tariff_link_id']    = $user_tariffs['user_tariffs'][0]['tariff_link_id'];
  75.     $service['slink_id']          = 0;
  76. //  $service['is_blocked']        = 0;
  77.     $service['start_date']        = time();
  78.     $service['expire_date']       = mktime(0,0,0,1,1,2020); // 2000000000 предел;
  79.     $service['unabon']            = 1;
  80.     $service['unprepay']          = 1;
  81.  
  82.  
  83. blob_connect();$added_srv = $urfa_admin->rpcf_add_service_to_user($service); // <-- запись в базу UTM
  84. logging(print_r($service, true), $added_srv['slink_id']);
  85. pg_free_result($q_log_res);
  86. }
  87.  
  88. function logging($param, $par2){
  89. global $logs_dir;
  90.     $n_date = date("Y-m-d");
  91.     file_put_contents("$logs_dir/chksrvc_$n_date.log", "---=(".date("H:i:s").")=---\n$param $par2\n\n", FILE_APPEND);
  92. }
  93.  
  94. function blob_connect(){
  95. global $urfa_user5, $urfa_admin, $UTMCore_Login, $UTMCore_Password, $UTMCoreHost, $UTMCorePort;
  96.     try {
  97.         $urfa_admin = new URFAClient_Admin($UTMCore_Login, $UTMCore_Password);
  98.     } catch (Exception $exception) {
  99.         echo "Error in line ", $exception->getLine();
  100.         echo $exception->getMessage();
  101.     }
  102. }
  103. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement