Биллинговая система Nodeny
19 Апреля 2024, 10:26:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Nodeny Plus + Userside  (Прочитано 3739 раз)
Stronglan
Постоялец
***

Карма: -3
Offline Offline

Сообщений: 185


Просмотр профиля Email
« : 08 Июня 2018, 22:06:12 »

Прошу поделиться примером конфига модуля usm_nodeny_plus для взаимодействия Nodeny Plus + Userside. Не могу разобраться как импортировать некоторые поля (нас. пункт, улицу, мак адрес) ТП UserSide пока также внятного ответа дать не могут.
Записан
Gosha
Постоялец
***

Карма: 7
Offline Offline

Сообщений: 199


Просмотр профиля
« Ответ #1 : 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";

В мене все працює.
Записан
Stronglan
Постоялец
***

Карма: -3
Offline Offline

Сообщений: 185


Просмотр профиля Email
« Ответ #2 : 09 Июня 2018, 07:40:57 »

А если создать новую учетку в биллинге и вбить ее мак, юзерсайд подтянет мак адрес?
Записан
Gosha
Постоялец
***

Карма: 7
Offline Offline

Сообщений: 199


Просмотр профиля
« Ответ #3 : 09 Июня 2018, 08:35:58 »

Модуль подтягивает ip mac кажись с таблицы mac_uid. Более точно сейчас не скажу, надо код смотреть.
Если что, пиши в личку.
Записан
Stronglan
Постоялец
***

Карма: -3
Offline Offline

Сообщений: 185


Просмотр профиля Email
« Ответ #4 : 09 Июня 2018, 08:54:16 »

Написал в личку
Записан
andromeda
Постоялец
***

Карма: 1
Offline Offline

Сообщений: 206


Просмотр профиля Email
« Ответ #5 : 24 Сентября 2018, 15:58:44 »

Кто решил проблему если мак хранится в поле отличном от mac_uid ??
Записан
Gosha
Постоялец
***

Карма: 7
Offline Offline

Сообщений: 199


Просмотр профиля
« Ответ #6 : 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 . Напишите разработчикам, может помогут.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!