urfaclient на php

Вопросы по сопутствующим продуктам производства партнеров
Ответить
antonio
Сообщения: 3
Зарегистрирован: Пн сен 21, 2009 11:35

Сообщение antonio »

Вот ещё один новичёк в рядах администраторов биллинга.
У меня стоит задача сделать скрипт генерирующий по
20 30 50 и т.д. аккаунтов в биллинг .
Вот сейчас с помощью php как то буду пробовать решить данную задачю.
Можете ткнуть с чего начать??
Тут начал но пока не понятно будет ли работать с моей 5.2.1-007 версий работать?
можете подсказать как начать , я иммею в виду на php_urfa_client осуществить мою задачю.

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

antonio писал(а):Вот ещё один новичёк в рядах администраторов биллинга.
Осенний призыв!? :D
antonio писал(а):У меня стоит задача сделать скрипт генерирующий по
20 30 50 и т.д. аккаунтов в биллинг .
Вот сейчас с помощью php как то буду пробовать решить данную задачю.
Можете ткнуть с чего начать??
Тут начал но пока не понятно будет ли работать с моей 5.2.1-007 версий работать?
можете подсказать как начать , я иммею в виду на php_urfa_client осуществить мою задачю.
Задача почти тривиальная, чуть выше даже примерное решение рассматривалось.
Сам порядок:
Добавляем пользователя rpcf_add_user, получаем user_id
С полученным user_id добавляем basic_account - rpcf_add_account
Цепляем к аккаунту тариф - rpcf_link_user_tariff
Добавляем услуги - rpcf_add_service_to_user
Примерно так.

antonio
Сообщения: 3
Зарегистрирован: Пн сен 21, 2009 11:35

Сообщение antonio »

Да осенний призывной с 2 числа на новом месте.
можете поправить , ход мыслей верный(как начать работать с ура клиентом на php)
1 прописать параметры соединения к ядру netup
2 cli.php заскоментить строчку с нужной функцией
3 запустить cli.php из консоли

mrDefault
Сообщения: 86
Зарегистрирован: Ср окт 29, 2008 12:04

Сообщение mrDefault »

уважаемые гуру, такой вопрос не могу добавить нового пользователя c помощью rpcf_add_user_new_id. Точнее не могу понять что должно передаваться в $parameters. Какой ставить id и value и откуда их брать.
Подскажите пожалуйста, а ещё лучше приведите кусочек кода для добавления пользователя, буду очень благодарен. Спасибо

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

antonio писал(а):Да осенний призывной с 2 числа на новом месте.
можете поправить , ход мыслей верный(как начать работать с ура клиентом на php)
1 прописать параметры соединения к ядру netup
2 cli.php заскоментить строчку с нужной функцией
3 запустить cli.php из консоли
По п.1 - да, без этого никак.
Дальше ход мыслей ушел в сторону.
cli.php приведен в качестве примера вызова функций.
Для решения поставленной задачи вам необходимо написать свой кусок кода на php. Так как требуется добавлять не один десяток учеток, вызов всего в цикле. Останется продумать как генерить логины, пароли можно генерить с помощью rpcf_get_new_secret.
3. Запускать можно хоть с консоли, хоть выложить на web-хост и через браузер.

anatoliy_z
Сообщения: 2
Зарегистрирован: Пн сен 21, 2009 17:12

Сообщение anatoliy_z »

Выскакивает такая ошибка, пробовал пересобрать extensions но ничего не изменяется.

<b>Fatal error</b>: Uncaught exception 'Exception' with message 'Error code 0' in /usr/local/www/data-dist/home/urfa/URFAClient_Packet.php:27
Stack trace:
#0 /usr/local/www/data-dist/home/urfa/URFAClient_Connection.php(82): URFAClient_Packet-&gt;read()
#1 /usr/local/www/data-dist/home/urfa/URFAClient_Admin.php(297): URFAClient_Connection-&gt;urfa_call(8240)
#2 /usr/local/www/data-dist/home/example.php(21): URFAClient_Admin-&gt;rpcf_get_accountinfo(1)
#3 {main}
thrown in <b>/usr/local/www/data-dist/home/urfa/URFAClient_Packet.php</b> on line <b>27</b><br />


Может кто знает как это решить?
Ау, подскажите...
Последний раз редактировалось anatoliy_z Вт сен 22, 2009 10:05, всего редактировалось 1 раз.

ph4n70m_d
Сообщения: 19
Зарегистрирован: Чт май 14, 2009 09:53

Сообщение ph4n70m_d »

И еще раз здравствуйте.
я как обычно с назойливым вопросом по урфа пхп

теперь трабла в том что пользователь создается, но basic_account не прописывается, он прописывается только в том случае если вызывать сперва добавление пользователя, а затем отдельным скриптом добавление аккаунта, т.е. вместе не работает о.О в одном скрипте...
выдает когда в одном скрипте
Error calling function rpcf_add_account
а в дебаге

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

?Debug &#58; Sep 20 15&#58;26&#58;57 RPCConn&#91;SSL&#93;<init@192.168.100.3>&#58; Real Call&#58; 0x2031 &#40;rpcf_add_account&#41;
 ERROR &#58; Sep 20 15&#58;26&#58;57 RPCServer@0.0.0.0&#58; Exception in void* rpcf_add_account&#40;void*&#41;&#58; #22

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

ph4n70m_d писал(а):теперь трабла в том что пользователь создается, но basic_account не прописывается, он прописывается только в том случае если вызывать сперва добавление пользователя, а затем отдельным скриптом добавление аккаунта, т.е. вместе не работает о.О в одном скрипте...
выдает когда в одном скрипте
А кусок кода можно увидеть который не работает?

ph4n70m_d
Сообщения: 19
Зарегистрирован: Чт май 14, 2009 09:53

Сообщение ph4n70m_d »

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

$pass = $urfa_admin->rpcf_get_new_secret&#40;&#41;;
$user&#91;'user_id'&#93; = 0;
$user&#91;'login'&#93; = 'test001';
$user&#91;'password'&#93; = $pass&#91;'secret'&#93;;
$param = array&#40;&#41;;
$data = $urfa_admin->rpcf_add_user&#40;$user,$param&#41;;
$user_id = $data&#91;'user_id'&#93;;

if&#40;$user_id > 0 &#41;&#123;
   $account = array&#40;&#41;;
   $account_id = $urfa_admin->rpcf_add_account&#40;$account,$user_id&#41;;
&#125;
Вот так вылазит ошибка.
Если так:

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

$pass = $urfa_admin->rpcf_get_new_secret&#40;&#41;;
$user&#91;'user_id'&#93; = 0;
$user&#91;'login'&#93; = 'test001';
$user&#91;'password'&#93; = $pass&#91;'secret'&#93;;
$param = array&#40;&#41;;
$data = $urfa_admin->rpcf_add_user&#40;$user,$param&#41;;
а затем увидев какой user_id присвоен логину этому делать так в другом скрипте:

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

$user_id = 3;
$account_id = $urfa_admin->rpcf_add_account&#40;$account,$user_id&#41;;
То все работает o.O

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Сообщение Chrst »

ph4n70m_d писал(а):

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

$pass = $urfa_admin->rpcf_get_new_secret&#40;&#41;;
$user&#91;'user_id'&#93; = 0;
$user&#91;'login'&#93; = 'test001';
$user&#91;'password'&#93; = $pass&#91;'secret'&#93;;
$param = array&#40;&#41;;
$data = $urfa_admin->rpcf_add_user&#40;$user,$param&#41;;
$user_id = $data&#91;'user_id'&#93;;

if&#40;$user_id > 0 &#41;&#123;
   $account = array&#40;&#41;;
   $account_id = $urfa_admin->rpcf_add_account&#40;$account,$user_id&#41;;
&#125;
Вот так вылазит ошибка.
Если так:

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

$pass = $urfa_admin->rpcf_get_new_secret&#40;&#41;;
$user&#91;'user_id'&#93; = 0;
$user&#91;'login'&#93; = 'test001';
$user&#91;'password'&#93; = $pass&#91;'secret'&#93;;
$param = array&#40;&#41;;
$data = $urfa_admin->rpcf_add_user&#40;$user,$param&#41;;
а затем увидев какой user_id присвоен логину этому делать так в другом скрипте:

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

$user_id = 3;
$account_id = $urfa_admin->rpcf_add_account&#40;$account,$user_id&#41;;
То все работает o.O
Да все вроде так. Это рабочий вариант. Единственно $param не передается, просто $user.
После выполнения rpcf_add_user какое значение в $user_id отдается?

ph4n70m_d
Сообщения: 19
Зарегистрирован: Чт май 14, 2009 09:53

Сообщение ph4n70m_d »

Значит выяснилось следующее работает в таком варианте

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

@ini_set&#40;"display_errors", "1"&#41;;
error_reporting&#40;E_ALL&#41;;

require_once&#40;"./URFAClient.php"&#41;;

echo "<pre>";
$urfa_admin = new URFAClient_Admin&#40;"init", "init"&#41;;
$pass = $urfa_admin->rpcf_get_new_secret&#40;&#41;;
echo $pass&#91;'secret'&#93;;
$user&#91;'user_id'&#93; = 0;
$user&#91;'login'&#93; = 'test2';
$user&#91;'password'&#93; = $pass&#91;'secret'&#93;;
$param = array&#40;&#41;;
$data = $urfa_admin->rpcf_add_user&#40;$user,$param&#41;;
$user_id = $data&#91;'user_id'&#93;;
$urfa_admin = new URFAClient_Admin&#40;"init", "init"&#41;;
if&#40;$user_id > 0 &#41;&#123;
$account = array&#40;&#41;;
$account_id = $urfa_admin->rpcf_add_account&#40;$account,$user_id&#41;;
&#125;
Вопрос второй вызов $urfa_admin = new URFAClient_Admin("init", "init") нужен или где то ошибка?

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

Сообщение Kayfolom »

У меня заработал этот кусок кода. Все взято с вики (только под старый вызов гетдата раскоментил строчки).

Второй вызов точно не нужен.
Вот мой полностью рабочий код:

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

<?php

//@ini_set&#40;"display_errors", "1"&#41;;
//error_reporting&#40;E_ALL&#41;;

require_once&#40;"URFAClient.php"&#41;;

$UTMCore_Login='лалала';
$UTMCore_Password='парапарарам';
$UTMCoreHost='127.0.0.1';
$UTMCorePort='11758';

try &#123;
	$urfa_admin = new URFAClient_Admin&#40;$UTMCore_Login, $UTMCore_Password&#41;;
    &#125; catch &#40;Exception $exception&#41; &#123; 
	echo "Error in line ", $exception->getLine&#40;&#41;;
	echo $exception->getMessage&#40;&#41;; 
    &#125; 

$pass = $urfa_admin->rpcf_get_new_secret&#40;&#41;; 
print "pass = ".$pass."\r\n";

$user&#91;'user_id'&#93; = 0; 
$user&#91;'login'&#93; = 'test101'; 
$user&#91;'password'&#93; = $pass&#91;'secret'&#93;; 
$param = array&#40;&#41;; 
$data = $urfa_admin->rpcf_add_user&#40;$user,$param&#41;; 
$user_id = $data&#91;'user_id'&#93;; 

print "user_id = ".$user_id."\r\n";

if&#40;$user_id > 0 &#41;&#123; 
	$account = array&#40;&#41;; 
	$account_id = $urfa_admin->rpcf_add_account&#40;$account,$user_id&#41;; 
	print "account_id = ".$account_id."\r\n";
&#125;

?>

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

Сообщение ds »

ph4n70m_d писал(а): Вопрос второй вызов $urfa_admin = new URFAClient_Admin("init", "init") нужен или где то ошибка?
Нет не нужен. Если без него не работает, значит выше нужно искать ошибку

anatoliy_z
Сообщения: 2
Зарегистрирован: Пн сен 21, 2009 17:12

Сообщение anatoliy_z »

Может кто знает как это побороть?

<b>Fatal error</b>: Uncaught exception 'Exception' with message 'Error code 0' in /usr/local/www/data-dist/home/urfa/URFAClient_Packet.php:27
Stack trace:
#0 /usr/local/www/data-dist/home/urfa/URFAClient_Connection.php(82): URFAClient_Packet-&gt;read()
#1 /usr/local/www/data-dist/home/urfa/URFAClient_Admin.php(297): URFAClient_Connection-&gt;urfa_call(8240)
#2 /usr/local/www/data-dist/home/example.php(21): URFAClient_Admin-&gt;rpcf_get_accountinfo(1)
#3 {main}
thrown in <b>/usr/local/www/data-dist/home/urfa/URFAClient_Packet.php</b> on line <b>27</b><br />

antonio
Сообщения: 3
Зарегистрирован: Пн сен 21, 2009 11:35

Сообщение antonio »

По п.1 - да, без этого никак.
Дальше ход мыслей ушел в сторону.
cli.php приведен в качестве примера вызова функций.
Для решения поставленной задачи вам необходимо написать свой кусок кода на php. Так как требуется добавлять не один десяток учеток, вызов всего в цикле. Останется продумать как генерить логины, пароли можно генерить с помощью rpcf_get_new_secret.
3. Запускать можно хоть с консоли, хоть выложить на web-хост и через браузер.
Извините но я в ступоре не знаю что дальше делать.
Можете подсказать , наставить на путь истинный?

Ответить