urfaclient на php

Вопросы по сопутствующим продуктам производства партнеров
Ответить
duzer
Сообщения: 82
Зарегистрирован: Сб ноя 04, 2006 12:50

Сообщение duzer »

http://zalil.ru/31932291
Точно работает на 5.2.1-008-upd3
В URFAClient_Connection.php $admin_crt="Путь к файлу сертификата"

Kaba
Сообщения: 3
Зарегистрирован: Вт окт 25, 2011 04:54

Сообщение Kaba »

Опа! Спасибо, все запустилось. Видимо все таки ручки виноваты. :)

Аватара пользователя
MegaDEN
Сообщения: 12
Зарегистрирован: Чт июл 09, 2009 17:53

Сообщение MegaDEN »

Помогите с проблемой, плз. Добавляю разовую услугу через функцию
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 &#58; Nov 25 13&#58;23&#58;19 b04d6b70 RPCConn&#91;SSL&#93;<megaden@10.1.1.10>&#58; Call&#58; 0xffffbffa &#40;__rpcs_get_user_info&#41;
?Debug &#58; Nov 25 13&#58;23&#58;19 b04d6b70 RPCConn&#91;SSL&#93;<megaden@10.1.1.10>&#58; Real Call&#58; 0xffffbffa &#40;__rpcs_get_user_info&#41;
?Debug &#58; Nov 25 13&#58;23&#58;19 b04d6b70 DBCtx&#58; <167142232> SQL SELECT query&#58; 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 &#58; Nov 25 13&#58;23&#58;19 b04d6b70 DBCtx&#58; <167142232> SQL SELECT query&#58; SELECT group_id FROM users_groups_link WHERE user_id='10'
?Debug &#58; Nov 25 13&#58;23&#58;19 b04d6b70 DBCtx&#58; <167142232> SQL SELECT query&#58; SELECT paramid, value FROM user_additional_params WHERE userid='10'
?Debug &#58; Nov 25 13&#58;23&#58;19 b04d6b70 RPCConn&#91;SSL&#93;<megaden@10.1.1.10>&#58; Call 0xffffbffa &#40;__rpcs_get_user_info&#41; finished...
?Debug &#58; Nov 25 13&#58;23&#58;19 b04d6b70 RPCConn&#91;SSL&#93;<megaden@10.1.1.10>&#58; Stream cleared
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 RPCConn&#91;SSL&#93;<phpurfa@10.1.1.10>&#58; Call&#58; 0x3011 &#40;rpcf_get_tariff&#41;
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 RPCConn&#91;SSL&#93;<phpurfa@10.1.1.10>&#58; Real Call&#58; 0x3011 &#40;rpcf_get_tariff&#41;
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 RPCConn&#91;SSL&#93;<phpurfa@10.1.1.10>&#58; Call 0x3011 &#40;rpcf_get_tariff&#41; finished...
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 RPCConn&#91;SSL&#93;<phpurfa@10.1.1.10>&#58; Stream cleared
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 RPCConn&#91;SSL&#93;<phpurfa@10.1.1.10>&#58; Call&#58; 0x2551 &#40;rpcf_add_service_to_user&#41;
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 RPCConn&#91;SSL&#93;<phpurfa@10.1.1.10>&#58; Real Call&#58; 0x2551 &#40;rpcf_add_service_to_user&#41;
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 UTM5 DBA&#58; DBAccess instance created
?Debug &#58; Nov 25 13&#58;23&#58;19 b0adcb70 DBA&#58;Ctx&#58; Looking for free context &#40;system=0&#41;

Переменные вроде проверял. Подставлял явно значения. Результат тот-же. Выносил функцию в отдельный файл - тоже виснит. Ставил тип сервиса 0, скрипт не виснет.

Версия билинга 5.2.1-008. С урфой все ок, по крайне мере все остальное работает, как по части юзерских функций, так и по части админских (добавление платежеи и т.п.)

VooDoo
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

Сообщение 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

Пароль не меняется, в чем проблема может быть ?

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

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
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

Сообщение VooDoo »

Так я и делаю, авторизация от обычного пользователя !

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

$slink_id - Service ID
$item_id - Group ID
Функцию вроде как нормально использовали (давно). А что подставляете? service.id или service_links.id? ip_groups.ip_group_id или ip_groups.id?

VooDoo
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

Сообщение VooDoo »

service_links.id и ip_groups.ip_group_id

... ВСе разобрался, нужно вместо ip_groups.ip_group_id использовать IP_GROUPS.ID

Спасибо за наводку.

VooDoo
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

Сообщение VooDoo »

Как с помощью urfaphp редактировать, добавлять и удалять CID ?

starchik
Сообщения: 461
Зарегистрирован: Сб ноя 22, 2008 22:07

Сообщение starchik »

парник, кто знает, поскажите плз как искать абонента по логину, испоользуя rpcf_search_users_ligth (0x1202)
точнее как ей передать логин абонента?

erik
Сообщения: 9
Зарегистрирован: Сб окт 29, 2011 18:16

Сообщение erik »

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 &#91;'services'&#93; &#91;$service_traff_index&#93; &#91;'id'&#93;;
...
for&#40;$i = 0; $i < $services_info &#91;'ipgroup_size'&#93;; $i ++&#41; &#123;
        if &#40;strlen &#40; $services_info &#91;'ipgroup_size_list'&#93; &#91;$i&#93; &#91;'login'&#93; &#41; > 1&#41; &#123;
                $item_id = $services_info &#91;'ipgroup_size_list'&#93; &#91;$i&#93; &#91;'item_id'&#93;;
        &#125;
&#125;
....
$res = $urfa_user5->rpcf_user5_change_password_service &#40; $slink, $item_id, $urfa_old_password_system, $urfa_new_password_system, $urfa_new_password_ret_system &#41;;
Стало:

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

$service_type = 5;
....
$slink = $services &#91;'services'&#93; &#91;$service_traff_index&#93; &#91;'id'&#93;;
$item_id = $services &#91;'services'&#93; &#91;$service_traff_index&#93; &#91;'service_id'&#93;;
...
$res = $urfa_user5->rpcf_user5_change_password_service &#40; $slink, $item_id, $urfa_old_password_system, $urfa_new_password_system, $urfa_new_password_ret_system &#41;;
...
Проблема в том, что пароль хранится в услуге Подключение к Интернет, Коммутируемый доступ. А все решения которые нашел, были через услугу Передача ип трафика (IP группы).

Аватара пользователя
marvin
Сообщения: 77
Зарегистрирован: Сб мар 24, 2007 11:18
Откуда: Нижняя Тура

Сообщение marvin »

starchik писал(а):парник, кто знает, поскажите плз как искать абонента по логину, испоользуя rpcf_search_users_ligth (0x1202)
точнее как ей передать логин абонента?
Функция rpcf_search_users_lite ищет слишком широко, по подстроке. Для поиска конкретного логина лучше использовать rpcf_search_users_new.

Пример использования на Perl:

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

$search = $ourfa->rpcf_search_users_new&#40; poles_count=>1, poles=>&#91; &#123;pole_code_array=>2&#125; &#93;, select_type=>1, patterns_count=>1, patterns=>&#91;&#123;what_id=>2, criteria_id=>3, pattern=>"alex"&#125;&#93;&#41;;

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

Сообщение solomon »

Скажите плиз вот функция в api.xml rpcf_add_service_to_user
в urfa-php есть функция rpcf_add_once_service_to_user
Есть у них отличия какие нить?

dk
Сообщения: 424
Зарегистрирован: Чт авг 10, 2006 08:52

Сообщение dk »

solomon писал(а):Скажите плиз вот функция в api.xml rpcf_add_service_to_user
в urfa-php есть функция rpcf_add_once_service_to_user
Есть у них отличия какие нить?
Это абсолютно разные функции. Первая для подключения любых услуг, во второй только разовые и, если я правильно помню, можно указать количество (продажа кабеля: 15 метров).

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

Сообщение solomon »

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)

Немогу сообразить как лучше сделать - Написать скрипты с вызовами функций ИЛИ же написать скрипты с самими функциями...

Ответить