urfaclient на php
Ребят, выручайте, ну все голову уже сломали
1. Создали клиента, все ок
2. Пытаемся ему добавить тариф
# Добавляем новый тариф
$newtarif = array (
'user_id' => $user_id,
'account_id' => $account_id,
'tariff_current' => $tariff_id,
'tariff_next' => $tariff_id,
'discount_period_id' => $discount_period_id,
'tariff_link_id' => 0
);
$tp = $utm->rpcf_link_user_tariff( $newtarif );
if ( !$tp['tariff_link_id'] ) {
print "ERROR ADDING TP\n";
print_r( $newtarif );
print_r( $tp );
exit;
}
И ошибка
Error calling function rpcf_link_user_tariff ERROR ADDING TP
Ну где мы буксуем? Выручайте, уже второй день голову ломаем?
1. Создали клиента, все ок
2. Пытаемся ему добавить тариф
# Добавляем новый тариф
$newtarif = array (
'user_id' => $user_id,
'account_id' => $account_id,
'tariff_current' => $tariff_id,
'tariff_next' => $tariff_id,
'discount_period_id' => $discount_period_id,
'tariff_link_id' => 0
);
$tp = $utm->rpcf_link_user_tariff( $newtarif );
if ( !$tp['tariff_link_id'] ) {
print "ERROR ADDING TP\n";
print_r( $newtarif );
print_r( $tp );
exit;
}
И ошибка
Error calling function rpcf_link_user_tariff ERROR ADDING TP
Ну где мы буксуем? Выручайте, уже второй день голову ломаем?
- Chrst
- Сообщения: 370
- Зарегистрирован: Пт май 11, 2007 09:28
- Откуда: Медиахолдинг "ЛеККС"
- Контактная информация:
В свое время делал такsatspace писал(а):Ребят, выручайте, ну все голову уже сломали
1. Создали клиента, все ок
2. Пытаемся ему добавить тариф
# Добавляем новый тариф
$newtarif = array (
'user_id' => $user_id,
'account_id' => $account_id,
'tariff_current' => $tariff_id,
'tariff_next' => $tariff_id,
'discount_period_id' => $discount_period_id,
'tariff_link_id' => 0
);
$tp = $utm->rpcf_link_user_tariff( $newtarif );
if ( !$tp['tariff_link_id'] ) {
print "ERROR ADDING TP\n";
print_r( $newtarif );
print_r( $tp );
exit;
}
И ошибка
Error calling function rpcf_link_user_tariff ERROR ADDING TP
Ну где мы буксуем? Выручайте, уже второй день голову ломаем?
Код: Выделить всё
$tariff_link_id = $urfa_admin->rpcf_link_user_tariff($user_id,$account_id,$tariff_current,$tariff_next,$discount_period_id);
Код: Выделить всё
function rpcf_link_user_tariff($user_id,$account_id=0,$tariff_current,$tariff_next,$discount_period_id,$tariff_link_id=0) { //0x3018
$ret=array();
if (!$this->connection->urfa_call(0x3018)) {
print "Error calling function ". __FUNCTION__ ."\n";
return FALSE;
}
$packet = $this->connection->getPacket();
$packet->DataSetInt($user_id);
$packet->DataSetInt($account_id);
$packet->DataSetInt($tariff_current);
$packet->DataSetInt($tariff_next);
$packet->DataSetInt($discount_period_id);
$packet->DataSetInt($tariff_link_id);
$this->connection->urfa_send_param($packet);
if ($x = $this->connection->urfa_get_data()) {
$ret['tariff_link_id'] = $x->DataGetInt();
$this->connection->urfa_get_data();
return $ret;
}
}
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
С этим разобрались.mikkey finn писал(а):вот именно в этом и разница. На входе же список переменных, а не массив.
По ходу выяснилась следующая проблема, новый экземпляр класса URFAClient_Admin, позволяет сделать только один запрос любой функции, а следующий запрос выдает ошибку вызова функции. Что бы выполнить последовательно например запрос тарифов, а потом добавить его пользователю, необходимо создавать каждый раз новый класс. С чем это может быть связано?
И еще непонятка на запрос rpcf_get_services_list(), вылазиет
Код: Выделить всё
array(2) {
["count"]=>
int(6)
["services"]=>
array(6) {
[0]=>
array(6) {
["service_id"]=>
NULL
["service_name"]=>
NULL
["service_type"]=>
NULL
["service_comment"]=>
NULL
["service_status"]=>
NULL
["tariff_name"]=>
string(0) ""
}
[1]=>
array(6) {
["service_id"]=>
NULL
["service_name"]=>
NULL
["service_type"]=>
NULL
["service_comment"]=>
NULL
["service_status"]=>
NULL
["tariff_name"]=>
string(0) ""
}
[2]=>
array(6) {
["service_id"]=>
NULL
["service_name"]=>
NULL
["service_type"]=>
NULL
["service_comment"]=>
NULL
["service_status"]=>
NULL
["tariff_name"]=>
string(0) ""
}
[3]=>
array(6) {
["service_id"]=>
NULL
["service_name"]=>
NULL
["service_type"]=>
NULL
["service_comment"]=>
NULL
["service_status"]=>
NULL
["tariff_name"]=>
string(0) ""
}
[4]=>
array(6) {
["service_id"]=>
NULL
["service_name"]=>
NULL
["service_type"]=>
NULL
["service_comment"]=>
NULL
["service_status"]=>
NULL
["tariff_name"]=>
string(0) ""
}
[5]=>
array(6) {
["service_id"]=>
NULL
["service_name"]=>
NULL
["service_type"]=>
NULL
["service_comment"]=>
NULL
["service_status"]=>
NULL
["tariff_name"]=>
string(0) ""
}
}
}
viewtopic.php?t=6402&postdays=0&postorder=asc&start=555 начиная с моего постаsatspace писал(а): По ходу выяснилась следующая проблема, новый экземпляр класса URFAClient_Admin, позволяет сделать только один запрос любой функции, а следующий запрос выдает ошибку вызова функции. Что бы выполнить последовательно например запрос тарифов, а потом добавить его пользователю, необходимо создавать каждый раз новый класс. С чем это может быть связано?
Подсказка: проблема в urfa_get_data.
Последний раз редактировалось ds Чт июн 03, 2010 13:07, всего редактировалось 1 раз.
Спасибо, с этим разобрались, сейчас проблема по запросу rpcf_get_services_list(), не можем разобраться с присвоением сервисной связки, похоже из за того что у нас пло этому запросу нет описания, а везде NULLds писал(а):viewtopic.php?t=6402&postdays=0&postorder=asc&start=555 начиная с моего постаsatspace писал(а): По ходу выяснилась следующая проблема, новый экземпляр класса URFAClient_Admin, позволяет сделать только один запрос любой функции, а следующий запрос выдает ошибку вызова функции. Что бы выполнить последовательно например запрос тарифов, а потом добавить его пользователю, необходимо создавать каждый раз новый класс. С чем это может быть связано?
Подсказка: проблема в urfa_get_data.
.
проверял, кроме тех функций который написаны нетапом у них в utm php интерфейсе(пользовательские) ничего не работает, они там поменяли что-то в протоколе связи между админкой и ядром, по debug я заметил только одно отличие.ds писал(а):На 008 кто нибудь проверял админские функции работают или нет? А то виртуалку ставить неохота пока
при заходе админкой UTM_admin 5.2.008
Код: Выделить всё
SSL type requested: SSLv3(4)
Код: Выделить всё
SSL type requested: SSLv3(2)
Я пробовал. Вот кусок кода из php-сценария:
Код: Выделить всё
include("/usr/local/www/apache22/data/test/urfaphp/DBConfig.php");
require_once("/usr/local/www/apache22/data/test/urfaphp/URFAClient.php");
include ("/usr/local/www/apache22/data/test/urfaphp/URFAConfig.php");
try
{
$urfa_admin = new URFAClient_Admin($UTMCore_Login,$UTMCore_Password);
}
catch (Exception $exception)
{
echo "Error in line ", $exception->getLine();
echo $exception->getMessage();
}
mysql_connect($DB_HOST);
mysql_select_db($DB_BASE);
$extip = "SELECT * FROM service_links WHERE tariff_link_id=0 AND is_deleted=0 AND service_id=100 limit 1;";
$query = mysql_query($extip);
$data = mysql_fetch_assoc($query);
//удаляем улугу
$delete = $urfa_admin->rpcf_delete_slink($data['id']);
Люди добрые, подскажите, пожалуйста, вот такая ошибка:
в функции read() не совпадает условие
if ($this->version != ord(fread($this->sock, 1)))
*===
$this->version = 35
ord(fread($this->sock, 1)) = 0
В какую сторону можно подкопать дальше?
PHP 5.2.13
UTM 5.2.1-008
Код: Выделить всё
PHP Fatal error: Uncaught exception 'Exception' with message 'Error code 0' in /usr/home/hicks/utm/urfa/URFAClient_Packet.php:27
Stack trace:
#0 /usr/home/hicks/utm/urfa/URFAClient_Connection.php(42): URFAClient_Packet->read()
#1 /usr/home/hicks/utm/urfa/URFAClient_Connection.php(15): URFAClient_Connection->login('555555', 'errrw', false)
#2 /usr/home/hicks/utm/urfa/URFAClient.php(24): URFAClient_Connection->__construct('127.0.0.1', '11758', '555555', 'errrw', false)
#3 /usr/home/hicks/utm/urfa/example.php(17): URFAClient->__construct('555555', 'errrw', '127.0.0.1', '11758')
#4 {main}
thrown in /usr/home/hicks/utm/urfa/URFAClient_Packet.php on line 27
Fatal error: Uncaught exception 'Exception' with message 'Error code 0' in /usr/home/hicks/utm/urfa/URFAClient_Packet.php:27
Stack trace:
#0 /usr/home/hicks/utm/urfa/URFAClient_Connection.php(42): URFAClient_Packet->read()
#1 /usr/home/hicks/utm/urfa/URFAClient_Connection.php(15): URFAClient_Connection->login('555555', 'errrw', false)
#2 /usr/home/hicks/utm/urfa/URFAClient.php(24): URFAClient_Connection->__construct('127.0.0.1', '11758', '555555', 'errrw', false)
#3 /usr/home/hicks/utm/urfa/example.php(17): URFAClient->__construct('555555', 'errrw', '127.0.0.1', '11758')
#4 {main}
thrown in /usr/home/hicks/utm/urfa/URFAClient_Packet.php on line 27
в функции read() не совпадает условие
if ($this->version != ord(fread($this->sock, 1)))
*===
$this->version = 35
ord(fread($this->sock, 1)) = 0
В какую сторону можно подкопать дальше?
PHP 5.2.13
UTM 5.2.1-008
Вот на последней 008rc1 0x3010 (rpcf_get_tariffs_list) все отлично работаетctyz писал(а):Люди помогите понять почему utm 008 не хочет выполнять URFAClient_Admin функции через php
в логах ядра пишетпочему то пишет not permited, хотя права у пользователя полные.Код: Выделить всё
Info : Apr 16 14:55:27 RPCConn[SSL]<init@11.3.3.10>: Access granted to [SSL]<init@11.3.3.10> (UID: -1) ?Debug : Apr 16 14:55:27 RPCConn[SSL]<init@11.3.3.10>: SSL type requested: SSLv3(2) Info : Apr 16 14:55:27 RPCConn[SSL]<init@11.3.3.10>: Request for function <0x3010> not permitted Warn : Apr 16 14:55:27 RPCConn[SSL]<init@11.3.3.10>: Session closed ?Debug : Apr 16 14:55:27 RPCConn[SSL]<init@11.3.3.10>: Session stored for UID -1 from <11.3.3.10> ?Debug : Apr 16 14:55:27 RPCConn[SSL]<init@11.3.3.10>: Session closed...
Код: Выделить всё
./test.php
Array
(
[count] => 2
[tariffs] => Array
(
[0] => Array
(
[id] => 1
[name] => Новый тариф
[create_date] => 1278433810
[who_create] => -1
[login] => init
[change_create] => 1278433810
[who_change] => -1
[login_change] => init
[expire_date] => 2000000000
[is_blocked] => 0
[balance_rollover] => 0
)
[1] => Array
(
[id] => 2
[name] => test tariff
[create_date] => 1278434070
[who_create] => -1
[login] => init
[change_create] => 1278434070
[who_change] => -1
[login_change] => init
[expire_date] => 2000000000
[is_blocked] => 0
[balance_rollover] => 0
)
)
)
Код: Выделить всё
Array
(
[core_version] => 5.2.1
)
Array
(
[core_build] => 008
)
Array
(
[user_id] => 1
[accounts_count] => 1
[accounts] => Array
(
[0] => Array
(
[id] => 1
[name] => auto create account
)
)
[login] => test
[password] => d36211b6
[basic_account] => 1
[full_name] =>
[create_date] => 1278434522
[last_change_date] => 1278434522
[who_create] => -1
[who_change] => -1
[is_juridical] => 0
[jur_address] =>
[act_address] =>
[work_tel] =>
[home_tel] =>
[mob_tel] =>
[web_page] =>
[icq_number] =>
[tax_number] =>
[kpp_number] =>
[bank_id] => 0
[bank_account] =>
[comments] =>
[personal_manager] =>
[connect_date] => 1278352800
[email] =>
[is_send_invoice] => 0
[advance_payment] => 0
[house_id] => 0
[flat_number] =>
[entrance] =>
[floor] =>
[district] =>
[building] =>
[passport] =>
[parameters_count] => 0
)
ds, такая же ошибка
Код $packet->AttrGetInt(3) для любых админских функций ничего не возвращает.
Версия ядра - 5.2.1-008
Не мог бы ты выслать свой экземпляр дистрибутива на pay @ weba.ru ?
Код: Выделить всё
Info : Jul 07 12:42:59 RPCConn[SSL]<urfa@127.0.0.1>: Access granted to [SSL]<urfa@127.0.0.1> (UID: -19)
?Debug : Jul 07 12:42:59 RPCConn[SSL]<urfa@127.0.0.1>: SSL type requested: SSLv3(2)
Info : Jul 07 12:42:59 RPCConn[SSL]<urfa@127.0.0.1>: Request for function <0x3010> not permitted
Warn : Jul 07 12:42:59 RPCConn[SSL]<urfa@127.0.0.1>: Session closed
?Debug : Jul 07 12:42:59 RPCConn[SSL]<urfa@127.0.0.1>: Session stored for UID -19 from <127.0.0.1>
?Debug : Jul 07 12:42:59 StreamManager: connection <30> closed
?Debug : Jul 07 12:42:59 RPCConn[SSL]<urfa@127.0.0.1>: Session closed...
Версия ядра - 5.2.1-008
Не мог бы ты выслать свой экземпляр дистрибутива на pay @ weba.ru ?
Последний раз редактировалось vobbs Ср июл 07, 2010 13:03, всего редактировалось 1 раз.