Перейти до

Рекомендованные сообщения

 

Нужны какие то телодвижения?

Там используется штатная функция mail() которая просто напросто требует локального, запущенного и работающего MTA.

 

Проверяется ее работа довольно просто при помощи "Консоли разработчика":

function testEmail($email,$message) {
        $sender=__('Watchdog');
        $subj='Ubilling '.__('Watchdog');
        $message.=' '.date("Y-m-d H:i:s");
        $headers = 'From: =?UTF-8?B?' . base64_encode($sender) . '?= <' . $email . ">\n";
        $headers .= "MIME-Version: 1.0\n";
        $headers .= 'Message-ID: <' . md5(uniqid(time())) . "@" . $sender . ">\n";
        $headers .= 'Date: ' . gmdate('D, d M Y H:i:s T', time()) . "\n";
        $headers .= "Content-type: text/plain; charset=UTF-8\n";
        $headers .= "Content-transfer-encoding: 8bit\n";
        $headers .= "X-Mailer: Ubilling\n";
        $headers .= "X-MimeOLE: Ubilling\n";
        mail($email, '=?UTF-8?B?' . base64_encode($subj). '?=', $message, $headers);
        log_register("WATCHDOG SEND EMAIL `".$email."`");
    }


testEmail('ваше_мыло','test ok');
Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 468
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

UPD: А хрен там с утра. Я ж нормально с таким не засну     проблема исправлена начиная с 0.5.4 rev 3462. Для резкого фикса следует обновить api/libs/api.userreg.php получив его отсюда: https://g

Думаю согласились бы, если бы были в курсе как работает OpenPayz.   Большинство нормальных ПС умеет показывать юзеру сколько у него денег на счету, как его зовут, где он живет и кто он такой вообще

всем привет ! сегодня ночью чет не спалось и получилось вот это Miktotik-Linux-nas это адаптированный Mikrotik NAS для Linux делается все также как тут http://wiki.ubilling.net.ua/doku.php?id=mikrotik

Posted Images

В продолжение вчерашнего разговора по поводу оповещения работних  по СМС.

в cron добавил

*/10 * * * * /usr/bin/curl -o /dev/null "http://127.0.0.1/billing/?module=remoteapi&key=UB79ad584431e04f098a0ce9904b818193&action=*watchdog*"

создал задание с оповещением по СМС

 

в /content/tsms/ появился файлик ts_td8uycbq

который так там и находится.

 

СМС так и не пришли... Нужно что ещё зделать, чтоб заворкало?

Відредаговано felixio_01
Ссылка на сообщение
Поделиться на других сайтах

 

в cron добавил

ок

 

 

в /content/tsms/ появился файлик ts_td8uycbq

ок

 

 

который так там и находится.

не ок

 

 

СМС так и не пришли... Нужно что ещё зделать, чтоб заворкало?

да не - все вроде сделали :)

 

Стукните в общем в аську через пол часика - разберемся с вашими собаками-уведомляками раз и на всегда.

Ссылка на сообщение
Поделиться на других сайтах

Чтобы функция загрузки бекапов могла работать с большими файлами (>100Мб) и на хостинге не кончилась внезапно память, одну функцию надо переписать в виде:

 function zb_DownloadFile($filePath,$contentType='') {
    if (!empty($filePath)) {
    if (file_exists($filePath)) {
    log_register("DOWNLOAD FILE `".$filePath."`");
    
    if (($contentType=='') OR ($contentType=='default')) {
        $contentType='application/octet-stream';
    } else {
        //additional content types
        if ($contentType=='docx') {
            $contentType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
        }
    } 
		header("Content-Disposition: attachment; filename=\"" . basename($filePath)."\"");   
		header("Content-Type: ".$contentType);
		header("Content-Transfer-Encoding: Binary"); 
		header("Content-Description: File Transfer");            
		header("Content-Length: " . filesize($filePath));		
		flush(); // this doesn't really matter.
		$fp = fopen($filePath, "r");
		while (!feof($fp)) {
			echo fread($fp, 65536);
			flush(); // this is essential for large downloads
		} 
		fclose($fp);
		die();
    } else {
        throw new Exception('DOWNLOAD_FILEPATH_NOT_EXISTS');
    }
    } else {
        throw new Exception('DOWNLOAD_FILEPATH_EMPTY');
        
    }
}

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Den1xxx

 

Чтобы функция загрузки бекапов могла работать с большими файлами (>100Мб) и на хостинге не кончилась внезапно память, одну функцию надо переписать в виде:

О, спасибоньки!

Хотя у нас дефолтом и считается memory_limit = 256M  но патч всеравно архиполезный и может предотвратить кучку плоходиагностируемых проблем.

Ушло в основную ветку.

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах

Добрый день подскажите какую фрю на NAS лутше поставить 9.2,  10.0 на ней будет работать rscriptd ну и соответственно нат и шейпер, поскольку я фрями не пользуюсь , вот решил немного приобщиться.

Ссылка на сообщение
Поделиться на других сайтах

Итак.

Много из того, что было запланировано на ближайшее время не было дописано, но так как обновление уже стремительно начало становиться дико жирным

fatunicorn.jpg

решено было выпустить промежуточный, "типа стабильный" релиз Ubilling 0.5.1 rev 3356.

 

И вот какие веселые изменения вас ждут, в случае если вы таки обновитесь, как любой нормальный, сознательный гражданин:

 

  • Изменения в структуре БД, см дамп.
  • alter.ini: новая опция BUILD_EXTENDED включающая расширенные параметры (паспорта) домов.
  • alter.ini: новая опция BUILD_OWNERS перечисляющая хозяйствующих субъектов.
  • alter.ini: новая опция BUILD_EXTOPTS выставляющая макс. количества этажей и подъездов.
  • alter.ini: новая опция UKV_ENABLED включающая УКВ
  • alter.ini: новая опция UKV_BS_PAYID устанавливающая тип денег вносимых по выпискам УКВ
  • alter.ini: новая опция UKV_MONTH_DEBTLIMIT устанавливающая порог должников УКВ в месяцах
  • alter.ini: новая опция SIGNUP_PAYMENTS включающая возможность установления платы за подключение для тарифов и обработку платежей за подключение
  • alter.ini: новая опция SIGNUP_TYPEID устанавливающая тип денег вносимых за подключение
  • Модуль «Опрос при помощи SNMP»: исправлена проблема сортировки FDB в некоторых ситуациях.
  • Модуль «Опрос при помощи SNMP»: причесана работа штатных парсеров данных.
  • Модуль «Опрос при помощи SNMP»: добавлена возможность принудительного переопроса устройства, с очисткой кеша.
  • Модуль «Настройки системы»: исправлено отображение некоторых опций
  • Модуль «Планирование работ»: теперь умеет показывать для заданий - SMS, если оное было отослано работнику.
  • Модуль «Опрос при помощи SNMP»: обновились шаблоны опроса свичей. Спасибо DemonidZe.
  • Модуль «Дома»: улучшено логирование.
  • Модуль «Дома»: появилась новая сущность - «паспорт дома». Позволяет цеплять к дому ЖКХ, телефоны и прочие полезные штуки.
  • Модуль «Паспортные данные»: у календариков появились возможности прямого выбора года/месяца.
  • Модуль Собака-наблюдака: добавлена возможность указывать в «действиях» дополнительные номера для отсылки.
  • Модуль «Собака-наблюдака»: теперь позволяет отсылку только на дополнительные номера исключая основные из настроек.
  • Модуль «События»: увеличено быстродействие, за счет уменьшения обращений к БД и кеширования статистики.
  • Модуль «Печать документов»: убрана возможность «быстрой печати». Осталась только «С дополнительными опциями».
  • Модуль «Собака-наблюдака»: обновлена поддержка SMS шлюза сервиса TurboSMS.
  • Модуль «Рассылка с помощью TurboSMS»: обновлена поддержка SMS шлюза сервиса TurboSMS.
  • Модуль «Изменение жилища пользователя»: теперь очищает за собой кеш адресов.
  • Модуль «Регистрация пользователей»: теперь очищает за собой кеш адресов.
  • Модуль «Расширенная настройка MikroTik»: исправлена локализация.
  • Модуль «Финансовый отчет»: косметика.
  • Модуль «Карта оборудования»: добавлен зум при скролле мышью.
  • Модуль «Планирование работ»: улучшено логирование при отсылке SMS.
  • Модуль «Печать документов»: исправлена регистрация документа в базе, при кастомной печати.
  • Модуль «Карта оборудования»: добавлена возможность автоматической кластеризации больших скоплений свитчей.
  • Модуль «Карта оборудования»: немного косметики.
  • Кабинет пользователя: опция PAYMENTSTIMEHIDE теперь маскирует только время платежей а не дату целиком.
  • Кабинет пользователя: исправлен косметический артефакт локализации в модуле изменения тарифов.
  • API удаленного вызова: ukvfeeprocessing производящий начисление АП для всех пользователей УКВ.
  • API удаленного вызова: теперь адекватно реагирует на опцию WATCHDOG_ENABLED
  • Функция скачивания файлов: ликвидирована возможность утечек памяти, при скачивании больших файлов. Спасибо Den1xxx.
Учитывая такой вот чейнжлог, минимальные рекомендации к обновлению, тоже будут достаточно жестокими.
Ссылка на сообщение
Поделиться на других сайтах

Огромное спасибо!

Обновился, полёт нормальный! (в прочем как и всегда, с вами подругому не бывает :))

 

В наших краях появились возможности зарулить в свои сети IPTV, я вот и зарулил (~260 каналов), отсюда вопрос - не планируется ли в Ubilling каких либо фич для мониторинга/управления IPTV? :)

 

Еще раз, огромное спасибо за труды!

Відредаговано v27s
Ссылка на сообщение
Поделиться на других сайтах

Доброе время суток!

 

вопрос:

значение SIGNUP_TYPEID соответствует значениям ID типа оплат и "Справочники" -> " Тип оплаты" ???

 

т.е. например ID налички у меня 1

значить если хотим чтоб за подключение платилось наличкой 

ставим 

SIGNUP_TYPEID=1

???

 

или это отдельный ID типа оплат, для индентификации денег за подключение?

 

также по поводу "UKV_BS_PAYID" ?

Відредаговано felixio_01
Ссылка на сообщение
Поделиться на других сайтах

и ещё...

я так понимаю, что если хотим использовать УКВ, также необходимо ввести дамп из WiKi (тыц)

 

у меня при вводе вот этой части дампа 

 

 

CREATE TABLE IF NOT EXISTS `ukv_banksta` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL,
`hash` varchar(255) NOT NULL,
`filename` varchar(255) DEFAULT NULL,
`admin` varchar(255) NOT NULL,
`contract` varchar(255) DEFAULT NULL,
`summ` varchar(42) NOT NULL,
`address` varchar(255) DEFAULT NULL,
`realname` varchar(255) DEFAULT NULL,
`notes` varchar(255) DEFAULT NULL,
`pdate` varchar(42) DEFAULT NULL,
`ptime` varchar(42) DEFAULT NULL,
`processed` tinyint(4) NOT NULL,
PRIMARY KEY (`id`),
KEY `hash` (`hash`,`contract`,`summ`,`processed`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

 

пишет неверный запрос.

Ссылка на сообщение
Поделиться на других сайтах

хм... 

при включённой диррективе BUILD_EXTENDED

 

когда заходишь "Справочник"->"Дома" щелкаешь на иконке в колонке "Действия"

 

вылетает с ошибкой: 

 

Fatal error: Uncaught exception 'Exception' with message 'NOT_ENOUGHT_OPTIONS' in /var/www/billing/api/libs/api.address.php:888 Stack trace: #0 /var/www/billing/api/libs/api.address.php(835): BuildPassport->loadConfig() #1 /var/www/billing/api/libs/api.address.php(561): BuildPassport->__construct() #2 /var/www/billing/modules/general/builds/index.php(35): web_BuildLister('1') #3 /var/www/billing/index.php(67): include_once('/var/www/billin...') #4 {main} thrown in /var/www/billing/api/libs/api.address.php on line 888

Ссылка на сообщение
Поделиться на других сайтах

хм... 

при включённой диррективе BUILD_EXTENDED

 

когда заходишь "Справочник"->"Дома" щелкаешь на иконке в колонке "Действия"

 

вылетает с ошибкой: 

 

Fatal error: Uncaught exception 'Exception' with message 'NOT_ENOUGHT_OPTIONS' in /var/www/billing/api/libs/api.address.php:888 Stack trace: #0 /var/www/billing/api/libs/api.address.php(835): BuildPassport->loadConfig() #1 /var/www/billing/api/libs/api.address.php(561): BuildPassport->__construct() #2 /var/www/billing/modules/general/builds/index.php(35): web_BuildLister('1') #3 /var/www/billing/index.php(67): include_once('/var/www/billin...') #4 {main} thrown in /var/www/billing/api/libs/api.address.php on line 888

выже заливали вот этот дамб

CREATE TABLE IF NOT EXISTS `buildpassport` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`buildid` int(11) NOT NULL,

`owner` varchar(255) DEFAULT NULL,

`ownername` varchar(255) DEFAULT NULL,

`ownerphone` varchar(255) DEFAULT NULL,

`ownercontact` varchar(255) DEFAULT NULL,

`keys` tinyint(4) DEFAULT NULL,

`accessnotices` varchar(255) DEFAULT NULL,

`floors` int(11) DEFAULT NULL,

`apts` int(11) DEFAULT NULL,

`entrances` int(11) DEFAULT NULL,

`notes` text,

PRIMARY KEY (`id`),

KEY `buildid` (`buildid`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Ссылка на сообщение
Поделиться на других сайтах

Кто нить собирал последнее время  удаленный нас на фре вот по этому      описани ? клиент мускуля ставился ? Потомучто у меня по не понятным причинам пока что не взлетело .

Відредаговано DemonidZe
Ссылка на сообщение
Поделиться на других сайтах

 

хм... 

при включённой диррективе BUILD_EXTENDED

 

когда заходишь "Справочник"->"Дома" щелкаешь на иконке в колонке "Действия"

 

вылетает с ошибкой: 

 

Fatal error: Uncaught exception 'Exception' with message 'NOT_ENOUGHT_OPTIONS' in /var/www/billing/api/libs/api.address.php:888 Stack trace: #0 /var/www/billing/api/libs/api.address.php(835): BuildPassport->loadConfig() #1 /var/www/billing/api/libs/api.address.php(561): BuildPassport->__construct() #2 /var/www/billing/modules/general/builds/index.php(35): web_BuildLister('1') #3 /var/www/billing/index.php(67): include_once('/var/www/billin...') #4 {main} thrown in /var/www/billing/api/libs/api.address.php on line 888

выже заливали вот этот дамб

CREATE TABLE IF NOT EXISTS `buildpassport` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`buildid` int(11) NOT NULL,

`owner` varchar(255) DEFAULT NULL,

`ownername` varchar(255) DEFAULT NULL,

`ownerphone` varchar(255) DEFAULT NULL,

`ownercontact` varchar(255) DEFAULT NULL,

`keys` tinyint(4) DEFAULT NULL,

`accessnotices` varchar(255) DEFAULT NULL,

`floors` int(11) DEFAULT NULL,

`apts` int(11) DEFAULT NULL,

`entrances` int(11) DEFAULT NULL,

`notes` text,

PRIMARY KEY (`id`),

KEY `buildid` (`buildid`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

 

 

 

я заливал и этот дамп тоже, как указано в рекомендациях к обновлению

 

т.о. я выполнил рекомендация по по обновлению и кроме этого, залил дампы с wiki из "УКУ aka Управление Кабельным Всемогущее"

"

Ссылка на сообщение
Поделиться на других сайтах

Ой блин, стоило на денек отвлечься, на серую будничную реальность а вас тут уже много всех :)

Итак по порядку.

 

2 v27s

 

В наших краях появились возможности зарулить в свои сети IPTV, я вот и зарулил (~260 каналов), отсюда вопрос - не планируется ли в Ubilling каких либо фич для мониторинга/управления IPTV? :)

Ну вообще у нас планов, в том числе наполеоновских и прочих тянущих на уютную палату с мягкими стенками всегда валом. Но запиливается новая функциональность / допиливается старая всегда либо под наши конкретные нужды, либо в свете кровавой заказухи, либо когда заняться вообще нечем, а душа жаждет приключений.

 

На данный момент и как минимум в ближайшие несколько недель я усиленно пилю совсем НеАйпиTV (да млин, уже вторая убогая реализация одного и того же аналогового кабельного). Что будет дальше - фиг знает. Возможность безболезненного расширения функционала, на этот раз изначально хотелось бы верить предусмотрена самой архитектурой. Уже поглядывал одним глазом на сталкера и иптвпорталру, кажись ничего особо страшного там нет.

После стабилизации основного кода в том виде, в котором он задуман - все может случиться ;)

 

 

Еще раз, огромное спасибо за труды!

И вам спасибо, где ж я еще столько бесплатных тестеров найду? ;)

 

Stay tuned.

Ссылка на сообщение
Поделиться на других сайтах

2 felixio_01

 

значение SIGNUP_TYPEID соответствует значениям ID типа оплат и "Справочники" -> " Тип оплаты" ???

 

или это отдельный ID типа оплат, для индентификации денег за подключение?

Логика подсказывает, что да - это должно бы быть оно.

Если окажется что не так - лучше спросить Jcomm - эта враждебная штука с платами за подключение, полностью его код.

 

 

также по поводу "UKV_BS_PAYID" ?

А вот по поводу этого можно сказать точно. Да - это ID типов оплат, под видом которых УКВ будет разносить автоматом деньги по ощадкассовским выпискам.

Ссылка на сообщение
Поделиться на других сайтах

 

и ещё...

я так понимаю, что если хотим использовать УКВ, также необходимо ввести дамп из WiKi (тыц)

Нет. Вы НЕ ХОТИТЕ использовать УКВ. Оно взрывается в руках.

По крайней мере в ближайших пару недель в продакшне ему делать вообще нечего.

 

 

у меня при вводе вот этой части дампа

ща проверю.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

 

когда заходишь "Справочник"->"Дома" щелкаешь на иконке в колонке "Действия"

 

вылетает с ошибкой: 

 

Fatal error: Uncaught exception 'Exception' with message 'NOT_ENOUGHT_OPTIONS' in /var/www/billing/api/libs/api.address.php:888 Stack trace: #0 /var/www/billing/api/libs/api.address.php(835): BuildPassport->loadConfig() #1 /var/www/billing/api/libs/api.address.php(561): BuildPassport->__construct() #2 /var/www/billing/modules/general/builds/index.php(35): web_BuildLister('1') #3 /var/www/billing/index.php(67): include_once('/var/www/billin...') #4 {main} thrown in /var/www/billing/api/libs/api.address.php on line 888

Это говорит о невалидном формате/отсутствии опции BUILD_EXTOPTS.

Должно быть что-то типа

; "максимумэтажей,максимумподъездов"

BUILD_EXTOPTS="16,12"

 

 

Вот чего вы должны получить в результате:

buildpass.png

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах

2 DemonidZe

 

 

Кто нить собирал последнее время  удаленный нас на фре вот по этому      описани ?

С недельку назад дета.

 

 

клиент мускуля ставился ? Потомучто у меня по не понятным причинам пока что не взлетело .

этакаг?

Ссылка на сообщение
Поделиться на других сайтах

2 felixio_01

Проверил на демке - все дампы там нормально льются.

http://demo.ubilling.net.ua:9999/billing/?module=ukv&users=true&userslist=true

 

SHOW TABLES покажите.

Ссылка на сообщение
Поделиться на других сайтах

этакаг?

эм или я еще чет не понял во врях , но хотел проверить скрипты OnConnect и вот они не могу отработать Get*

судя по всему не могут выполнить обращение к мускулю

Відредаговано DemonidZe
Ссылка на сообщение
Поделиться на других сайтах

 

эм или я еще чет не понял во врях , но хотел проверить скрипты OnConnect и вот они не могу отработать Get*

Ну запустите рученьками /etc/rscriptd/GetSpeed какой-то-логин да и увидите на что оно ругнется.

 

Хотя... делаем ставки. Я ставлю на то, что у мускульного юзера которого вы вписали в инсталл скрипте, просто нету прав соединяться с % хостов.

Ссылка на сообщение
Поделиться на других сайтах

 

эм или я еще чет не понял во врях , но хотел проверить скрипты OnConnect и вот они не могу отработать Get*

Ну запустите рученьками /etc/rscriptd/GetSpeed какой-то-логин да и увидите на что оно ругнется.

 

Хотя... делаем ставки. Я ставлю на то, что у мускульного юзера которого вы вписали в инсталл скрипте, просто нету прав соединяться с % хостов.

 

и нет. у юзера права есть . ручками запускал : ./GetSpeed: Command not found. попытки вызвать в консоле чтото похожее на mysql посылают в пустоту.

щас переустоновил занова ставлю опять я тогда ставил МС , правда не думаю что это он виноват. и за сегодня проверил на 9.2 и 10 на 9.2 походу все адекватно ставить и стартует (ну праблема такаяже (мож всетаки МС виноват)) на 10 уже не катит сам rscripd

Відредаговано DemonidZe
Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від a_n_h
      Всем доброго дня и мирного неба!
        После многочисленных экспериментов выяснил, что на последних версиях freebsd  максимум удавалось прокачать до 14 ГБт суммарно трафика со 100% загрузкой процессора. На том-же железе но с установленной freebsd 11.2 прокачивается до 20-ти ГБт суммарно тестового трафика с загрузкой процессора около 50%. 
        Подскажите, что можно убрать или наоборот добавить в систему с freebsd 13,3 для получения аналогичного результата...
    • Від ppv
      Проглянув FAQ і Ubilling Wiki. Зацікавило питання чи є в Ubilling якась реалізація reCAPTCHA, чи потрібно додавати руцями, (для прикладу для форми подачі заявок чи для кабінету користувача)?
       
    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  

×
×
  • Створити нове...