urfaclient на php

Вопросы по сопутствующим продуктам производства партнеров
Ответить
darang
Сообщения: 161
Зарегистрирован: Пт янв 15, 2010 15:39
Контактная информация:

Сообщение darang »

HighwayStar писал(а):Извиняюсь что повторяюсь, но скажите есть ли тут те, кто успешно использует urfaclient php на php 5.3? У меня при переходе на 5.3 не работает ни одна функция из URFAClient_User5.php
включите в php вывод ошибок (error_reporting), проверьте подключенные модули php особенно openssl

Cramac
Сообщения: 454
Зарегистрирован: Сб июл 01, 2006 17:59

Сообщение Cramac »

Kayfolom писал(а):
function URFA_Change_MAC($urfa_admin, $user_id, $account_id, $ip_wildcart, $MAC) {
$service_new['user_id'] = $user_id;
$service_new['account_id'] = $account_id;
// Выясняем id сервисной связки
$services = $urfa_admin->rpcf_get_all_services_for_user($service_new['account_id']);
foreach ($services['services'] as $key => $value) {
if ($services['services'][$key]['type']==3) {
$slink_id = $services['services'][$key]['slink_id'];
$service_new['service_id'] = $services['services'][$key]['id'];
$service_new['service_type'] = $services['services'][$key]['type'];
$service_new['slink_id'] = $services['services'][$key]['slink_id'];
}
}
// получаем список сервисов и список связок ip&mac в том числе
$services_tariff = $urfa_admin->rpcf_get_iptraffic_service_link($slink_id); // { //0x2702
// Получаем первый ip вида $ip_wildcart
$service_new['tariff_link_id'] = $services_tariff['tariff_link_id'];
$service_new['discount_period_id'] = $services_tariff['discount_period_id'];
$service_new['ip_groups_count'] = 1;
foreach ($services_tariff['ip_groups'] as $key => $value) {
$pos = strpos($services_tariff['ip_groups'][$key]['ip'], $ip_wildcart);
if ($pos!==false) {
$service_new['ip_groups'][0]['ip_address'] = $services_tariff['ip_groups'][$key]['ip'];
$service_new['ip_groups'][0]['mask'] = $services_tariff['ip_groups'][$key]['mask'];
$service_new['ip_groups'][0]['mac'] = $services_tariff['ip_groups'][$key]['mac'];
$service_new['ip_groups'][0]['iptraffic_login'] = $services_tariff['ip_groups'][$key]['login'];
$service_new['ip_groups'][0]['iptraffic_allowed_cid'] = $services_tariff['ip_groups'][$key]['allowed_cid'];
$service_new['ip_groups'][0]['iptraffic_password'] = $services_tariff['ip_groups'][$key]['password'];
$service_new['ip_groups'][0]['ip_not_vpn'] = $services_tariff['ip_groups'][$key]['not_vpn'];
$service_new['ip_groups'][0]['dont_use_fw'] = $services_tariff['ip_groups'][$key]['dont_use_fw'];
$service_new['ip_groups'][0]['router_id'] = $services_tariff['ip_groups'][$key]['router_id'];
break;
}
}
$service_new['ip_groups'][0]['mac'] = $MAC;
$report = $urfa_admin->rpcf_delete_from_ipgroup($service_new['slink_id'],$service_new['ip_groups'][0]['ip_address'],$service_new['ip_groups'][0]['mask']); //{ //0x5101
$report = $urfa_admin->rpcf_add_service_to_user($service_new); // { //0x2551
$urfa_admin->rpcf_add_once_service_to_user($service_new['user_id'],$service_new['account_id'],$id_once_service_registration,0,0,time(),1,0); //0x2555
}
}
а за что отвечает последняя функция добавления? Разовая услуга?

polv
Сообщения: 8
Зарегистрирован: Вт окт 05, 2010 06:49

Сообщение polv »

Извините, опять разобрался.

solomon
Сообщения: 316
Зарегистрирован: Вт мар 16, 2010 08:39

Сообщение solomon »

скажите плиз из питона запускаю скрипт ... отрабатывает наполовину

Код: Выделить всё

#import os
import subprocess

#User_Name= nat512
#IP_Address= 172.18.6.3
#os.system('/usr/bin/php -f /netup/utm5/urfaphp/add_ip.php User_Name IP_Address')
p = subprocess.Popen('/usr/bin/php -f /netup/utm5/urfaphp/add_ip.php nat512 172.18.6.3', shell=True)
скрипт

Код: Выделить всё

[root@solomon urfaphp]# cat add_ip.php 
<?php
echo "1 ".$argv&#91;1&#93;."\n"; //Name user
echo "2 ".$argv&#91;2&#93;."\n"; // IP user
@ini_set&#40;"display_errors", "1"&#41;;
error_reporting&#40;E_ALL&#41;;

require_once&#40;"/netup/utm5/urfaphp/URFAClient.php"&#41;;

$UTMCore_Login='init';
$UTMCore_Password='Ld12turs#S';
$UTMCoreHost='127.0.0.1';
$UTMCorePort='11758';

try &#123;
        $urfa_user5 = new URFAClient_User5&#40;"nat512", "nat512",$UTMCoreHost,$UTMCorePort&#41;;
        $urfa_admin = new URFAClient_Admin&#40;$UTMCore_Login, $UTMCore_Password&#41;;
    &#125; catch &#40;Exception $exception&#41; &#123; 
         echo "Error in line ", $exception->getLine&#40;&#41;;
         echo $exception->getMessage&#40;&#41;; 
        &#125; 
$UserName=$argv&#91;1&#93;;
echo "UsName - ".$UserName."\n";
$dbhost="localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "UTM5007";

$link= mysql_connect&#40;$dbhost, $dbuser, $dbpass&#41; or die&#40;"Ошибка подключения к серверу БД"&#41;.mysql_errno&#40;&#41;;
$db_sel = mysql_select_db&#40;$dbname&#41; or die&#40;"Ошибка выбора БД"&#41;.mysql_errno&#40;&#41;;

$query = mysql_query&#40;"select id as user_id from users where login='$UserName'"&#41;;
$row_query = mysql_fetch_array&#40;$query&#41;;
$UserID = $row_query&#91;'user_id'&#93;;

$user_id = $UserID;
$acc_id = $UserID;
$acc_ip = $argv&#91;2&#93;;
echo "AcIP - ".$acc_ip."\n";
$acc_mac = '';

echo "UsID - ".$user_id."\n";

$service  = array&#40;&#41;; 
$service&#91;'service_type'&#93;  = 3; 
$service&#91;'user_id'&#93;   = $user_id;
$service&#91;'account_id'&#93;= $acc_id;
$service&#91;'return_type'&#93;   = "integer_return"; 
$service&#91;'tariff_link_id'&#93; = 0;
$service&#91;'is_blocked'&#93;  = 0;
$service&#91;'start_date'&#93;  = '';
$service&#91;'expire_date'&#93; = ''; // 2000000000; 
$service&#91;'unabon'&#93;  = 0;
$service&#91;'unprepay'&#93;= 0;
$service&#91;'ip_groups'&#93;   = array&#40;&#41;;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'ip_address'&#93; = $acc_ip;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'mask'&#93; = '255.255.255.255';
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'mac'&#93; = $acc_mac;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_login'&#93;  = "log_".$UserName;
echo "SerIpGroupLogin - ".$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_login'&#93;."\n";
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_allowed_cid'&#93;= '';
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_password'&#93; = "log_".$UserName;
echo "SerIpGroupPass - ".$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_password'&#93;."\n";
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'ip_not_vpn'&#93; = 1;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'dont_use_fw'&#93; = 0;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'router_id'&#93; = 0;
$service&#91;'quotas'&#93; = array&#40;&#41;;

$out = $urfa_admin->rpcf_get_all_services_for_user&#40;$acc_id&#41;;
print_r&#40;$out&#41;;
echo "FROM $out - ".$acc_id."\n";
if &#40;$out=true&#41; &#123; echo " GOOOOOOD";&#125; else &#123; echo "BAAAAAD"; &#125;

$count = count&#40;$out&#41;;
echo "Кол-во коунтов - ".$out."\n";
 
for&#40;$i = 0; $i < $count; $i ++&#41; 
&#123;
   if &#40;$out&#91;'services'&#93;&#91;$i&#93;&#91;'type'&#93; == $service&#91;'service_type'&#93;&#41;
   &#123; 
      $service&#91;'service_id'&#93; = $out&#91;'services'&#93;&#91;$i&#93;&#91;'id'&#93;; 
      $service&#91;'discount_period_id'&#93; = $out&#91;'services'&#93;&#91;$i&#93;&#91;'period'&#93;; 
      $service&#91;'slink_id'&#93;= $out&#91;'services'&#93;&#91;$i&#93;&#91;'slink_id'&#93;; 
   &#125; 
&#125; 
echo $service&#91;'service_id'&#93;."<br>";
echo $service&#91;'discount_period_id'&#93;."<br>";
echo $service&#91;'slink_id'&#93;."<br>";

if &#40;$out = $urfa_admin->rpcf_add_service_to_user&#40;$service&#41;&#41; &#123; echo "Good Add IP \n";&#125;
else &#123; "BAD Add IP";&#125;
//unset&#40;$UserName, $UserID, $user_id, $acc_id&#41;;
лог дебага

Код: Выделить всё

lomon log&#93;# tail -f debug.log 

?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionQueueManager&#58; pushing transaction <0x8da4540> into queue <2> &#40;default&#41;
?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionHandlerImpl&#58; push&#58; transaction ptr <0x08da4540> &#40;size 1, Events &#91; 114 &#93;&#41;
?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionHandlerImpl&#58; incoming transaction ptr <0x08da4540>, outgoing transaction ptr <0xb5713d80>
?Debug &#58; Apr 19 15&#58;37&#58;17 DBA&#58;Ctx&#58; Looking for free context &#40;system=1&#41;
?Debug &#58; Apr 19 15&#58;37&#58;17 PluginManagerImpl&#58; no registered plugin for event_id <114>
 Info  &#58; Apr 19 15&#58;37&#58;17 TransactionHandlerImpl&#58; plugin handler for event 114 not defined, event not handled
 Info  &#58; Apr 19 15&#58;37&#58;17 TransactionHandlerImpl&#58; some plugins not loaded due to license limitations, contact NetUP,Inc for more info
?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionFilter&#58; transaction sent to the internal queue
?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionQueueManager&#58; pushing transaction <0xb5713d80> into queue <1> &#40;default&#41;
?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionHandlerImpl&#58; push&#58; empty transaction ptr <0xb5713d80> dropped
?Debug &#58; Apr 19 15&#58;37&#58;17 DummyTransactionQueue&#58; commit&#58; 0 transactions
?Debug &#58; Apr 19 15&#58;37&#58;17 DBA&#58;Ctx&#58; Pushing back free context &#40;system=1&#41;
?Debug &#58; Apr 19 15&#58;37&#58;17 TransactionHandlerImpl&#58; incoming transaction ptr <0x08da4540> done
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCServer@0.0.0.0&#58; Client connecting&#58; 127.0.0.1&#58;58152
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCConn&#58; Connection from&#58; 127.0.0.1&#58;58152
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCConn&#58; Card user <nat512@127.0.0.1> is connecting
?Debug &#58; Apr 19 15&#58;37&#58;34 StreamManager&#58; connection <26> created
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCConn<nat512@127.0.0.1>&#58; Access granted to <nat512@127.0.0.1> &#40;UID&#58; 108&#41;
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCServer@0.0.0.0&#58; Client connecting&#58; 127.0.0.1&#58;58153
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCConn&#58; Connection from&#58; 127.0.0.1&#58;58153
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCConn&#58; Card user <init@127.0.0.1> is connecting
?Debug &#58; Apr 19 15&#58;37&#58;34 DBA&#58;Ctx&#58; Looking for urgent DB context
?Debug &#58; Apr 19 15&#58;37&#58;34 DBA Groups&#58; Group&#58; -1 from 1
?Debug &#58; Apr 19 15&#58;37&#58;34 DBA&#58;Ctx&#58; Pushing back urgent DB context
-Stats &#58; Apr 19 15&#58;37&#58;34 DBA Groups&#58;    Stats&#58; Uptime&#58; 00&#58;00&#58;00. Events&#58; 0; Errors&#58; 0
?Debug &#58; Apr 19 15&#58;37&#58;34 StreamManager&#58; connection <27> created
 Info  &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Access granted to <init@127.0.0.1> &#40;UID&#58; -1&#41;
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Call&#58; 0x2700 &#40;rpcf_get_all_services_for_user&#41;
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Real Call&#58; 0x2700 &#40;rpcf_get_all_services_for_user&#41;
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Call 0x2700 &#40;rpcf_get_all_services_for_user&#41; finished...
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Stream cleared
 Warn  &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Session closed
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Session stored for UID -1 from <127.0.0.1>
 Warn  &#58; Apr 19 15&#58;37&#58;34 RPCConn<nat512@127.0.0.1>&#58; Session closed
?Debug &#58; Apr 19 15&#58;37&#58;34 StreamManager&#58; connection <27> closed
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<init@127.0.0.1>&#58; Session closed...
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<nat512@127.0.0.1>&#58; Session stored for UID 108 from <127.0.0.1>
?Debug &#58; Apr 19 15&#58;37&#58;34 StreamManager&#58; connection <26> closed
?Debug &#58; Apr 19 15&#58;37&#58;34 RPCConn<nat512@127.0.0.1>&#58; Session closed...

solomon
Сообщения: 316
Зарегистрирован: Вт мар 16, 2010 08:39

Сообщение solomon »

судя по дебагу получается что вызывает только гет инфо пользователя... почему он дальше не идет...

chostik
Сообщения: 3
Зарегистрирован: Пт апр 20, 2012 07:50

Сообщение chostik »

Может ли кто-нибудь выслать рабочую пропатченную версию urfaphp под 008? php 5.1.6

chostik@mail.ru

Заранее благодарен.

solomon
Сообщения: 316
Зарегистрирован: Вт мар 16, 2010 08:39

Сообщение solomon »

вот по логам отдебажил не пойму дальше вызова первой функции не идет

Код: Выделить всё

&#91;root@solomon staticDHCPd-1.5.4&#93;# pychecker test_ex.py
Processing test_ex...
1 nat512
2 172.18.6.3
UsName - nat512
AcIP - 172.18.6.3
UsID - 108
SerIpGroupLogin - log_nat512
SerIpGroupPass - log_nat512
Array
&#40;
    &#91;service_type&#93; => 3
    &#91;user_id&#93; => 108
    &#91;account_id&#93; => 108
    &#91;return_type&#93; => integer_return
    &#91;tariff_link_id&#93; => 0
    &#91;is_blocked&#93; => 0
    &#91;start_date&#93; => 
    &#91;expire_date&#93; => 
    &#91;unabon&#93; => 0
    &#91;unprepay&#93; => 0
    &#91;ip_groups&#93; => Array
        &#40;
            &#91;0&#93; => Array
                &#40;
                    &#91;ip_address&#93; => 172.18.6.3
                    &#91;mask&#93; => 255.255.255.255
                    &#91;mac&#93; => 
                    &#91;iptraffic_login&#93; => log_nat512
                    &#91;iptraffic_allowed_cid&#93; => 
                    &#91;iptraffic_password&#93; => log_nat512
                    &#91;ip_not_vpn&#93; => 1
                    &#91;dont_use_fw&#93; => 0
                    &#91;router_id&#93; => 0
                &#41;

        &#41;

    &#91;quotas&#93; => Array
        &#40;
        &#41;

&#41;

Код: Выделить всё

require_once&#40;"/netup/utm5/urfaphp/URFAClient.php"&#41;;

$UTMCore_Login='init';
$UTMCore_Password='Ld12turs#S';
$UTMCoreHost='127.0.0.1';
$UTMCorePort='11758';

try &#123;
        $urfa_user5 = new URFAClient_User5&#40;"nat512", "nat512",$UTMCoreHost,$UTMCorePort&#41;;
        $urfa_admin = new URFAClient_Admin&#40;$UTMCore_Login, $UTMCore_Password&#41;;
    &#125; catch &#40;Exception $exception&#41; &#123; 
         echo "Error in line ", $exception->getLine&#40;&#41;;
         echo $exception->getMessage&#40;&#41;; 
        &#125; 
$UserName=$argv&#91;1&#93;;
echo "UsName - ".$UserName."\n";
$dbhost="localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "UTM5007";

$link= mysql_connect&#40;$dbhost, $dbuser, $dbpass&#41; or die&#40;"Ошибка подключения к серверу БД"&#41;.mysql_errno&#40;&#41;;
$db_sel = mysql_select_db&#40;$dbname&#41; or die&#40;"Ошибка выбора БД"&#41;.mysql_errno&#40;&#41;;

$query = mysql_query&#40;"select id as user_id from users where login='$UserName'"&#41;;
$row_query = mysql_fetch_array&#40;$query&#41;;
$UserID = $row_query&#91;'user_id'&#93;;

$user_id = $UserID;
$acc_id = $UserID;
$acc_ip = $argv&#91;2&#93;;
echo "AcIP - ".$acc_ip."\n";
$acc_mac = '';

echo "UsID - ".$user_id."\n";

$service  = array&#40;&#41;; 
$service&#91;'service_type'&#93;  = 3; 
$service&#91;'user_id'&#93;   = $user_id;
$service&#91;'account_id'&#93;= $acc_id;
$service&#91;'return_type'&#93;   = "integer_return"; 
$service&#91;'tariff_link_id'&#93; = 0;
$service&#91;'is_blocked'&#93;  = 0;
$service&#91;'start_date'&#93;  = '';
$service&#91;'expire_date'&#93; = ''; // 2000000000; 
$service&#91;'unabon'&#93;  = 0;
$service&#91;'unprepay'&#93;= 0;
$service&#91;'ip_groups'&#93;   = array&#40;&#41;;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'ip_address'&#93; = $acc_ip;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'mask'&#93; = '255.255.255.255';
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'mac'&#93; = $acc_mac;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_login'&#93;  = "log_".$UserName;
echo "SerIpGroupLogin - ".$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_login'&#93;."\n";
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_allowed_cid'&#93;= '';
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_password'&#93; = "log_".$UserName;
echo "SerIpGroupPass - ".$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'iptraffic_password'&#93;."\n";
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'ip_not_vpn'&#93; = 1;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'dont_use_fw'&#93; = 0;
$service&#91;'ip_groups'&#93;&#91;0&#93;&#91;'router_id'&#93; = 0;
$service&#91;'quotas'&#93; = array&#40;&#41;;
print_r &#40;$service&#41;."\n";
$out = $urfa_admin->rpcf_get_all_services_for_user&#40;$acc_id&#41;;

$count = count&#40;$out&#41;;
print_r &#40;$count&#41;."\n";
 
for&#40;$i = 0; $i < $count; $i ++&#41; 
&#123;
   if &#40;$out&#91;'services'&#93;&#91;$i&#93;&#91;'type'&#93; == $service&#91;'service_type'&#93;&#41;
   &#123; 
      $service&#91;'service_id'&#93; = $out&#91;'services'&#93;&#91;$i&#93;&#91;'id'&#93;; 
      $service&#91;'discount_period_id'&#93; = $out&#91;'services'&#93;&#91;$i&#93;&#91;'period'&#93;; 
      $service&#91;'slink_id'&#93;= $out&#91;'services'&#93;&#91;$i&#93;&#91;'slink_id'&#93;; 
   &#125; 
&#125; 
echo $service&#91;'service_id'&#93;."<br>";
echo $service&#91;'discount_period_id'&#93;."<br>";
echo $service&#91;'slink_id'&#93;."<br>";

$out = $urfa_admin->rpcf_add_service_to_user&#40;$service&#41;;

chostik
Сообщения: 3
Зарегистрирован: Пт апр 20, 2012 07:50

Сообщение chostik »

возможно высылать ничего не надо... вроде кое-что заработало


только вот при вызове функции

выходит ошибка

Fatal error: Call to undefined function bcmul() in /home/reginaweb/urfaphp/URFAClient_Packet.php on line 212

в чём дело не подскажете?

у меня php 5.1.6 .... и по ходу bcmul - это функция умножения двух чисел... у меня отсутствует.... куда копать?

Cramac
Сообщения: 454
Зарегистрирован: Сб июл 01, 2006 17:59

Сообщение Cramac »

установить ПХП с поддержкой bcmath (а там bcmul)

HighwayStar
Сообщения: 13
Зарегистрирован: Вт окт 18, 2011 15:12
Откуда: Россия

Сообщение HighwayStar »

HighwayStar писал(а):Извиняюсь что повторяюсь, но скажите есть ли тут те, кто успешно использует urfaclient php на php 5.3? У меня при переходе на 5.3 не работает ни одна функция из URFAClient_User5.php

При запуске example.php выдает

Код: Выделить всё

Error calling function rpcf_user5_get_services
этот же код работает на php 5.2.

Где искать ошибку? в логах биллинга при выполнении example.php появлются строки:

Код: Выделить всё

Warn  &#58; Apr 13 22&#58;10&#58;05 RPCConn<apache@192.168.1.2>&#58; Session closed
Warn  &#58; Apr 13 22&#58;10&#58;05 RPCConn<testoke@10.254.254.3>&#58; Session closed
Ошибка оказалась в файле URFAClient_Packet.php в функции function AttrGetInt($code)

Решение нашел несколькими страницами ранее

chostik
Сообщения: 3
Зарегистрирован: Пт апр 20, 2012 07:50

Сообщение chostik »

Cramac писал(а):установить ПХП с поддержкой bcmath (а там bcmul)
устанавливать не пришлось... просто :
#rpm -ivh php-bcmath-5.1.6-23.2.el5_3.i386.rpm

разобрался.
Спасибо

Cramac
Сообщения: 454
Зарегистрирован: Сб июл 01, 2006 17:59

Сообщение Cramac »

Проблема решена, рабочий скрипт добавления тарифа и двух услуг в нем (иптрафик и абонплата)

код

Код: Выделить всё

URFA_add_tarif&#40;$urfa_admin, "1064", "1070","56",1, "172.20.20.20","255.255.255.255","logintest","password"&#41;;


function URFA_add_tarif &#40;$urfa_admin, $user_id, $account_id, $tariff_id, $discount_period_id, $ip_add, $netmask_add, $login_add, $password_add&#41;
	&#123;
	# Получаем информацию об услугах тарифа 
	$tsvc = $urfa_admin->rpcf_get_tariff&#40;$tariff_id&#41;; 
	print_r&#40;$tsvc&#41;;

	//Подключаем тариф
	$tariff_link_id = $urfa_admin->rpcf_link_user_tariff&#40;$user_id,$account_id,$tariff_id,$tariff_id,$discount_period_id&#41;;
	print_r&#40;$tariff_link_id&#41;;

	# Поделючение всех услуг 
	$max = count&#40;$tsvc&#91;'services'&#93;&#41;; 

	for &#40; $i = 0; $i < $max; $i++ &#41; 
		&#123; 
		$srv_in_tarif  = $tsvc&#91;'services'&#93;&#91;$i&#93;; 
		echo "<br>srv_i=$srv_i"; 
		echo "<br>srv_in_tarif="; 
		print_r&#40;$srv_in_tarif&#41;; 
		echo "<br>"; 
		
		$service_new = array&#40;&#41;; 
		$service_new&#91;'user_id'&#93; 		= $user_id; 
		$service_new&#91;'account_id'&#93; 		= $account_id; 
		$service_new&#91;'return_type'&#93; 	= ''; 
		$service_new&#91;'service_id'&#93;			= $srv_in_tarif&#91;'service_id'&#93;;
		$service_new&#91;'service_type'&#93;		= $srv_in_tarif&#91;'service_type'&#93;; 
		$service_new&#91;'tariff_link_id'&#93; 	= $tariff_link_id&#91;'tariff_link_id'&#93;; 

		if &#40; $srv_in_tarif&#91;'service_type'&#93; == '2' &#41; &#123; 
			# Периодическая услуга 
			$service_new&#91;'slink_id'&#93;  = 0; 
			$service_new&#91;'is_blocked'&#93; = 0; 
			$service_new&#91;'discount_period_id'&#93; = $discount_period_id; 
			$service_new&#91;'start_date'&#93; = time&#40;&#41;; 
			$service_new&#91;'expire_date'&#93; = mktime&#40;0,0,0,1,1,2020&#41;;; 
			$service_new&#91;'unabon'&#93; = 0; 
			$service_new&#91;'unprepay'&#93; = 0; 
			&#125; 
		if &#40; $srv_in_tarif&#91;'service_type'&#93; == '3' &#41; 
			&#123; 
			# Передача трафика 
			$service_new&#91;'slink_id'&#93; = 0; 
			$service_new&#91;'is_blocked'&#93; = 0; 
			$service_new&#91;'discount_period_id'&#93; = $discount_period_id; 
			$service_new&#91;'start_date'&#93; = time&#40;&#41;; 
			$service_new&#91;'expire_date'&#93; = mktime&#40;0,0,0,1,1,2020&#41;;; 
			$service_new&#91;'unabon'&#93; = 0; 
			$service_new&#91;'unprepay'&#93; = 0; 

			# Подключаем IP 
			$service_new&#91;'ip_groups'&#93;&#91;&#93; = array&#40; 
				'ip_address' => $ip_add, 
				'mask' => $netmask_add, 
				'iptraffic_login'=> $login_add, 
				'iptraffic_password'=> $password_add, 
				'ip_not_vpn' => 0, 
				'dont_use_fw' => 0 
				&#41;; 
				
			$service_new&#91;'quota'&#93; = array&#40;&#41;; 
			&#125; 
		print_r&#40;$service_new&#41;;	
		# Добавляем услугу 
		$report = $urfa_admin->rpcf_add_service_to_user&#40;$service_new&#41;; 
print_r&#40;$report&#41;;
		&#125; 

	&#125;

Cramac
Сообщения: 454
Зарегистрирован: Сб июл 01, 2006 17:59

Сообщение Cramac »

Хочу использовать
function rpcf_add_user_new($user,$parameters,$groups) { //0x2125

выдает ошибку в логе утм
Request for illegal function: 0x2125

и так
Error calling function rpcf_add_user_new

solomon
Сообщения: 316
Зарегистрирован: Вт мар 16, 2010 08:39

Сообщение solomon »

ни кто не сталкивался с проблемой последовательных вызовов 2х функций урфы пхп?... не могу понять в чем я ошибаюсь... ПО последнее php 5.3 urfaphp - рабочая... переменные передаются из питона в пых скрипт... что ему нужно ума не приложу...

darang
Сообщения: 161
Зарегистрирован: Пт янв 15, 2010 15:39
Контактная информация:

Сообщение darang »

создавайте каждый раз новый объект для urfa, а затем вызывайте функцию

Ответить