urfaclient на php
Помогите с проблемой, плз. Добавляю разовую услугу через функцию
0×2551 rpcf_add_service_to_user
В результате страница зависает. В логах виден старт функции, но финиша нет.
Переменные вроде проверял. Подставлял явно значения. Результат тот-же. Выносил функцию в отдельный файл - тоже виснит. Ставил тип сервиса 0, скрипт не виснет.
Версия билинга 5.2.1-008. С урфой все ок, по крайне мере все остальное работает, как по части юзерских функций, так и по части админских (добавление платежеи и т.п.)
0×2551 rpcf_add_service_to_user
Код: Выделить всё
if ($balance > 300) {
$service['user_id'] = $user_id;
$service['account_id'] = $account_id;
$service['service_id'] = $service_id_normal;
$service['service_id'] = 17;
$service['service_type'] = 1;
$service['return_type'] = '';
$service['tariff_link_id'] = 0;
$urfa_admin->rpcf_add_service_to_user($service); //0x2551
}
Код: Выделить всё
?Debug : Nov 25 13:23:19 b04d6b70 RPCConn[SSL]<megaden@10.1.1.10>: Call: 0xffffbffa (__rpcs_get_user_info)
?Debug : Nov 25 13:23:19 b04d6b70 RPCConn[SSL]<megaden@10.1.1.10>: Real Call: 0xffffbffa (__rpcs_get_user_info)
?Debug : Nov 25 13:23:19 b04d6b70 DBCtx: <167142232> SQL SELECT query: SELECT login, password, basic_account, create_date, last_change_date,who_create, who_change, is_juridical, full_name, juridical_address, actual_address,work_telephone, home_telephone, mobile_telephone, web_page, icq_number, tax_number,kpp_number, bank_id, bank_account, comments, email, house_id, flat_number, entrance,floor, district, building, passport, personal_manager, connect_date, is_send_invoice,advance_payment FROM users WHERE id='10' AND is_deleted=0
?Debug : Nov 25 13:23:19 b04d6b70 DBCtx: <167142232> SQL SELECT query: SELECT group_id FROM users_groups_link WHERE user_id='10'
?Debug : Nov 25 13:23:19 b04d6b70 DBCtx: <167142232> SQL SELECT query: SELECT paramid, value FROM user_additional_params WHERE userid='10'
?Debug : Nov 25 13:23:19 b04d6b70 RPCConn[SSL]<megaden@10.1.1.10>: Call 0xffffbffa (__rpcs_get_user_info) finished...
?Debug : Nov 25 13:23:19 b04d6b70 RPCConn[SSL]<megaden@10.1.1.10>: Stream cleared
?Debug : Nov 25 13:23:19 b0adcb70 RPCConn[SSL]<phpurfa@10.1.1.10>: Call: 0x3011 (rpcf_get_tariff)
?Debug : Nov 25 13:23:19 b0adcb70 RPCConn[SSL]<phpurfa@10.1.1.10>: Real Call: 0x3011 (rpcf_get_tariff)
?Debug : Nov 25 13:23:19 b0adcb70 RPCConn[SSL]<phpurfa@10.1.1.10>: Call 0x3011 (rpcf_get_tariff) finished...
?Debug : Nov 25 13:23:19 b0adcb70 RPCConn[SSL]<phpurfa@10.1.1.10>: Stream cleared
?Debug : Nov 25 13:23:19 b0adcb70 RPCConn[SSL]<phpurfa@10.1.1.10>: Call: 0x2551 (rpcf_add_service_to_user)
?Debug : Nov 25 13:23:19 b0adcb70 RPCConn[SSL]<phpurfa@10.1.1.10>: Real Call: 0x2551 (rpcf_add_service_to_user)
?Debug : Nov 25 13:23:19 b0adcb70 UTM5 DBA: DBAccess instance created
?Debug : Nov 25 13:23:19 b0adcb70 DBA:Ctx: Looking for free context (system=0)
Версия билинга 5.2.1-008. С урфой все ок, по крайне мере все остальное работает, как по части юзерских функций, так и по части админских (добавление платежеи и т.п.)
Авторизация для этой функции должна быть от обычного, а не системного пользователя.VooDoo писал(а):Не могу сменить пароль на соединение с помощью функции rpcf_user5_change_password_service($slink_id,$item_id,$old_password,$new_password,$new_password_ret)
Ввожу
$slink_id - Service ID
$item_id - Group ID
Пароль не меняется, в чем проблема может быть ?
Расскажи как решил проблему со сменой пароля.VooDoo писал(а):service_links.id и ip_groups.ip_group_id
... ВСе разобрался, нужно вместо ip_groups.ip_group_id использовать IP_GROUPS.ID
Спасибо за наводку.
Я как понимаю функция rpcf_user5_change_password_service теперь по другому работает? или её вобще в 008 убрали? даже с родным утм кабинетом не меняет пароль на впн.
Разобрался Кому-то м.б поможет, немного кода вставлю.
Было:
Код: Выделить всё
$service_type = 3;
...
$slink = $services ['services'] [$service_traff_index] ['id'];
...
for($i = 0; $i < $services_info ['ipgroup_size']; $i ++) {
if (strlen ( $services_info ['ipgroup_size_list'] [$i] ['login'] ) > 1) {
$item_id = $services_info ['ipgroup_size_list'] [$i] ['item_id'];
}
}
....
$res = $urfa_user5->rpcf_user5_change_password_service ( $slink, $item_id, $urfa_old_password_system, $urfa_new_password_system, $urfa_new_password_ret_system );
Код: Выделить всё
$service_type = 5;
....
$slink = $services ['services'] [$service_traff_index] ['id'];
$item_id = $services ['services'] [$service_traff_index] ['service_id'];
...
$res = $urfa_user5->rpcf_user5_change_password_service ( $slink, $item_id, $urfa_old_password_system, $urfa_new_password_system, $urfa_new_password_ret_system );
...
Функция rpcf_search_users_lite ищет слишком широко, по подстроке. Для поиска конкретного логина лучше использовать rpcf_search_users_new.starchik писал(а):парник, кто знает, поскажите плз как искать абонента по логину, испоользуя rpcf_search_users_ligth (0x1202)
точнее как ей передать логин абонента?
Пример использования на Perl:
Код: Выделить всё
$search = $ourfa->rpcf_search_users_new( poles_count=>1, poles=>[ {pole_code_array=>2} ], select_type=>1, patterns_count=>1, patterns=>[{what_id=>2, criteria_id=>3, pattern=>"alex"}]);
Это абсолютно разные функции. Первая для подключения любых услуг, во второй только разовые и, если я правильно помню, можно указать количество (продажа кабеля: 15 метров).solomon писал(а):Скажите плиз вот функция в api.xml rpcf_add_service_to_user
в urfa-php есть функция rpcf_add_once_service_to_user
Есть у них отличия какие нить?
dk, большое спасибо!
Подскажите пожалуйста в urfa-php в URFAClient_Admin функция add_service_to_user($service) с одним параметром
Как мне передать несколько параметров (например -user_id $uid -account_id $aid -slink_id $slink_id -service_id $service_id -ip_address "$fip" -discount_period_id $did)
Пытаюсь настроить вот по этому примеру wingmana (viewtopic.php?t=7948),но лицензии на урфа от нетапа нет,
Помогите настроить вызов 1 - $URFA_CALL -a iphome_delete_from_ipgroup -ip_group_id $ipg_id -ip_address "$fip" (rpcf_delete_from_ipgroup_by_ipgroup)
2 - $URFA_CALL -a iphome_add_ip -user_id $uid -account_id $aid -slink_id $slink_id -service_id $service_id -ip_address "$fip" -discount_period_id $did (rpcf_add_service_to_user)
Немогу сообразить как лучше сделать - Написать скрипты с вызовами функций ИЛИ же написать скрипты с самими функциями...
Подскажите пожалуйста в urfa-php в URFAClient_Admin функция add_service_to_user($service) с одним параметром
Как мне передать несколько параметров (например -user_id $uid -account_id $aid -slink_id $slink_id -service_id $service_id -ip_address "$fip" -discount_period_id $did)
Пытаюсь настроить вот по этому примеру wingmana (viewtopic.php?t=7948),но лицензии на урфа от нетапа нет,
Помогите настроить вызов 1 - $URFA_CALL -a iphome_delete_from_ipgroup -ip_group_id $ipg_id -ip_address "$fip" (rpcf_delete_from_ipgroup_by_ipgroup)
2 - $URFA_CALL -a iphome_add_ip -user_id $uid -account_id $aid -slink_id $slink_id -service_id $service_id -ip_address "$fip" -discount_period_id $did (rpcf_add_service_to_user)
Немогу сообразить как лучше сделать - Написать скрипты с вызовами функций ИЛИ же написать скрипты с самими функциями...