Название: Nodeny Plus + Userside
Отправлено: Stronglan от 08 Июня 2018, 22:06:12
Прошу поделиться примером конфига модуля usm_nodeny_plus для взаимодействия Nodeny Plus + Userside. Не могу разобраться как импортировать некоторые поля (нас. пункт, улицу, мак адрес) ТП UserSide пока также внятного ответа дать не могут.
Название: Re: Nodeny Plus + Userside
Отправлено: Gosha от 09 Июня 2018, 05:49:17
В мене так <?php $usersideUrl = "http_s://us.XXX.XXX.XX/"; // URL To USERSIDE $usersideApiKey = "YYYYYY"; // USERSIDE Api Key $billingId = 1; // Billing Number In USERSIDE ("Settings - Billings") $logPath = "/root/scripts/userside/usm_nodeny_plus-3-102-14/log/"; // Path To Log Files
$billingDBHost = '1xx.xxx.xx.3'; $billingDBUser = 'userside'; $billingDBPassword = 'yyyyyyyy'; $billingDBName = 'nodeny';
$isSilence = 0; // Flag - Silence Mode - Hide Information Messages To Console [0|1]
$apiGroupCounter = 4000;
//NoDenyPlus - custom settings $confPasswordAESDecryptString = 'hardpass'; #Password AES Decrypt String (default: hardpass3) (old: $zpass_give_str) $confIdGroupCustomersOnPause = 0; #Customers Group Id For Customers On Pause State In Billing (old: $zpause)
//Additional Field $confAddFieldNamePhone = '_adr_telefon'; #data0 Field - Additional Field "Phone" (old: $addFieldPhone) $confAddFieldNameCity = '_city'; #data0 Field - Additional Field "City" (old: $addFieldCity) $confAddFieldNameHouseBlock = '_adr_room'; #data0 Field - Additional Field "HouseBlock" (old: $addFieldHouseBlock)
$moduleVersion = "3.135"; $moduleRevision = "38"; В мене все працює.
Название: Re: Nodeny Plus + Userside
Отправлено: Stronglan от 09 Июня 2018, 07:40:57
А если создать новую учетку в биллинге и вбить ее мак, юзерсайд подтянет мак адрес?
Название: Re: Nodeny Plus + Userside
Отправлено: Gosha от 09 Июня 2018, 08:35:58
Модуль подтягивает ip mac кажись с таблицы mac_uid. Более точно сейчас не скажу, надо код смотреть. Если что, пиши в личку.
Название: Re: Nodeny Plus + Userside
Отправлено: Stronglan от 09 Июня 2018, 08:54:16
Написал в личку
Название: Re: Nodeny Plus + Userside
Отправлено: andromeda от 24 Сентября 2018, 15:58:44
Кто решил проблему если мак хранится в поле отличном от mac_uid ??
Название: Re: Nodeny Plus + Userside
Отправлено: Gosha от 24 Сентября 2018, 16:59:01
В модуле за ip-mac отвечает этот кусок кода //IP
$isMacField = 0; $fieldIpPoolMac = 'NULL'; $data = Database::query("SHOW COLUMNS FROM ip_pool WHERE Field = 'mac'", true, 'Field'); if (isset($data['mac'])) { $isMacField = 1; $fieldIpPoolMac = "REPLACE(REPLACE(REPLACE(REPLACE(LOWER(i.mac), ':', ''), '-', ''), '.', ''), '\t', '')"; }
$data = Database::query("SHOW TABLES LIKE 'mac_uid'", true);
if (0 < count($data)) { $query = " SELECT i.id AS `id`, i.uid AS `user_id`, i.ip AS `ip`, REPLACE(REPLACE(REPLACE(REPLACE(LOWER(m.mac), ':', ''), '-', ''), '.', ''), '\t', '') AS `mac`, al.properties AS `mac2`, " . $fieldIpPoolMac . " as ip_pool_mac FROM ip_pool AS i LEFT JOIN mac_uid AS m ON m.uid = i.uid AND m.ip = i.ip LEFT JOIN auth_log AS al ON al.uid = i.uid AND al.ip = i.ip GROUP BY i.ip"; } else { $query = " SELECT i.id AS `id`, i.uid AS `user_id`, i.ip AS `ip`, REPLACE(REPLACE(REPLACE(REPLACE(LOWER(m.mac), ':', ''), '-', ''), '.', ''), '\t', '') AS `mac`, al.properties AS `mac2`, " . $fieldIpPoolMac . " as ip_pool_mac FROM ip_pool AS i LEFT JOIN ip_mac AS m ON m.ip = i.ip LEFT JOIN auth_log AS al ON al.uid = i.uid AND al.ip = i.ip GROUP BY i.ip"; } $data = Database::query($query, true, 'id'); Log::rawLog('customer_ip', $data); foreach ($data as $i => $value) { $customerId = $value['user_id']; $ip = $value['ip']; if ('' == $value['mac']) { $mac = $value['mac2']; } else { $mac = $value['mac']; } if ('' != $value['ip_pool_mac']) { $mac = $value['ip_pool_mac']; } //mod=pppoe;user=e48d8c6a5f28;nas=127.0.0.1 $tempMac = explode(';', $mac); if (isset($tempMac[1])) { $mac = $tempMac[1]; $mac = str_replace('user=', '', $mac); } $customersData[$customerId]['ip_mac'][$ip] = array( 'ip' => $ip, 'mac' => $mac ); }
Если нет IP, то mac не подтягивает. Можно попробовать по аналогии с другой таблицы подтягивать mac . Напишите разработчикам, может помогут.
|