urfaclient на php

Вопросы по сопутствующим продуктам производства партнеров
Ответить
AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

Может тестировать будем самостоятельно? )

Аватара пользователя
Ata-man
Сообщения: 427
Зарегистрирован: Пт янв 21, 2005 10:04
Откуда: Екатеринбург

Сообщение Ata-man »

Будем сами, :) когда появится тестовая система. На боевой тестить не кузяво.

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

Собственно пара функций для смены ТП. Ну или получения информации по текущим ТП у юзера.

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

function rpcf_get_user_tariffs($user_id, $account_id) { //0x3017
    $ret=array();
    if (!urfa_call(0x3017)) {
	print "Error calling function ". __FUNCTION__ ."\n";
	return FALSE;
    }
    $packet = new Packet();
    $packet->DataSetInt($user_id);
    $packet->DataSetInt($account_id);
    urfa_send_param($packet);
    $x = urfa_get_data();
    $count=$x->DataGetInt();
    $ret['count']=$count;
    for&#40;$i=0; $i<$count;$i++&#41; &#123;
     $tariff&#91;'current_tariff'&#93; = $x->DataGetInt&#40;&#41;;
     $tariff&#91;'next_tariff'&#93; = $x->DataGetInt&#40;&#41;;
     $tariff&#91;'discount_period_id'&#93; = $x->DataGetInt&#40;&#41;;
     $tariff&#91;'tariff_link_id'&#93; = $x->DataGetInt&#40;&#41;;
     $ret&#91;'user_tariffs'&#93;&#91;&#93;=$tariff;
    &#125;
    
    urfa_get_data&#40;&#41;;
    return $ret;
&#125;
Тут получаем инфу по подключеным ТП, а так же всю инфу необходимую для смены ТП, после чего используем для вызова в этой функции:

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

//Если возвращает 0, значит при смене ТП произошла ошибка
function rpcf_link_user_tariff&#40;$user_id, $account_id, $t_current, $t_next, $d_period, $t_link_id&#41; &#123;// 0x3018
    $ret=array&#40;&#41;;
    if &#40;!urfa_call&#40;0x3018&#41;&#41; &#123;
	print "Error calling function ". __FUNCTION__ ."\n";
	return FALSE;
    &#125;
    $packet = new Packet&#40;&#41;;
    $packet->DataSetInt&#40;$user_id&#41;;
    $packet->DataSetInt&#40;$account_id&#41;;
    $packet->DataSetInt&#40;$t_current&#41;;
    $packet->DataSetInt&#40;$t_next&#41;;
    $packet->DataSetInt&#40;$d_period&#41;;
    $packet->DataSetInt&#40;$t_link_id&#41;;
    urfa_send_param&#40;$packet&#41;;
    $x = urfa_get_data&#40;&#41;;
    $ret=$x->DataGetInt&#40;&#41;;
    urfa_get_data&#40;&#41;;
    return $ret;
&#125;
2Netup: Не удаляйте и не баньте автора этой темы, данный скрипт никак не помеха вашему urfaclient, т.к. для ваш ориентирован (судя по стоимости) для серьезного бизнеса, а серьезный бизнес - не будет связываться с какими-то самописаными скриптами, без поддержки и гарантий

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

им это не надо, им достаточно просто поменять протокол, номера функций и ожидаемые параметры. Если захочется заткнуть.

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

Просьба добавить
DataSetString
DataSetDouble
DataSetIp

bobr
Сообщения: 29
Зарегистрирован: Ср июл 18, 2007 11:09

Сообщение bobr »

данный топик меня оч обрадовал :) Наконец-то появляется данная тулза и на пхп5 и с использованием протокола самого урфаклиента.

Сейчас пока использую самописный класс урфаклиента (тоже на пхп5) который написан с использованием админки utm5sh (респект магнуму), прямых правок в базу, HUP'ов и нескольких костылей ... но все исправно работает %)

Скачал скрипт - респект ds!

Просьба писать все на классах :)

Wishmaster
Сообщения: 309
Зарегистрирован: Сб апр 16, 2005 11:44

Сообщение Wishmaster »

ds! Вам отдельный большущий респект! Очень хотелось бы, как уже было сказано выше, увидеть "кнопочку "отблагодарить"", ибо такая работа безусловно отнимает много времени и сил.

По поводу выложенных функций. Все работают. (по крайней мере, у меня.)

на всякий случай:
FreeBSD zzz.ppp 7.1-RC1 FreeBSD 7.1-RC1 #0: Sun Dec 7 05:57:33 UTC 2008

NetUP UTM billing system core. Compile date: Dec 5 2008 17:23:15
Version:5.2.1-006-update7-bsd7
Copyright (c) 2001-2008 NetUP Inc. www.netup.ru

PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Sep 8 2008 11:17:21)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

mikkey finn писал(а):им это не надо, им достаточно просто поменять протокол, номера функций и ожидаемые параметры. Если захочется заткнуть.
Ну просто так протокол тоже не поменять. Для оригинального клиента тоже д.б. ожидаемые параметры и номера функций. Остальное, если до этого дойдет, дело времени. Да и некрасиво это как-то.

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

2Netup&#58; Не удаляйте и не баньте автора этой темы, данный скрипт никак не помеха вашему urfaclient, т.к. для ваш ориентирован &#40;судя по стоимости&#41; для серьезного бизнеса, а серьезный бизнес - не будет связываться с какими-то самописаными скриптами, без поддержки и гарантий
Ну да, просто такие мелочи
1. привлекают небольших провайдеров, например домовых сетей.
2. бесплатны но без поддержки, или платно, но со 100% гарантией оперативного устранения проблемы.
На этом весь бизнес такого рода держится. Примеров сколько угодно можно найти. И помехи имхо, действительно никакой. Это как маркетинговый ход.

Аватара пользователя
Lex
NetUP Team
Сообщения: 623
Зарегистрирован: Ср мар 09, 2005 12:12
Откуда: НетАП
Контактная информация:

Сообщение Lex »

ds писал(а):
mikkey finn писал(а):им это не надо, им достаточно просто поменять протокол, номера функций и ожидаемые параметры. Если захочется заткнуть.
Ну просто так протокол тоже не поменять. Для оригинального клиента тоже д.б. ожидаемые параметры и номера функций. Остальное, если до этого дойдет, дело времени. Да и некрасиво это как-то.

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

2Netup&#58; Не удаляйте и не баньте автора этой темы, данный скрипт никак не помеха вашему urfaclient, т.к. для ваш ориентирован &#40;судя по стоимости&#41; для серьезного бизнеса, а серьезный бизнес - не будет связываться с какими-то самописаными скриптами, без поддержки и гарантий
Ну да, просто такие мелочи
1. привлекают небольших провайдеров, например домовых сетей.
2. бесплатны но без поддержки, или платно, но со 100% гарантией оперативного устранения проблемы.
На этом весь бизнес такого рода держится. Примеров сколько угодно можно найти. И помехи имхо, действительно никакой. Это как маркетинговый ход.
Мы подумаем над тем, что с этим делать и стоит ли что-то делать вообще. Запретить подключение сторонних неавторизованных приложений для нас проблем нет, для этого даже протокол менять не надо, а вот стоит это делать или нет - нужно думать.
Банить автора или удалять эту тему никто не собирается. Лично я вообще придерживаюсь мнения, что этот форум не должен модерироваться.
Автору советывал бы реализовать подключение с шифрованием, т.к. нешифрованные подключения в 007, скорее всего, будут запрещены.

Аватара пользователя
Chris
Сообщения: 2323
Зарегистрирован: Чт июн 02, 2005 14:08
Откуда: 33 76 77 71 86 37 98

Сообщение Chris »

Ну опять понты... Ну что происходит у вас там? Где тот дух, когда мы все собирались на воробьевых горах?... эхххх....

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Спасибо за помощь :D. Еще от меня будет SSL, проверка, когда количество известных и фактических параметров не совпадает.

Аватара пользователя
Chris
Сообщения: 2323
Зарегистрирован: Чт июн 02, 2005 14:08
Откуда: 33 76 77 71 86 37 98

Сообщение Chris »

:D сторонник клиент кстати может представляться не собой )))

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

ds писал(а):Спасибо за помощь :D. Еще от меня будет SSL, проверка, когда количество известных и фактических параметров не совпадает.
Осталось парсер API.XML написать :)

Аватара пользователя
Chris
Сообщения: 2323
Зарегистрирован: Чт июн 02, 2005 14:08
Откуда: 33 76 77 71 86 37 98

Сообщение Chris »

тоже мне проблема :) Через сокс на перле пускаешь и открываешь :-)

Wishmaster
Сообщения: 309
Зарегистрирован: Сб апр 16, 2005 11:44

Сообщение Wishmaster »

2 Netup:

Уважаемые разработчики, может все-таки не нужно ставить палки в колеса? Безусловно, у вас есть много возможностей что-то ограничить или изменить, но мне кажется, всегда найдется человек, который сможет это обойти. Так зачем же превращать разработку продукта в противостояние вас и сторонних разработчиков?

Может стоит пойти по другому пути, и наоборот, открыть API взаимодействия с ядром, а самим переключиться на более плотную разработку логики самого ядра? Тем самым, многие смогут сами для себя написать нужный интерфейс, админку и т.д. И вы будете меньше страдать от настойчивых просьб реализовать то или иное в веб интерфейсе, костылей будет меньше, соответственно, работать система будет стабильнее и к вам будет меньше претензий.

На самом деле, процент ваших клиентов, которые в состоянии сделать подобную работу, не очень большой, а это значит, что остальные не будут заморачиваться и купят у вас "под ключ" в том числе и ваш урфа-клиент.

Согласитесь, иногда требуется сделать что-то разово, или нужен ограниченный функционал, и платить 45000р за полноценный урфа-клиент как-то дороговато и не нужно.

Спасибо.

Ответить