http://rghost.ru/2075984/private/cf55ac ... 42713479cfPuzan_aga писал(а):буду очень признателен если выложишgil писал(а):у меня версия может быть другая самой библиотеки.
посмотрите, в новой как коннект к ядру делается.
или могу свою старую выложить, если требуется.
Пополнение счета и включение интернет
скажите плиз что это у меня в дебаге пишет - пробывал как вы сделать но не получилось
Код: Выделить всё
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Call 0x2001 (rpcf_get_users_list) finished...
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Stream cleared
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: URFA ping received, sending reply
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Call: 0x2011 (rpcf_get_users_count)
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Real Call: 0x2011 (rpcf_get_users_count)
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Call 0x2011 (rpcf_get_users_count) finished...
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Stream cleared
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: URFA ping received, sending reply
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Call: 0x2001 (rpcf_get_users_list)
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Real Call: 0x2001 (rpcf_get_users_list)
?Debug : Jul 12 16:25:36 RPCServer@172.16.2.15: rpcf_get_users_list: from: 0, to:3, cnt: 3
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Call 0x2001 (rpcf_get_users_list) finished...
?Debug : Jul 12 16:25:36 RPCConn[SSL]<init@172.16.2.15>: Stream cleared
?Debug : Jul 12 16:25:38 RPCConn[SSL]<init@172.16.2.15>: URFA ping received, sending reply
?Debug : Jul 12 16:25:38 RPCConn[SSL]<init@172.16.2.15>: Call: 0x11112 (rpcf_get_core_time)
?Debug : Jul 12 16:25:38 RPCConn[SSL]<init@172.16.2.15>: Real Call: 0x11112 (rpcf_get_core_time)
?Debug : Jul 12 16:25:38 RPCConn[SSL]<init@172.16.2.15>: Call 0x11112 (rpcf_get_core_time) finished...
?Debug : Jul 12 16:25:38 RPCConn[SSL]<init@172.16.2.15>: Stream cleared
?Debug : Jul 12 16:26:09 BusClassif: aggregation interval reached for slink <0> ip <0> tclass <10>
?Debug : Jul 12 16:26:09 UTM5 DBA: DBAccess instance created
?Debug : Jul 12 16:26:09 DBA:Ctx: Looking for free context (system=1)
?Debug : Jul 12 16:26:09 DBCtx: <164471160> SQL query: BEGIN
?Debug : Jul 12 16:26:09 DBCtx: DB transaction begin
?Debug : Jul 12 16:26:09 DBCtx: <164471160> SQL query: INSERT INTO discount_transactions_all(account_id,discount,discount_with_tax,service_type,discount_date,charge_type) VALUES('0','0','0','3','1278937569','19')
?Debug : Jul 12 16:26:09 DBCtx: <164471160> SQL query: INSERT INTO discount_transactions_iptraffic_all(id,account_id,discount,discount_with_tax,slink_id,discount_date,discount_date_hour,discount_date_day,discount_date_month,t_class,bytes) VALUES('42318','0','0','0','0','1278937569','1278936000','1278878400','1277928000','10','64656')
?Debug : Jul 12 16:26:09 DBCtx: <164471160> SQL query: COMMIT
?Debug : Jul 12 16:26:09 DBCtx: DB transaction commit
?Debug : Jul 12 16:26:09 DBA:Ctx: Pushing back free context (system=1)
-Stats : Jul 12 16:26:09 UTM5 DBA: Stats: Uptime: 00:00:00. Events: 0; Errors: 0
?Debug : Jul 12 16:26:09 BusClassif: aggregation interval reached for slink <0> ip <0> tclass <110>
?Debug : Jul 12 16:26:09 UTM5 DBA: DBAccess instance created
?Debug : Jul 12 16:26:09 DBA:Ctx: Looking for free context (system=1)
?Debug : Jul 12 16:26:09 DBCtx: <164419248> SQL query: BEGIN
?Debug : Jul 12 16:26:09 DBCtx: DB transaction begin
?Debug : Jul 12 16:26:09 DBCtx: <164419248> SQL query: INSERT INTO discount_transactions_all(account_id,discount,discount_with_tax,service_type,discount_date,charge_type) VALUES('0','0','0','3','1278937569','19')
?Debug : Jul 12 16:26:09 DBCtx: <164419248> SQL query: INSERT INTO discount_transactions_iptraffic_all(id,account_id,discount,discount_with_tax,slink_id,discount_date,discount_date_hour,discount_date_day,discount_date_month,t_class,bytes) VALUES('42319','0','0','0','0','1278937569','1278936000','1278878400','1277928000','110','45388')
?Debug : Jul 12 16:26:09 DBCtx: <164419248> SQL query: COMMIT
?Debug : Jul 12 16:26:09 DBCtx: DB transaction commit
?Debug : Jul 12 16:26:09 DBA:Ctx: Pushing back free context (system=1)
-Stats : Jul 12 16:26:09 UTM5 DBA: Stats: Uptime: 00:00:00. Events: 0; Errors: 0
?Debug : Jul 12 16:26:38 RPCConn[SSL]<init@172.16.2.15>: URFA ping received, sending reply
?Debug : Jul 12 16:26:38 RPCConn[SSL]<init@172.16.2.15>: Call: 0x11112 (rpcf_get_core_time)
?Debug : Jul 12 16:26:38 RPCConn[SSL]<init@172.16.2.15>: Real Call: 0x11112 (rpcf_get_core_time)
?Debug : Jul 12 16:26:38 RPCConn[SSL]<init@172.16.2.15>: Call 0x11112 (rpcf_get_core_time) finished...
?Debug : Jul 12 16:26:38 RPCConn[SSL]<init@172.16.2.15>: Stream cleared
?Debug : Jul 12 16:26:52 BusClassif: aggregation interval reached for slink <0> ip <0> tclass <10>
?Debug : Jul 12 16:26:52 UTM5 DBA: DBAccess instance created
?Debug : Jul 12 16:26:52 DBA:Ctx: Looking for free context (system=1)
?Debug : Jul 12 16:26:52 DBCtx: <164445160> SQL query: BEGIN
?Debug : Jul 12 16:26:52 DBCtx: DB transaction begin
?Debug : Jul 12 16:26:52 DBCtx: <164445160> SQL query: INSERT INTO discount_transactions_all(account_id,discount,discount_with_tax,service_type,discount_date,charge_type) VALUES('0','0','0','3','1278937612','19')
?Debug : Jul 12 16:26:52 DBCtx: <164445160> SQL query: INSERT INTO discount_transactions_iptraffic_all(id,account_id,discount,discount_with_tax,slink_id,discount_date,discount_date_hour,discount_date_day,discount_date_month,t_class,bytes) VALUES('42320','0','0','0','0','1278937612','1278936000','1278878400','1277928000','10','53280')
?Debug : Jul 12 16:26:52 DBCtx: <164445160> SQL query: COMMIT
?Debug : Jul 12 16:26:52 DBCtx: DB transaction commit
?Debug : Jul 12 16:26:52 DBA:Ctx: Pushing back free context (system=1)
-Stats : Jul 12 16:26:52 UTM5 DBA: Stats: Uptime: 00:00:00. Events: 0; Errors: 0
?Debug : Jul 12 16:26:52 BusClassif: aggregation interval reached for slink <0> ip <0> tclass <110>
?Debug : Jul 12 16:26:52 UTM5 DBA: DBAccess instance created
?Debug : Jul 12 16:26:52 DBA:Ctx: Looking for free context (system=1)
?Debug : Jul 12 16:26:52 DBCtx: <164497160> SQL query: BEGIN
?Debug : Jul 12 16:26:52 DBCtx: DB transaction begin
?Debug : Jul 12 16:26:52 DBCtx: <164497160> SQL query: INSERT INTO discount_transactions_all(account_id,discount,discount_with_tax,service_type,discount_date,charge_type) VALUES('0','0','0','3','1278937612','19')
?Debug : Jul 12 16:26:52 DBCtx: <164497160> SQL query: INSERT INTO discount_transactions_iptraffic_all(id,account_id,discount,discount_with_tax,slink_id,discount_date,discount_date_hour,discount_date_day,discount_date_month,t_class,bytes) VALUES('42321','0','0','0','0','1278937612','1278936000','1278878400','1277928000','110','25728')
?Debug : Jul 12 16:26:52 DBCtx: <164497160> SQL query: COMMIT
?Debug : Jul 12 16:26:52 DBCtx: DB transaction commit
?Debug : Jul 12 16:26:52 DBA:Ctx: Pushing back free context (system=1)
-Stats : Jul 12 16:26:52 UTM5 DBA: Stats: Uptime: 00:00:00. Events: 0; Errors: 0
?Debug : Jul 12 16:27:29 BusClassif: aggregation interval reached for slink <0> ip <0> tclass <110>
?Debug : Jul 12 16:27:29 UTM5 DBA: DBAccess instance created
?Debug : Jul 12 16:27:29 DBA:Ctx: Looking for free context (system=1)
?Debug : Jul 12 16:27:29 DBCtx: <164471160> SQL query: BEGIN
?Debug : Jul 12 16:27:29 DBCtx: DB transaction begin
?Debug : Jul 12 16:27:29 DBCtx: <164471160> SQL query: INSERT INTO discount_transactions_all(account_id,discount,discount_with_tax,service_type,discount_date,charge_type) VALUES('0','0','0','3','1278937649','19')
?Debug : Jul 12 16:27:29 DBCtx: <164471160> SQL query: INSERT INTO discount_transactions_iptraffic_all(id,account_id,discount,discount_with_tax,slink_id,discount_date,discount_date_hour,discount_date_day,discount_date_month,t_class,bytes) VALUES('42322','0','0','0','0','1278937649','1278936000','1278878400','1277928000','110','39464')
?Debug : Jul 12 16:27:29 DBCtx: <164471160> SQL query: COMMIT
?Debug : Jul 12 16:27:29 DBCtx: DB transaction commit
?Debug : Jul 12 16:27:29 DBA:Ctx: Pushing back free context (system=1)
-Stats : Jul 12 16:27:29 UTM5 DBA: Stats: Uptime: 00:00:00. Events: 0; Errors: 0
?Debug : Jul 12 16:27:29 BusClassif: aggregation interval reached for slink <0> ip <0> tclass <10>
?Debug : Jul 12 16:27:29 UTM5 DBA: DBAccess instance created
?Debug : Jul 12 16:27:29 DBA:Ctx: Looking for free context (system=1)
?Debug : Jul 12 16:27:29 DBCtx: <164419248> SQL query: BEGIN
?Debug : Jul 12 16:27:29 DBCtx: DB transaction begin
?Debug : Jul 12 16:27:29 DBCtx: <164419248> SQL query: INSERT INTO discount_transactions_all(account_id,discount,discount_with_tax,service_type,discount_date,charge_type) VALUES('0','0','0','3','1278937649','19')
?Debug : Jul 12 16:27:29 DBCtx: <164419248> SQL query: INSERT INTO discount_transactions_iptraffic_all(id,account_id,discount,discount_with_tax,slink_id,discount_date,discount_date_hour,discount_date_day,discount_date_month,t_class,bytes) VALUES('42323','0','0','0','0','1278937649','1278936000','1278878400','1277928000','10','77344')
?Debug : Jul 12 16:27:29 DBCtx: <164419248> SQL query: COMMIT
?Debug : Jul 12 16:27:29 DBCtx: DB transaction commit
?Debug : Jul 12 16:27:29 DBA:Ctx: Pushing back free context (system=1)
-Stats : Jul 12 16:27:29 UTM5 DBA: Stats: Uptime: 00:00:00. Events: 0; Errors: 0
?Debug : Jul 12 16:27:38 RPCConn[SSL]<init@172.16.2.15>: URFA ping received, sending reply
?Debug : Jul 12 16:27:38 RPCConn[SSL]<init@172.16.2.15>: Call: 0x11112 (rpcf_get_core_time)
?Debug : Jul 12 16:27:38 RPCConn[SSL]<init@172.16.2.15>: Real Call: 0x11112 (rpcf_get_core_time)
?Debug : Jul 12 16:27:38 RPCConn[SSL]<init@172.16.2.15>: Call 0x11112 (rpcf_get_core_time) finished...
?Debug : Jul 12 16:27:38 RPCConn[SSL]<init@172.16.2.15>: Stream cleared
включить есть кому та 1 пользователь с положительным балансом, пополненым из 1С не включился инет - вот ищу пути решенияgil писал(а):А в чем именно проблема? Тут я не вижу попыток включения интернета. Либо скрипт не запускался, либо ему некому включать интернет.
crontab -e прописал */5 * * * * /usr/bin/php и /netup/utm5/addons/auto_inet/auto_inet.php
пробывал запустить вручную вот что выдал
./auto_inet.php
./auto_inet.php: line 1: ?php: Нет такого файла или каталога
./auto_inet.php: line 2: //: является директорией
./auto_inet.php: line 3: syntax error near unexpected token `"./URFAClient.php"'
./auto_inet.php: line 3: `require_once("./URFAClient.php");'
или это не пральный подход?
./auto_inet.php
./auto_inet.php: line 1: ?php: Нет такого файла или каталога
./auto_inet.php: line 2: //: является директорией
./auto_inet.php: line 3: syntax error near unexpected token `"./URFAClient.php"'
./auto_inet.php: line 3: `require_once("./URFAClient.php");'
или это не пральный подход?
неправильный. в кроне должно быть в одну строку
и запускать для теста так же:
Код: Выделить всё
*/5 * * * * /usr/bin/php /netup/utm5/addons/auto_inet/auto_inet.php
Код: Выделить всё
/usr/bin/php /netup/utm5/addons/auto_inet/auto_inet.php
А у меня не включается интернет при оплате через терминал. И не хочется включать интернет всем пользователям, т.к. на лимитированых тарифах обычно ложат деньги при плюсе. В таком случае, в скрипт включения добавлять проверку тарифа? А без костыля нельзя? Через кассу-то включается нормально. Неужели нельзя сделать, чтобы включалось и через терминал?
Вроде нашел. viewtopic.php?t=8310&highlight=payment Попробую.Voronok писал(а):А у меня не включается интернет при оплате через терминал. И не хочется включать интернет всем пользователям, т.к. на лимитированых тарифах обычно ложат деньги при плюсе. В таком случае, в скрипт включения добавлять проверку тарифа? А без костыля нельзя? Через кассу-то включается нормально. Неужели нельзя сделать, чтобы включалось и через терминал?
Пересилил-таки себя и почитал документацию. Там пишут, что всё должно быть тип-топ. Поживем увидим.Voronok писал(а):А если используется netup-payment-systems-v2? Там же utm5_payment_tool не предусмотрена.gil писал(а):это решение подойдет, если у вас используется utm5_payment_tool для внесения средств.
а так - костылем, да.

Добавлю по теме свой скрипт, может кому-нибудь пригодится.
Запускается по крону с необходимым интервалом. Меняет статус Интернет у абонентов, у которых нет блокировки, с Выключено на Включено.
UTM 5.2.1-008
Запускается по крону с необходимым интервалом. Меняет статус Интернет у абонентов, у которых нет блокировки, с Выключено на Включено.
Код: Выделить всё
#!/usr/local/bin/php
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
define('INCLUDE_CHECK',true);
require_once ("/path_to/URFAClient.php");
require_once ("/path_to/URFAClient_Exception.php");
$UTMCoreHost = "UTM_ip";
$UTMCorePort = "11758";
$UTMCore_Login = "root_login";
$UTMCore_Password = "root_password";
$db_name = "UTM5";
$db_host = "DB_host_ip";
$db_user = "db_user";
$db_pass = "db_user_password";
# Connect to the MySQL
$link = mysql_connect($db_host, $db_user, $db_pass) or die("Not connected : " . mysql_error());
mysql_select_db($db_name) or die("DB not selected");
# Query for a login&password
$query = "
SELECT `u`.`login` AS `login`, `u`.`password` AS `password`
FROM `UTM5`.`users` AS `u`, `UTM5`.`accounts` AS `a`, `UTM5`.`users_accounts` AS `ua`
WHERE `u`.`id` = `ua`.`uid` AND `a`.`id` = `ua`.`account_id` AND `a`.`is_blocked` = 0
AND `a`.`int_status` = 0 AND `u`.`is_deleted` = 0 AND `a`.`is_deleted` = 0 AND `ua`.`is_deleted` = 0;";
// The construction of the array
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$result_array = mysql_fetch_array($result);
// Checking if the array is empty
if (empty($result_array))
{
exit("The array is empty. Exit.");
}
// if not
else
{
// An Admin connect
try
{
$urfa_admin = new URFAClient_Admin($UTMCore_Login, $UTMCore_Password, $UTMCoreHost,$UTMCorePort, true, true);
}
catch (Exception $exception)
{
echo "Error in line ", $exception->getLine();
echo $exception->getMessage();
}
// turn on the Internet status
do
{
# get a login&password
$login=$result_array["login"];
$password=$result_array["password"];
// A User function
try
{
$urfa_user5 = new URFAClient_User5($login, $password, $UTMCoreHost, $UTMCorePort, true, false);
}
catch (Exception $exception)
{
echo "Error in line ", $exception->getLine();
echo $exception->getMessage();
}
// A User Internet status -> 1
$user_func = $urfa_user5->rpcf_user5_change_int_status('1');
}
while ($result_array = mysql_fetch_array($result));
}
// Release of memory
@mysql_free_result($result_array);
// Close the MySQL connection
mysql_close($link);
?>
С позволения gil выложу его скрипт переделанный под новый URFA
UTM 5.2.1-007
Код: Выделить всё
<?php
// Подключаем необходимые файлы
require_once('./URFAClient.php');
require_once('./mysql.php');
// Устанавливаем хост и порт для UTM, хост, пользователя, пароль и имя таблицы БД UTM5
$urfa_host = "127.0.0.1";
$urfa_port = 11758;
$db_host = "localhost";
$db_user = "user";
$db_pass = "pass";
$db_name = "UTM5";
// Соединяемся с базой данных
if (!$mdb = new sql_db($db_host, $db_user, $db_pass, $db_name)) die("Can't connect to database\n");
// Получаем пару "логин", "пароль" для абонентов, состояние блокировки для которых 0 (т.е., не заблокированы),
// а интернет все же выключен.
$sql_query =
"SELECT `u`.`login` AS `login`, `u`.`password` AS `password` ".
"FROM `{$db_name}`.`users` AS `u`, `{$db_name}`.`accounts` AS `a`, `{$db_name}`.`users_accounts` AS `ua` ".
"WHERE `u`.`id` = `ua`.`uid` AND `a`.`id` = `ua`.`account_id` AND `a`.`is_blocked` = 0 ".
"AND `a`.`int_status` = 0 AND `u`.`is_deleted` = 0 AND `a`.`is_deleted` = 0 AND `ua`.`is_deleted` = 0;";
if (!$mdb->sql_query($sql_query)) {
echo "Can't execute query!\n";
if (!$mdb->sql_close()) die("Can't close connection to MySQL\n");
exit;
}
// Если таких пользователей нет, то просто выходим
if ($mdb->sql_numrows() <= 0) exit;
$accounts = $mdb->sql_fetchrowset();
// Для каждой пары "логин", "пароль" выполняем последовательность действий:
// Соединение, вход, изменение статуса интернета, закрытие соединения, urfa_host urfa_port прописываем в URFAClient.php или добавляем при создании обьекта $urfa_user
foreach ($accounts as $account) {
if (!$urfa_user = new URFAClient_User5($account['login'], $account['password'])) die("Error connecting to UTM\n");
print_r($account['login']);
print_r(date(" F j, Y, H:i:s"));
print "\n";
$urfa_user->rpcf_user5_change_int_status(0);
}
// Закрываем соединение с БД UTM5
if (!$mdb->sql_close()) die("Can't close connection to MySQL\n");
?>