====== Кабінет користувача ====== {{:userstatspaper.png?250 |}} {{:screen_userstats.png?250 |}} {{:userstats054.png?250 |}} {{:userstatsredskin.png?250 |}} ====== Налаштування кабінету користувача ====== знаходяться в **userstats/config/userstats.ini** тип авторизації, в даний момент підтримуються методи ip (безпарольний вхід), login (за зв'язкою логін+пароль) і both (спочатку пробуємо вгадати користувача по IP, якщо не вдалося - показуємо форму входу по логіну та паролю) auth=ip URL за яким буде перенаправлений користувач у разі неможливості знайти відповідність при auth=ip authfailredir="http://ubilling.net.ua/" мова інтерфейсу за замовчуванням, можливі значення: ukrainian, english, russian... lang = ukraininan Дозволяти користувачеві самостійно обирати мову? allowclang=1 Валюта currency=UAH Ім'я шаблону за замовчуванням SKIN="paper" Кастомний бекграунд. Варто вказувати або DEFAULT або ім'я якогось з тайлів tiles, що лежать у директорії tiles (наприклад tile1.jpg або скажімо tile5.jpg). Також може приймати RANDOM для вибору випадкового фону. (Працює тільки зі старим шаблоном default) BACKGROUND="DEFAULT" Найменування провайдера ISP_NAME="Роги&Копита" Посилання на сайт провайдера ISP_URL="http://ubilling.net.ua" URL зображення з логотипом провайдера, дві попередні опції також мають бути заповнені. Пам'ятаємо, що skins/ затирається під час оновлень і варто вкзати посилання на якесь безпечніше місце для вашого логотипу. ISP_LOGO="skins/ublogo.png" налаштування sgconf для взаємодії зі stargazer SGCONF = /usr/sbin/sgconf STG_HOST = localhost STG_PORT = 5555 STG_LOGIN = admin STG_PASSWD = 123456 Чи ввімкнено самостійну зміну тарифів користувачами? TC_ENABLED = 1 Ціна зміни тарифу на тариф з більшою АП TC_PRICEUP = 0 Вартість зміни тарифу на тариф із меншою АП TC_PRICEDOWN = 25 Ціна зміни тарифу на тариф з однаковою АП TC_PRICESIMILAR = 0 Чи встановлювати кредит на суму вартості зміни тарифу у разі нестачі коштів на рахунку? TC_CREDIT=1 ID типу оплати під яким проводитимуться зняття грошей за використання послуги TC_CASHTYPEID=1 Тарифи на які дозволено перехід (розділювач кома) TC_TARIFFSALLOWED = tariff,Unlim-5 Тарифи з яких доступний перехід на тарифи вказані в опції вище (розділ кома) TC_TARIFFENABLEDFROM = tariff,Unlim-5 Розширена матриця переходу між тарифами що керується за допомогою [[tariffmatrix|tariffmatrix.ini]] Увімкнення опції призведе до ігнорування TC_TARIFFSALLOWED та TC_TARIFFENABLEDFROM TC_EXTENDED_MATRIX=0 {{anchor:tc_rightnow}}Необов'язкова опція, що включає перехід за тарифом "прямо зараз". Не вмикайте без повного розуміння наслідків! Власне працювати воно може адекватно, тільки в операторів з поденним нарахуванням АП, а також платними переходами між тарифами у будь-який бік. ;TC_RIGHTNOW=0 Чи включено самокредитування? SC_ENABLED = 1 Початкова дата від якої самокредитування доступне SC_MINDAY = 1 Максимальне число місяця, до якого самокредитування доступне SC_MAXDAY = 7 Термін на який надається кредитна лінія (кількість днів) SC_TERM = 3 Вартість послуги самокредитування SC_PRICE = 5 ID типу оплати під яким проводитимуться зняття грошей за використання послуги SC_CASHTYPEID=1 Контролювати можливість скористатися функцією кредитування лише раз на місяць SC_MONTHCONTROL=1 Список тарифів, для яких дозволено використання послуги кредитування. Якщо порожній - дозволено всім. Розділювач - кома. SC_TARIFFSALLOWED="" Чи враховувати вартість віртуальних сервісів під час видачі кредиту? SC_VSCREDIT=0 {{anchor:sc_daily_fix}}Виправляє кредитування під час використання тарифів з періодом "день". Необов'язкова настройка. Розкоментуйте для увімкнення. Кредит буде встановлено на abs(стан рахунку)+(вартість тарифу*кількість днів кредиту). Інакше кредит для подобових тарифів буде встановлено на місячну вартість тарифу. ;SC_DAILY_FIX=1 {{anchor:sc_mtapi_fix}}Виправляє проблеми з активацією користувачів під час використання NAS на MikrotikAPI. Можливі значення: 0 - вимкнено, 1 - використовувати для ресета прапор Down, 2 - використовувати для ресета прапор AlwaysOnline. Необов'язкова настройка. А взагалі краще використовуйте [[multigen|КупаГен]] для своїх NAS і забудьте ці проблеми як клас. ;SC_MTAPI_FIX=1 Використовувати виклик [[remoteapi|RemoteAPI]] **sc** для встановлення кредиту (потребує вірно заповнених опцій API_URL та API_KEY). SC_REMOTE=0 Чи включено використання платіжних карток (ваучерів для поповнення рахунку)? PC_ENABLED=1 Максимальна кількість спроб неправильного введення номера картки PC_BRUTE=3 ID типу оплати під виглядом якої вноситиметься оплата платіжною краткою PC_CASHTYPEID=1 Обробляти платежі картками поповнення, в рамках окремої черги (може ліквідувати [[paymentsduplicates|проблему дублювання платежів]], якщо вона виникає) PC_QUEUED=0 Чи включити перевірку номера партії разом із серійним номером скретч картки? PC_SERIES_AND_SN=0 Довжина рядка з номером партії PC_SERIES_LENGTH=4 Вказувати назву населеного пункту в адресних полях CITY_DISPLAY=0 Розглядати квартиру з нульовим номером як приватний будинок ZERO_TOLERANCE=1 Приховати пароль користувача від нього ж PASSWORDSHIDE=0 Ховати від користувача його логін (навіщо їм знати, що у них є якісь такі штуки?) LOGINHIDE=0 Чи приховувати від користувачів час платежів? PAYMENTSTIMEHIDE=0 Максимальна кількість пунктів меню без іконок (за замовчуванням зверху). Працює тільки в старому скіні default. Наразі не має глибинного значення. MENUNOICONMAX=6 Приховувати наступні модулі в меню (розділювач кома) MENUHIDE=zload Підтримку OpenPayz ввімкнено? OPENPAYZ_ENABLED=0 Посилання на бекенди OpenPayz. У реальному світі - це має бути прямий URL на бекенди вашого воркера OpenPayz. Наприклад, http://opayz.isp/backend/ OPENPAYZ_URL=../openpayz/backend/ Платіжні системи OpenPayz (розділювач ","). Власне, це імена активних бекендів OpenPayz. OPENPAYZ_PAYSYS=ipay Запитувати платіжний ID щоразу з op_customers (повинно бути увімкненим в реальному світі) OPENPAYZ_REALID=0 Чи включений хелпдеск? TICKETING_ENABLED=1 Чи увімкнений сервіс тестування швидкості? SP_ENABLED=1 Посилання до встановленого сервісу тестування швидкості SP_URL=http://speedtest.ukrtelecom.ua/ Вказує тип сервісу, що використовується для тестування: вбудований в кабінет html5 - 1, редирект на зовнішній SP_URL - 2, ембеддимо SP_URL всередину фреймом - 3 SP_TYPE=1 Кастомні розміри фрейму при SP_TYPE 3 у форматі: ширина | висота SP_SIZE="100%|500" Чи включено розділ завантажень? ZL_ENABLED=0 Налаштування розділу завантажень у форматі шлях_до_іконки|посилання|заголовок (розділювач пайп) ZL_OPTIONS="iconz/key.gif|http://stargazer.net.ua/download/inetaccess/2.62.8/inetaccess.2.62.8.win.exe|Inetaccess Windows" Чи включено модуль заморожування рахунку? AF_ENABLED=1 Вартість кожної заморозки (працює окремо від тієї вартості, що вказано в налаштуваннях тарифу) AF_FREEZPRICE=10 Тарифи для яких доступний сервіс заморозки рахунку (розділювач кома) AF_TARIFFSALLOWED = Unlim-5 {{anchor:af_tariff_allow_any}}Необов'язкова опція, що дозволяє включити можливість заморожування рахунку з особистого кабінету, незважаючи на тарифний план абонента. При включенні цієї опції опція AF_TARIFFSALLOWED буде проігнорована. ;AF_TARIFF_ALLOW_ANY=0 ID типу оплати під яким проводитимуться зняття грошей за заморожування AF_CASHTYPEID=1 Показувати швидкість тарифу у профілі користувача? SHOW_SPEED=0 {{anchor:show_speed_mb}}Показувати швидкість "як є" в Мбіт/с, якщо швидкості у вас з якоїсь причини вказані таки в мегабітах/с замість замовчувальних кілобіт/с. Необов'язкова опція. ;SHOW_SPEED_MB=1 Увімкнення підтримки UBAgent (працює тільки при auth=ip) та [[xmlagent|XMLAgent]], що працює з будь-яким типом авторизації. UBA_ENABLED=1 Включає показ адреси як окремих атрибутів XML (повертає адресу не однією стрінгою, а кількома "полями" XML/JSON документа відповідно). UBA_XML_ADDRESS_STRUCT=0 {{anchor:xmlagent_debug_on}}Вмикає дебаг режжим для XMLAgent REST API із записом у WebLogs. Необов'язкова опція. ;XMLAGENT_DEBUG_ON=0 {{anchor:xmlagent_debug_deep_on}}Вмикає більш “verbose” дебаг режжим для XMLAgent REST API із записом в окремий файл: 'userstats/exports/xmlagent.debug'. Перед ввімкенням, переконайтеся, що каталог "exports" існує у "корені" вашого особистого кабінету і має відповідні права на створення/запис. Необов'язкова опція. ;XMLAGENT_DEBUG_DEEP_ON=0 Чи показувати скільки днів залишилося до закінчення оплаченої послуги? ONLINELEFT_COUNT=0 Стиль показу періоду, що залишився - кількість днів або кінцева дата надання послуги. Можливі значення days, date чи mixed ONLINELEFT_STYLE='days' Чи встановлено "розмазане" зняття абонплати в конфігурації Stargazer? ONLINELEFT_SPREAD=0 {{anchor:onlineleft_consider_vservices}}Враховувати вартість всіх віртуальних послуг користувача при підрахунку днів, що залишилися до закінчення оплаченої послуги. Необов'язкова опція. ;ONLINELEFT_CONSIDER_VSERVICES=0 Чи пропонувати функцію кредитування користувачам, які мають існуючу заборгованість? Також реагує на SC_ENABLED ONLINELEFT_CREDIT=0 Округлення балансу користувача до сотих (копійок). ROUND_PROFILE_CASH=0 {{anchor:public_offer}}Режим публічної оферти - поле договір буде замінено на "Публічну оферту" з посиланням на URL вказаним в опції ;PUBLIC_OFFER="" Увімкнення можливості друку користувачами рахунків та інших публічних документів DOCX DOCX_SUPPORT=0 Повний шлях до сховища документів DOCX_STORAGE="../content/documents/" Відсоткова ставка ПДВ для друкованих документів DOCX_NDS=20 Можливі для друку рахунків послуги, роздільник - кома DOCX_SERVICES="Інтернет" Забороняє самостійну генерацію документів користувачами в принципі, навіть за наявності публічних шаблонів. DOCX_DENY_SELFGEN=1 {{anchor:agents}}Необов'язкові налаштування прив'язки контрагентів ідентичні аналогічним з [[alteriniconf|alter.ini]]. Увімкнення приведе до залучення макросів {AGENT*} якщо вам це дуже потрібно. ;AGENTS_ASSIGN=1 ;DEFAULT_ASSIGN_AGENT=1 Включає відображення платіжного ID абонента у вигляді QR-коду PAYMENTID_QR=0 Чи увімкнено модуль оголошень? AN_ENABLED=0 Включає додаткові контроли керування прочитаністю оголошень у вигляді гарненьких кнопочок. AN_BUTTONS=1 Чи включений модуль, що показує попередні оплати? PAYMENTS_ENABLED = 1 {{anchor:payments_onlypositive}}Показувати лише оплати з сумою >0 для виключення показу віртуальних сервісів та інших зовнішніх нарахувань. Необов'язкова опція. ;PAYMENTS_ONLYPOSITIVE=1 Чи показувати додаткові послуги (віртуальні сервіси) у профілі користувача? VSERVICES_SHOW=0 {{anchor:vservices_consider_periods}}Чи враховувати періоди віртуальних послуг при розрахунку їх вартості? Необов'язкова опція. ;VSERVICES_CONSIDER_PERIODS=0 Чи ввімкнено модуль статистики трафіку? TRAFFIC_ENABLED=1 Включити модуль розсилки повідомлень про передчасну оплату послуги? REMINDER_ENABLED=0 Місячна вартість розсилки повідомлень для кожного користувача? REMINDER_PRICE=1 ID тегу віртуального сервісу, для зняття плати за розсилку повідомлень REMINDER_TAGID=1 Довжина мобільного номера (дуже важливо заповнювати реальними цифрами, для України - 10, якщо використовується нагадувалка) REMINER_NUMBER_LENGTH=10 За скільки днів повідомляти? REMINDER_DAYS_THRESHOLD=5 Префікс для стільникових телефонів (для України +38) REMINDER_PREFIX="+38" Чи ввімкнути опцію для самостійної зміни мобільного телефону? REMINDER_CHANGE_NUMBER=0 Чи знімати відразу вартість REMINDER_PRICE з рахунку абонента при активації послуги. REMINDER_FEE=1 ID типу платежів, для примусового зняття вартості нагадувачем REMINDER_CASHTYPEID=1 Чи дозволяти користувачеві самостійно деактивувати послугу нагадувалки? REMINDER_TURNOFF=1 \\ Стан "включенності" наведених нижче **REMINDER_*** опцій повинен відповідати аналогічним в [[alteriniconf|alter.ini]]. \\ {{anchor:reminder_consider_credit}}Нагадувати користувачам про близькое закінчення терміну дії кредиту (враховується лише встановлена дата закінчення кредиту, сума кредиту не враховується)? Необов'язкова опція. ;REMINDER_CONSIDER_CREDIT=0 {{anchor:reminder_days_threshold_credit}}За скільки днів нагадувати про швидке закінчення терміну дії кредиту? REMINDER_DAYS_THRESHOLD буде використано, якщо ця опція не вказана. Необов'язкова опція. ;REMINDER_DAYS_THRESHOLD_CREDIT=2 {{anchor:reminder_consider_cap}}Нагадувати користувачам про швидкий прихід Достоєвського з сокирою та настання покарання за злочини? Необов'язкова опція. ;REMINDER_CONSIDER_CAP=0 {{anchor:reminder_days_threshold_cap}}За скільки днів нагадувати про близьке вчинення справедливості? REMINDER_DAYS_THRESHOLD буде використано, якщо ця опція не вказана. Необов'язкова опція. ;REMINDER_DAYS_THRESHOLD_CAP=5 {{anchor:reminder_consider_frozen}}Нагадувати користувачам про швидке закінчення доступних днів заморозки? Працює лише разом із включеною опцією FREEZE_DAYS_CHARGE_ENABLED. Необов'язкова опція. ;REMINDER_CONSIDER_FROZEN=0 {{anchor:reminder_consider_frozen}}За скільки днів нагадувати про швидке закінчення доступних днів заморозки? REMINDER_DAYS_THRESHOLD буде використано, якщо ця опція не вказана. Необов'язкова опція. ;REMINDER_DAYS_THRESHOLD_FROZEN=15 \\ Чи ввімкнено сервіс інтеграції з [[megogo|Megogo]]? MG_ENABLED=0 Чи увімкнено захист користувачів від "випадкової підписки" на сервіси Megogo. MG_PROTECTION=1 Тарифи, на яких доступне використання сервісів Megogo. Залишіть пустим для відсутності обмежень. Розділювач - кома. MG_TARIFFSALLOWED="" Посилання на інструкцію з активації передплати MG_GUIDE_URL="" Далі опції для роботи з [[remoteapi|RemoteAPI]] у вигляді URL до вашого встановленого Ubilling, доступний кабінету користувача API_URL="http://billing.isp/" І серійний номер вашого Ubilling API_KEY="" Чи увімкнено сервіс підключення додаткових послуг? (АХТУНГ! Працює у зв'язці з планувальником відкладених завдань. Дивитися: [[remoteapi|RemoteAPI]] dealwithit). ADSERVICE_ENABLED=0 Тип підключення. Може бути nextmonth або nextday. ADSERVICE_DATE="nextmonth" Імена для доступних для підключення додаткових сервісів. Записується у форматі: ім'я_сервісу_1: номер_тегу_для_сервісу_1,ім'я_сервісу_2:номер_тегу_для_сервісу_2 ADSERVICE_NAMES="TV:1,PHONE:3,TEST:4" Вартість додаткових послуг. Записується у форматі: ім'я_сервісу_1:вартість_сервісу_1,ім'я_сервісу_2:вартість_сервісу_2 ADSERVICE_COST="TV:50,PHONE:30,TEST:1" Необов'язкова опція. Контролює показ додаткової інформації (EULA) перед тим, як користувач підключить послугу. Реалізовано як підвантаження посилання в iframe. Тобто. цілком згодиться посилання на pdf документ. Заповнюється у вигляді: роздільник між послугами крапка з комою, розділити між послугою та посиланням кома "номер_тегу_для_сервісу_1,посилання на документ;номер_тегу_для_сервісу_2,посилання на документ" ADSERVICE_CUSTOM_ACCEPT="1,http://link_to_my.pdf.com/pdf1;2,http://link_to_my.pdf.com/pdf2" {{anchor:template_currency}}Необов'язкова опція вказує тип валюти для шаблонізації сум прописом. На даний момент можливі значення: UAH та RUR. ;TEMPLATE_CURRENCY=UAH Вмикає підтримку [[ukv|УКВ]]. UKV_ENABLED=0 Режим інтро. 0 - відключено і ніде не відображається, 1 - показується під профілем користувача, 2 - показується замість блоку меню (тільки при авторизації за логіном), 3 - показується над профілем користувача, 4 - показується під інтерфейсом авторизації (тільки при авторизації за логіном). Сам текст інтро (так, HTML) редагується з адміністративного інтерфейсу за допомогою модулю "Оголошення". INTRO_MODE=0 Включає підтримку голосування та перегляду відповідей на попередні голосування користувача. POLLS_ENABLED=0 Показує додаткові номери мобільних телефонів у профілі користувача. SHOW_EXT_MOBILES=1 Чи включено обмеження кількості днів заморожування? За замовчуванням - вимкнено. FREEZE_DAYS_CHARGE_ENABLED=0 Кількість днів заморозки доступна користувачеві спочатку (може бути встановлена індивідуально для кожного користувача в профілі) FREEZE_DAYS_INITIAL_AMOUNT=365 Кількість днів, які користувач повинен відпрацювати (бути активним) після вичерпання доступних днів заморозки, після закінчення яких користувач знову зможе скористатися заморозкою і йому будуть знову нараховані дні заморозки (може бути встановлено індивідуально для кожного користувача в профілі) FREEZE_DAYS_WORK_TO_RESTORE=120 Дозволити користувачеві заморожувати послугу з особистого кабінету навіть за негативного балансу FREEZE_ALLOW_ON_NEGATIVE_BALANCE=0 Заборонити користувачеві брати кредит, якщо після попереднього кредиту він "забув" поповнитися. Це додаткова опція захисту для тих, хто любить брати кредит щомісяця та користується послугою лише кілька днів. SC_HACKCONTROL=0 Чи увімкнено сервіс OmegaTV? OM_ENABLED=0 Забороняти користувачам оформлювати передплати, на які їм не вистачить грошей? OM_PROTECTION=1 Перелік тарифів, яким заборонено використовувати модуль OmegaTV. Розділювач - кома. OM_TARIFFSDENIED="" Загальний ліміт на кількість пристроїв та плейлистів на користувача. OM_MAXDEV=3 Інтеграція TrinityTV увімкнена? TRINITYTV_ENABLED=0 Забороняти користувачам оформлювати передплати, на які їм не вистачить грошей? TRINITYTV_PROTECTION=1 Чи продавати Trinity під соусом SweetTV? Власне включає інший модуль з іншою іконкою, з тими самими механіками. SWEETTV_ENABLED=0 Встановлює URL-адресу з посібниками для користувачів, з налаштування, софту та всілякого такого. TRINITYTV_GUIDE_URL="" Вимикає можливість самостійного оформлення чи відмови від підписок користувачами. TRINITYTV_NOUSERSUB=0 Чи увімкнено планетарний тельбухач Ішимура? ISHIMURA_ENABLED=0 Старий режим онлайн відображення контролу виходу при методах авторизації login/both. Потрібно лише для сумісності із кастомними скінами. Необов'язкова настройка. INLINE_LOGOUT=0 Чи ввімкнено модуль [[visor|Відеоспостереження]]? VISOR_ENABLED=0 {{anchor:visor_software}}Клієнтське програмне забезпечення для відеоспостереження. Формат: іконка|URL|Назва. Розділювач - кома. ;VISOR_SOFTWARE="skins/paper/iconz/android.png|https://play.google.com/store/apps/details?id=dssl.client|Android,skins/paper/iconz/ios.png|https://apps.apple.com/us/app/trassir-client/id722762165|iOS,skins/paper/iconz/windows.png|http://ubilling.net.ua/visor/Trassir-4.1.1112540-client.exe|Windows,skins/paper/iconz/macos.png|https://apps.apple.com/ru/app/trassir-client/id1277151643|MacOS" Необов'язкова опція, що включає показ об'яв у модальному вікні на головній сторінці. AN_MODAL=1 Необов'язкова опція, що включає відлагоджувальні лічильники часу генерації сторінки та кількості запитів до БД. DEBUG_COUNTERS=0 Опція, що включає можливість зміни пароля користувачам через особистий кабінет. При включенні опції - поточний пароль ховається. Для зміни необхідно ввести поточний пароль, і 2 рази новий (щоб випадково не схибити). Після зміни пароля перекидає на сторінку входу для оновлення реп'яшків. PASSWORD_CHANGE=0 Користувач вашого робота Telegram. Наприклад, UbillingFeedbackDemoBot або YourSupportBot. Залиште пустим для вимкнення. TG_BOTNAME="" Чи увімкнено сервіс [[olltv|OllTV]]? OLLTV_ENABLED=0 Чи включено на цій системі [[pt|Могутні тарифи]]? POWERTARIFFS_ENABLED=0 Вказує максимальний день місяця, який буде округлятися до першого числа потужними тарифами. POWERTARIFFS_MAXDAY=26 Чи включено нотифікацію користувачів про повітряні тривоги у вашому регіоні? Потребує правильно заповнених опцій API_URL і API_KEY в кабінеті і настроєної нотифікації в alter.ini за допомогою опцій AERIAL_ALERTS_ENABLED і AERIAL_ALERTS_NOTIFY. AIR_RAID_ALERT_ENABLED=0 {{anchor:show_speed_1000b}}Перераховує і показує швидкість, як 1000 біт в 1 Кбіт/с. (корисна для користувачів у яких джуніпер використовується у ролі BRAS). Необов'язкова опція. ;SHOW_SPEED_1000B=1 ====== Налаштування БД ====== знаходяться в **userstats/config/mysql.ini** ;хост БД server = "localhost" ;порт БД port = "3306" ;логін користувача БД username = "mylogin" ;пароль користувача БД password = "newpassword" ;ім`я БД db = "stg" ;кодування даних в БД character = "UTF8" ;префікс (використовується ні для чого) prefix = "billing" ====== REST API ====== Для зовнішніх програм, що взаємодіють з кабінетом користувача, існує [[xmlagent|окреме XML/JSON API]] під назвою XMLAgent.