Перейти до

nightfly

Сitizens
  • Всього повідомлень

    5 349
  • Приєднався

  • Останній візит

  • Дней в лидерах

    166

Все, що було написано nightfly

  1. Попытки добавить в черепную коробку сторонние металлические изделия, тоже как правило (как неожиданно?) заканчиваются смертью организма. Смотрите как устроены OLTAttractor, PONProto и собственно HAL библиотеки, которые нынче наследуют PONProto. Можете прямо свою личную HAL-либу для своего железа сделать, и рисовать там хоть сигналы с ОНУшек, хоть розовых котиков вместо дистанций до них, хоть xyи вместо интерфейсов. Короче полиморфизм-инкапсуляция-наследование as is. Вообще не важно чего они будут препроцессить. Собственно нынче весь ПОНизатор так и устроен Hardware Abstraction Layer => PONProto => OLTAttractor => какие-то данные фиг знает где, как и почему <= PONizer
  2. nightfly

    Релізи Ubilling 2023

    Ubilling 1.3.5 rev 8821 Universal Carcinogen Коротко про зміни: Зміни в структурі БД - див. дамп. alter.ini: нова не обов'язкова опція MULTI_ENVY_PROC, яка вмикає мультипоточність для отримання конфігів з мережевих пристроїв в модулі Заздрість. alter.ini: нова необов'язкова опція CORPS_ADDT для вказання додаткових типів документів модулю “Робота з юрособами”. alter.ini: нова необов'язкова опція DDT_ENDPREVDAYS що вказує зміщення в днях “до кінця місяця” при зміні тарифів судного дня. Дякуємо webflygod. billing.ini: нова опція XHPROF що вмикає ієрархічний профайлер XHProf. Вам воно не треба, це чисто для розробників. Модуль Заздрість: тепер опційно вміє працювати в багатопоточному режимі. Модуль ПОНізатор: тепер використовує нову уніфіковану механіку для запуску фонових процесів в багатопоточному режимі. Модуль Опит світчів по SNMP: тепер використовує нову уніфіковану механіку для запуску фонових процесів в багатопоточному режимі. Модуль “Екзистенційний кінь”: виправлено проблему збереження статистики, котра виникала у випадку, якщо не відбувалось пропущених дзвінків на PHP 8.2. Модуль “Деталі підключення”: трішки косметики по коду, також додано можливість вказувати термін підключення. Модуль “Додаткові поля профілю”: радикально переписано, оптимізовано швидкодію. Модуль “Додаткові поля профілю”: додано нові типи полів, такі як “Цілочисельне”, “З плаваючою комою”, “Фінанси”, “Мережа”, “URL”, “Зображення”, “Файл”. Модуль “Друк документів”: виправлено роботу макросу {CFIELD:XX}. Модуль “Пінг по MAC”: тепер за необхідності нормально вимикається. Модуль “Обмеження доступу за IP”: виправлено логування при видаленні ACL. Модуль “Редагування угоди”: додано можливість додатково вказувати дату початку та закінчення дії угоди. Модуль “Господарюючі суб`єкти”: додано декілька полів на кшталт “підписантів” та “скороченої назви підприємства”. Модуль Робота з юрособами: став жертвою легкого рефакторингу, юрособам додана пачка полів, необхідних для документів. Робота з юрособами: змінено метод відображення існуючих юросіб. Модуль “Друк документів”: додано пачку нових макросів, котрі можуть знадобитись для автоматичного заповнення угод та всякого такого. Модуль DarkVoid: виправлено проблему відображення часу останнього опиту світчів. Модуль ARPдіагностика: виправлено косметичні артефакти, трішки причесано код. Модуль “Історія СМС повідомлень”: виправлено проблему перевірки наявності в адміністратора прав, при показі іконок в меню та на панелі задач. Глобально: вичищено великий прошарок коду, родом з неоліту. Покращення що до безпеки. Ви самі знаєте, де знайти повний чейнджлог, рекомендації що до оновлення, та свіжу демку. Вірно?
  3. nightfly

    Придумал фичу

    UPD: если догадаетесь "почему", заодно и узнаете, почему всякие системы "визуальные, программирования без программирования" валяются где-то на задворках, маргинальны и в целом мертвы, как скажем те же hiasm, inventor итд. UPD2: не, ну типа можно пытаться, изобретать какую-то доморощенную помесь expect со switch-case конструкциями внутри... но оно реально того стоит?
  4. nightfly

    Придумал фичу

    Ну вот, допустим, готовый One-Punch скрипт, нарисованный на коленке за 5 минут с перекурами, работающий без модификации биллинга в принципе, и реализующий ваш кейс, даже с настроечками и проверочками. $creditFeeSumm = 10; // price manual credit operation $yesterday = true; // today or yesterday credit events processing processing? $creditEvents = new nya_weblogs(); $dateMask = ($yesterday) ? date("Y-m-d", strtotime('-1 day')) . '%' : curdate() . '%'; $creditEvents->where('date', 'LIKE', $dateMask); $creditEvents->where('admin', '!=', 'external'); $creditEvents->where('admin', '!=', 'guest'); $creditEvents->where('event', 'LIKE', 'CHANGE Credit (%'); $allCreditEvents = $creditEvents->getAll(); if (!empty($allCreditEvents)) { $allUsersData = zb_UserGetAllDataCache(); foreach ($allCreditEvents as $io => $eachEvent) { if (preg_match('!\((.*?)\)!si', $eachEvent['event'], $tmpLoginMatches)) { if (isset($tmpLoginMatches[1])) { $loginExtracted = $tmpLoginMatches[1]; if (isset($allUsersData[$loginExtracted])) { zb_CashAdd($loginExtracted, '-' . $creditFeeSumm, 'add', 1, 'SCFEE'); } } } } } как видите выше, ничего "ковырять" не нужно и в лог сходить никто как-бы не запрещает. смотря 10-ю сантиметрами выше, можете сказать, почему эта вот придуманная вами "система триггеров" не сделана еще вот как вы ее себе нафантазировали, с кнопочками и менюшечками?
  5. Ubilling 1.3.4 rev 8782 Star Eyed Child Коротко про зміни: Зміни в структурі БД - див. дамп. Зміни в crontab - див. рекомендації до оновлення. alter.ini: опція DISCOUNT_PERCENT_CFID тепер вважається застарілою і більше не потрібна ні для чого. alter.ini: нова опція DISCOUNT_DAILY, призначена для реалізації можливості щоденної обробки знижок. alter.ini: нова опція FEES_HARVESTER що вмикає абонплатний-комбайн. alter.ini: опції TSMS_ENABLED, TSMS_PHONEPREFIX та відповідний їй модуль TurboSMS, що давно не підтримується, викинуті на мороз. alter.ini: опцію OPENPAYZ_REALID тепер ввімкнено за замовчуванням для всіх нових установок. Модуль “Рух коштів”: виправлено проблему відображення пошкоджених записів про платежі. Модуль Знижки: переписано практично з нуля, він більше не підпертий додатковими полями профілю, та хоч трішки притомний. Модуль “Пошук користувачів”: додана можливість пошуку користувачів, які закріплені за комутатором. (пошук йде або за “описом”, або за “IP”, або за 'MAC“) Новий модуль “Присвоєння порта комутатора”: відображаю прив'язку абонентів за портами коммутаторів. Регулюється опцією SWITCHPORT_IN_PROFILE. Модуль Відеоспостереження: при редагуванні каналу тепер також відображається його ім'я та його DVR. Модуль “Відеоспостереження”: опція VISOR_PROTUSERIDS тепер також впливає на показ даних авторизації на DVR-ах. Модуль “Рух коштів”: тепер опційно може відображати записи про нарахування АП абонентам спираючись на дані з БД. Модуль “Фонові процеси”: тепер також відображає стан запущеності PID-а процесу. Модуль “Фонові процеси”: тепер також відображає ситуації, коли процес помер не природнім шляхом та не зміг нормально завершити свій перебіг. Модуль “Фонові процеси”: додано можливість в ручному режимі припинити виконання активного процесу. Новий модуль “Міграція даних про нарахування АП”: дозволяє зручно синхронізувати дані в БД. Доступний з “Чорної магії” в модулі “Грошові нарахування”. Модуль “Комутатори”: тепер при видаленні комутатора разом з ним також очищуються дані про характеристики його аплінку. Модуль “Профіль користувача”: Платіжний ID тепер відображається тільки при ввімкненому OpenPayz. Модуль Склад: виправлено фільтрацію найменування ТМЦ при додаванні та редагуванні ТМЦ в довіднику типів. Модуль “Склад”: звіт операцій в розрізі часу тепер не повинен розвалюватись в залежності від фази місяця. Модуль “Стан серверів доступу”: тепер використовує менеджер процесів StarDust при оновленні своїх даних. Глобально: придушено підступні спроби Google Chrome автоматично перекладати веб-інтерфейс. Дякуємо Taras Melnyk. Глобально: всюди, де раніше використовувались чи відображались Платіжні ID вони фігурують тільки у випадку увімкненого OpenPayz. Глобально: виправлено досить багато критичних проблем сумісності з PHP 8.2, тепер більшість core-функціоналу на ньому працює. Remote API: виклик cachedog тепер також опційно інвалідує дані телефонної телепатії. Remote API: у виклику userbynum з'явився опційний параметр nocache [0/1] котрий дозволяє ігнорувати кешовані дані. Remote API: новий виклик feesharvester призначений для реплікації записів про зняття АП до БД. Remote API: виклики asterisk більше не руйнують лог вхідних дзвінків, котрий використовується також для швидкого заповнення додаткових мобілок. Кабінет користувача: в модулях TrinityTV/SweetTV здійснено спробу виправлення, видалення пристроїв з порожньою MAC адресою. Кабінет Користувача: в модулях TrinityTV/SweetTV трішки покращено відображення присвоєних користувачеві пристроїв. OpenPayz: дистрибутив OpenPayz переміщено до директорії docs. UBinstaller: зібрано нові бінарні пакети для FreeBSD 12.4 amd64 з PHP 8.2 для тестування. UBinstaller: тепер, в режимі міграції, також дає змогу вказати серійний номер Ubilling. UBinstaller: тепер, при встановленні, автоматично проводить базову попередню конфігурацію OpenPayz. Debianstaller: тепер працює на Debian GNU/Linux 11.6. Але це не точно. Debianstaller: тепер, при встановленні, автоматично проводить базову попередню конфігурацію OpenPayz. Debianstaller: тепер, в режимі міграції, також дає змогу вказати серійний номер Ubilling. phpSysInfo: оновлено до останнього стабільного релізу 3.4.2. Детальніше тут: https://wiki.ubilling.net.ua/doku.php?id=changelog2023 Рекомендації що до оновлень: https://wiki.ubilling.net.ua/doku.php?id=relnotes Свіженька жива демка: https://ubilling.net.ua/?module=fnpages&pid=demo
  6. nightfly

    Механизм скидок

    Тем временем, базовые скидки уже переписаны с нуля в 1.3.4 и уже более-менее вменяемы: http://wiki.ubilling.net.ua/doku.php?id=discounts
  7. 3. Также, есть подозрение, что вы сами не в восторге от читания этого файла. Тем более, что пакуется это все очень удобно и просто в отчет "Мастера Отчетов" который никуда не девается при обновлениях. Что на практике должно выглядеть как-то так: Прошу, вот ваш отчет: https://justpaste.lol/?v=fv9gdr5x Разграничивать права на модуль штатно, перечисляя администраторов через запятую или замотать все это кучей в if (cfr('CASH')) (у них же и так есть право работать с деньгами?) - уже дело десятое. UPD: но вы все равно молодец. Самостоятельный и творческий подход к решению задач - не может не делать из вас молодца
  8. 2. Также напрашивается мысль, что ваши кассиры живут не одним днем. Возможно у них нету будущего, но у них точно было какое-то прошлое. Как минимум - "вчера". Поэтому однозначно напрашивается что-то типа такого что как бы реализуется в 3-4 строки на интерфейс и в две строки при выборке результатов $renderDate = (ubRouting::checkPost('renderdate')) ? ubRouting::post('renderdate', 'mres') : curdate(); $paymentsDb->where('date', 'LIKE', $renderDate . '%'); Короче как-то так: https://justpaste.lol/?v=g3q9hgm8
  9. Вы невероятно творчески подошли к решению вашей задачи. Было интересно пронаблюдать. Спасибо. Из плохих новостей: вы умудрились сделать это самым сложным и непостижимым из всех возможных способом 1. Где-то 80% кода вашего модуля там не используется или попросту не работает от слова совсем. Методом просто хаотичного выкидывания всего что не работает, даже без вникания в суть происходящего, можно сократить его ровно вот до настолько небольшого куска чего-то: https://justpaste.lol/?v=ip85qaot получив при этом идентичный(?) результат:
  10. nightfly

    dhcp на vlan

    Ну я ж не просто так попросив вас, хоча б з ось цим посиланням ознайомитись. Одного "хотіння" не достатньо. Це тільки в казках так працює. Там ще в кінці про "жили довго та щасливо..." за звичай. Але на то воно і казки.
  11. nightfly

    dhcp на vlan

    Вам не без різниці, в чому бути повним нулем? UPD я взагалі не розумію, навіщо братись за таку завідомо нетривіальну штуку як міграція, взагалі не розуміючи, що відбувається навколо.
  12. nightfly

    dhcp на vlan

    Чому саме на Дебіан, якщо ви вочевидь, в ньому ні біса не розумієте? Я звичайно міг би порадити, подивитись, до щонайменш непрацюючого у вас фаєрволу та НАТ-у, звернути увагу на те, як влаштовано скрипти ініціалізації користувачів, але все ж для початку пораджу хоча б ознайомитись з ось цим посиланням. Оскільки без усвідомлення, того, що там написано, всі ваші хаотичні рухи, завідомо приречені на провал.
  13. все вірно
  14. Щось типу такого? https://wiki.ubilling.net.ua/doku.php?id=onepunch#кредит_всім_абонентам_з_якимись_умовами
  15. nightfly

    Релізи Ubilling 2022

    Ubilling 1.3.2 rev 8738 Instant Hole З основних змін: alter.ini: нова необов'язкова опція PON_ONU_UNI_STATUS_ENABLED. alter.ini: нова опція POWMAP_ENABLED, що вмикає мапу можливих відключень електропостачання. alter.ini: нова опція FPING_PATH, що вказує повний шлях до бінарника fping в системі. alter.ini: нова опція FPING_ENABLED, що вмикає механіку надшвидкого опиту комутаторів на живість. alter.ini: нова опція USERBYNUM_ENABLED, що вмикає виклик userbynum в Remote API. Модуль ПОНізатор: додано новий пристрій GCOM EL5610 EPON (SNMP шаблон та HAL-бібліотека для опитування рівня сигналів та статусів) Модуль ПОНізатор: додано новий пристрій GCOM GL5610 GPON (SNMP шаблон та HAL-бібліотека для опитування рівня сигналів та статусів) Модуль ПОНізатор: додано можливість відображати робочий стан(и) порту(ів) UNI ONU на «великій плитці сигналу». Керується опцією PON_ONU_UNI_STATUS_ENABLED. Має бути реалізовано в HAL-бібліотеці. Новий модуль “Вимкнення електропостачання”: малює страшненьку мапу на основі мертвих комутаторів та ONU. Модуль Собака-Спостерігака: в налаштування, додано “режим SMS-тиші” для тимчасового відключення спаму SMS-ками. Модуль “Фінансові операції”: виправлено косметичну проблему, що виникала при відображенні деяких попередніх платежів. Модуль “Комутатори”: виправлена проблема інтерфейсу створення нового комутатора при увімкненій опції SWITCHUPL_SEARCHBL. Модуль “ПОНізатор”: реалізовано можливість повної очистки всього кешу даних OLT однією кнопкою. Модуль “Тарифи”: відремонтовано створення та редагування трафік-орієнтованих тарифних планів. Ага, такі часи. Глобально: новий скін Ready, чисто як демонстрація того, що в принципі, вмєняємий фронтенд є реалізуємим в теорії. Remote API: новий виклик fastping, ніколи не вгадаєте для чого. Remote API: новий виклик userbynum призначений для отримання даних про користувача за номером його стільникового.
  16. nightfly

    DNS

  17. nightfly

    DNS

  18. nightfly

    DNS

    $ nslookup luga1news.ru `whois luga1news.ru | grep nserver | head -n 1 | awk -F " " '{print $2}'` Server: ns1.firstvds.ru. Address: 2a01:230:2:74::3#53 Name: luga1news.ru Address: 1.1.1.1 Вітаю вас з першим днем в інтернеті. Отак ви дізнались, для чого призначено DNS. Можливо з часом ви ще дізнаєтесь, що в всрато-списках є ше хости які резолвляться і в вісімки і в 127.0.0.1.
  19. nightfly

    Freeradius

    Ну так у вас MySQL не стартує, до старту радіусу. В результаті він дивиться на це і падає з воплями. Чінітє.
  20. nightfly

    Ошибка? Big data processing error

    Незачто. В точку
  21. nightfly

    Ошибка? Big data processing error

    починил
  22. nightfly

    Ubilling на FreeBSD ARM

    Можна зібрати, не бачу проблем. На распберрі вже розвертали. Але при свічках робити це трохи не зручно.
  23. nightfly

    Freeradius

    ну так в радіуса лог дивіться, нє?
  24. nightfly

    Freeradius

    Ну поглипайте очима, що там в його лозі при перезавантаженні відбувається. За замовчуванням все працює.
  25. Ви по ідеї, проєбали десь дефолтне полісі блокування в firewall.conf. Пофіг на 47-му. UPD: ... WHERE `Cash`< -`Credit OR `Passive`=1 OR `Down`=1 OR `AlwaysOnline`=0
×
×
  • Створити нове...