urfaclient на php

Вопросы по сопутствующим продуктам производства партнеров
Ответить
Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

AndrewE писал(а):А у меня ругается на hash_init
http://www.php.net/manual/ru/function.hash-init.php
PHP 5 >= 5.1.2

В версиях младше нет этой функции

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

Сообщение AndrewE »

phpinfo()
PHP Version => 5.2.0
ну да ладно будем копать сами.

ps. Хотелось бы увидеть продолжение реализации. Респект автору.

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

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

Ну вот, в который раз ds без проволочек просто взял и сделал. До этого был rfw-client, а теперь вот и urfa появилась!

Уважаем! :super:

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

Сообщение Chris »

Да Екатеринбург как обычно впереди всей России :-) И Магнум и ДС, вообще молодцы!

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

Сообщение Magnum72 »

Chris писал(а):Да Екатеринбург как обычно впереди всей России :-) И Магнум и ДС, вообще молодцы!
Я все еще тешу себя надеждой что DS откликнется на мое предложение :)

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

Сообщение Wishmaster »

AndrewE писал(а):phpinfo()
PHP Version => 5.2.0
ну да ладно будем копать сами.

ps. Хотелось бы увидеть продолжение реализации. Респект автору.
поставь ports/security/pecl-hash и будет тебе счастье.

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

Сообщение Chris »

Magnum72 писал(а):
Chris писал(а):Да Екатеринбург как обычно впереди всей России :-) И Магнум и ДС, вообще молодцы!
Я все еще тешу себя надеждой что DS откликнется на мое предложение :)
а команду зовешь? кстати вас там какашкадо не выкупило?

Davion
Сообщения: 267
Зарегистрирован: Чт дек 01, 2005 13:36

Сообщение Davion »

Chris писал(а):Да Екатеринбург как обычно впереди всей России :-) И Магнум и ДС, вообще молодцы!
:roll: ия ия :) 40 км от ебурга ))))) может коллеги екатеринбуржци соберемся перед новым годом по :beer: ?

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

Сообщение ds »

Вот, выкладываю. Реализованы пока функции:

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

 rpcf_get_tariffs_list() //0x3010 
 rpcf_core_version()  //0x0045 
 rpcf_core_build()  //0x0046
 rpcf_get_discount_periods()  //0x2600
 rpcf_get_bytes_in_kb()  //0x10002
 rpcf_get_currency_list()  //0x2910
 rpcf_get_payment_methods_list()  //0x3100
 rpcf_get_userinfo($user_id)  //0x2006
 rpcf_get_ipgroups_list()  //0x2900
 rpcf_get_tclass($class_id)  //0x2302
 rpcf_get_accountinfo($account_id)  //0x2030
http://62.168.232.78/cli/urfaclient.tar.gz

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

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

Сообщение ds »

Забыл написать, названия параметров соответствуют названиям в api.xml

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

Сообщение ds »

Дописал

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

rpcf_get_user_account_list($user_id)  //0x2033
rpcf_block_account($account_id,$block)  //0x2037
rpcf_get_tclasses()  //0x2300
Ну и пару багов в парсере подправил
Качать там же.

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

Сообщение AndrewE »

Возникла необходимость в кнопке спасибо )

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

Сообщение ds »

Добавил

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

rpcf_general_report_new($user_id=0,$account_id=0,$group_id=0,$discount_period_id=0,$start_date,$end_date)  //0x3020
Если выложите список функций которыми пользуетесь, постараюсь сделать в первую очередь. А то лениво подряд все делать.

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

Сообщение AndrewE »

а мы тебе поможем в этом:

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

function rpcf_get_all_services_for_user($account_id) { //0x2700
    $ret=array();
    if (!urfa_call(0x2700)) {
	print "Error calling function ". __FUNCTION__ ."\n";
	return FALSE;
    }

    $packet = new Packet();
    $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;
        $x = urfa_get_data&#40;&#41;;
	$service&#91;'id'&#93; = $x->DataGetInt&#40;&#41;;
	if &#40;$service&#91;'id'&#93; != -1&#41;
	&#123;
	 $service&#91;'type'&#93; = $x->DataGetInt&#40;&#41;;
	 $service&#91;'name'&#93; = $x->DataGetString&#40;&#41;;
	 $service&#91;'tarif_name'&#93; = $x->DataGetString&#40;&#41;;
	 $service&#91;'cost'&#93; = $x->DataGetDouble&#40;&#41;;
	 $service&#91;'slink'&#93; = $x->DataGetInt&#40;&#41;;
	 $service&#91;'period'&#93; = $x->DataGetInt&#40;&#41;;
        &#125;
        else
        &#123;
	 $service&#91;'type'&#93; = -1;
	 $service&#91;'name'&#93; = "";
	 $service&#91;'tarif_name'&#93; = "";
	 $service&#91;'cost'&#93; = -1;
	 $service&#91;'slink'&#93; = -1;
	 $service&#91;'period'&#93; = -1;
        &#125;
	$ret&#91;'services'&#93;&#91;&#93;=$service;
    &#125;
    urfa_get_data&#40;&#41;;
    return $ret;
&#125;
хотелось бы посмотреть примеры реализации смены ТП

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

<?xml version="1.0"?>
<urfa>
  <parameter name="user_id"/>
  <parameter name="tariff_next"/>
  <call function="rpcf_get_user_tariffs"/>
  <if variable="user_tariffs_size" value="0" condition="eq">
    <error comment="tariffs not linked"/>
  </if>
  <set dst="tariff_current" src="tariff_current_array"/>
  <set dst="discount_period_id" src="discount_period_id_array"/>
  <set dst="tariff_link_id" src="tariff_link_id_array"/>
  <call function="rpcf_link_user_tariff"/>
</urfa>
и
<function name="rpcf_user5_change_password_service" id="-0x4025">

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

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

Попробую и я :)

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

function rpcf_remove_user_from_group&#40;$user_id,$group_id&#41; &#123; //0x2408
    $ret=array&#40;&#41;;
    if &#40;!urfa_call&#40;0x2408&#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;$group_id&#41;;
    urfa_send_param&#40;$packet&#41;;
    urfa_get_data&#40;&#41;;
    return $ret;
&#125;
и

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

function rpcf_add_group_to_user&#40;$user_id,$group_id&#41; &#123; //0x2552
    $ret=array&#40;&#41;;
    if &#40;!urfa_call&#40;0x2552&#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;$group_id&#41;;
    urfa_send_param&#40;$packet&#41;;
    urfa_get_data&#40;&#41;;
    return $ret;
&#125;

Проверьте кто-нибудь, работает ли?
Последний раз редактировалось Ata-man Вт дек 23, 2008 15:53, всего редактировалось 1 раз.

Ответить