urfaclient добавить ip пользователю

Технические вопросы по UTM 5.0
Ответить
alfatek
Сообщения: 6
Зарегистрирован: Вт янв 27, 2009 18:02

urfaclient добавить ip пользователю

Сообщение alfatek »

Подскажите пожалуйста, как через urfaclient добавить еще один ip адрес уже существующему пользователю, если известен его UID и basic_account.
А то уже весь мозг себе вынес ковыряясь в файле api.xml.

alfatek
Сообщения: 6
Зарегистрирован: Вт янв 27, 2009 18:02

Сообщение alfatek »

Ну неужели никто не сталкивался с подобными трудностями, помогите пожалуйста советом, или кусочком кода.

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Функция <function name="rpcf_add_service_to_user" id="0x2551">, <!-- iptraffic service --> <if variable="service_type" value="3" condition="eq">

alfatek
Сообщения: 6
Зарегистрирован: Вт янв 27, 2009 18:02

Сообщение alfatek »

<?xml version="1.0"?>
<urfa>
<!--parameter name="slink_id" value="1"/>
<call function="rpcf_get_iptraffic_service_link"/-->
<call function="rpcf_add_service_to_user">
<parameter name="service_type" value="3"/>
<parameter name="return_type" value="integer_return"/>
<parameter name="service_id" value="1"/>
<parameter name="discount_period_id" value="1"/>
<parameter name="user_id" value="1"/>
<parameter name="slink_id" value="1"/>
<parameter name="ip_address" value="10.20.19.19"/>
</call>
</urfa>

такой пробный код почему-то выдает такую ошибку, что бы это значило?

Processing action: add_ip
service_type=>3
return_type=>integer_return
service_id=>1
discount_period_id=>1
user_id=>1
slink_id=>1
ip_address=>10.20.19.19
ERROR: code 2 (No such file or directory)

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

имхо надо юзать
name="rpcf_add_to_ipgroup" id="0x5200"

alfatek
Сообщения: 6
Зарегистрирован: Вт янв 27, 2009 18:02

Сообщение alfatek »

Pulse писал(а):имхо надо юзать
name="rpcf_add_to_ipgroup" id="0x5200"
В этой функции запрашивается значение ip_group_id. Как его узнать для аккаунта?

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Я просто смотрел как админка делает, там она группы вообще вроде не трогает.

alfatek
Сообщения: 6
Зарегистрирован: Вт янв 27, 2009 18:02

Сообщение alfatek »

Kayfolom писал(а):Я просто смотрел как админка делает, там она группы вообще вроде не трогает.
Уже примерно понятно что это происходит через функцию rpcf_add_service_to_user, только каким образом это работает пока не ясно :-(

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

Сообщение dk »

Подозреваю, что всё это должно быть достаточно близко к поведению неофициальной админки. Выбирал строки из рабочего кода, может быть пару пропустил, но смысл понятен.

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

my $slink = 0;
for my $oneip &#40; @iplist &#41; &#123;
  my $slinkstr = &#40; $idx &#41; ? " -slinkid $slink" &#58; '' ;
  my $cmd = qq&#40;$pre --ChangeIpGroup -add -uid $user -aid $user -sid $svc->&#123;id&#125; -tplinkid $ATL->&#123;id&#125; $slinkstr -userIP "$oneip" -userMASK "255.255.255.255" -userMAC "" -userLogin "" -userPasswd "" -routerID 0 -unabon -useVPN&#41;;
  print `$cmd`;
  unless &#40; $slink &#41; &#123;
    my $z = query&#40;"SELECT * FROM service_links WHERE account_id=$user AND is_deleted=0 order by id desc limit 1"&#41;;
    $slink = $z->&#123;id&#125; || 0 ;
  &#125;

&#125;

alfatek
Сообщения: 6
Зарегистрирован: Вт янв 27, 2009 18:02

Сообщение alfatek »

Всем спасибо, мне уже удалось создать работоспособный код для своих нужд, благодаря кускам кода соседних веток.

Beavis
Сообщения: 205
Зарегистрирован: Вт июн 21, 2005 00:44

Сообщение Beavis »

alfatek писал(а):Всем спасибо, мне уже удалось создать работоспособный код для своих нужд, благодаря кускам кода соседних веток.
Поделись инфой, тоже нужно добавить еще один ИП юзеру.
(и потом удалить его)

Ответить