Jump to content

Recommended Posts

 

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

Там используется штатная функция 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');
Link to post
Share on other sites
  • Replies 468
  • Created
  • Last Reply

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

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

 

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

Edited by felixio_01
Link to post
Share on other sites

 

в cron добавил

ок

 

 

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

ок

 

 

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

не ок

 

 

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

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

 

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

Link to post
Share on other sites

Чтобы функция загрузки бекапов могла работать с большими файлами (>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');
        
    }
}

Link to post
Share on other sites

Den1xxx

 

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

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

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

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

Edited by nightfly
Link to post
Share on other sites

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

Link to post
Share on other sites

Итак.

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

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.
Учитывая такой вот чейнжлог, минимальные рекомендации к обновлению, тоже будут достаточно жестокими.
Link to post
Share on other sites

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

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

 

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

 

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

Edited by v27s
Link to post
Share on other sites

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

 

вопрос:

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

 

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

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

ставим 

SIGNUP_TYPEID=1

???

 

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

 

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

Edited by felixio_01
Link to post
Share on other sites

и ещё...

я так понимаю, что если хотим использовать УКВ, также необходимо ввести дамп из 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 ;

 

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

Link to post
Share on other sites

хм... 

при включённой диррективе 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

Link to post
Share on other sites

хм... 

при включённой диррективе 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 ;

Link to post
Share on other sites

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

Edited by DemonidZe
Link to post
Share on other sites

 

хм... 

при включённой диррективе 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 Управление Кабельным Всемогущее"

"

Link to post
Share on other sites

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

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

 

2 v27s

 

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

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

 

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

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

 

 

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

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

 

Stay tuned.

Link to post
Share on other sites

2 felixio_01

 

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

 

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

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

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

 

 

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

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

Link to post
Share on other sites

 

и ещё...

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

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

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

 

 

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

ща проверю.

Link to post
Share on other sites

 

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

 

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

 

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

Edited by nightfly
Link to post
Share on other sites

2 DemonidZe

 

 

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

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

 

 

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

этакаг?

Link to post
Share on other sites

этакаг?

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

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

Edited by DemonidZe
Link to post
Share on other sites

 

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

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

 

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

Link to post
Share on other sites

 

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

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

 

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

 

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

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

Edited by DemonidZe
Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By nightfly
      Суббота отличный день для первого в этом году стабильного релиза. Правда? Нет? В общем вот.. Стабильный релиз Ubilling 1.2.4 rev 8318 Fertile Soil. Куча крутых фич, множество багфиксов и всего о чем вы даже не могли подумать.
       
      Коротко о изменениях:
       
      alter.ini: новая опция PON_DEFERRED_LOADING включающая отложенную загрузку данных alter.ini: новая опция PON_ONU_CACHING включающая кэширование данных о ONU. alter.ini: новая необязательная опция CREDIT_EVERGARDEN включающая покраску кредитов в фиолетовый. Не спрашивайте. alter.ini: вырезаны опции CATV_* и CRM_MODE а также весь древний и неподдерживаемый код вокруг них. alter.ini: новая опция TASKMAN_ANYONE_EMPLOYEEID устанавливающая ID сотрудника «кто-угодно». alter.ini: новые опции SWITCHSONIC_ENABLED и SWITCHSONIC_TIMEOUT управляющие мониторингом трафика в реальном времени. Модуль ПОНизатор: слегка улучшено быстродействие. Также реализована поддержка кэширования и отложенной загрузки данных. Модуль Собака-посылака: добавлена поддержка работы с сервисом TurboSMS при помощи HTTP API (tsmshttp). Модуль «Движение средств»: теперь умеет опционально красить кредиты в фиолетовый. Модуль «Карта задач»: добавлена возможность устанавливать фильтр по типу выполненных задач. Модуль «Работы»: исправлена проблема невидимости имен уже не работающих сотрудников в предыдущих задачах по пользователю. Модуль ПОНизатор: добавлена поддержка OLT ZTE C610. Модуль Учет зарплат: добавлен показ нормочасов в списке выполненных по задаче работ. Модуль «Учет зарплат»: при отсылке отчетов сотрудникам в Телеграм, добавлены нормочасы по каждой из задач а также их сума. Модуль «ПОНизатор»: добавлена возможность показа на карте ONU, только с выбранного OLT. Новый модуль «Таймлайн работников»: позволяет нормально распределять ожидаемое время выполнения задач среди ваших сотрудников. Модуль Mapon: теперь умеет отдельно показывать нераспределенные задачи, тоесть задачи на сотрудника «кто-угодно». Модуль «Таймлайн администраторов»: теперь высота графика автоматически подгоняется под количество данных. Модуль «Свитчи»: немного переработаны и облагорожены контролы в профиле свитча. Модуль «Свитчи»: добавлена возможность быстрого создания задачи из прямо профиля устройства. Модуль «Сервер DHCP»: добавлен дзэн-режим. Потому что «а почему бы и нет?» Модуль «Профиль пользователя»: опция EASY_SMS теперь может принимать значения 0/1/2. Модуль «Askozia монитор»: добавлена возможность прослушивания всех звонков за все время. Тормозная копец. Модуль «Панель задач»: все модули/отчеты выглядящие и ведущие себя как карты и являющиеся картами унесены в отдельный раздел. Модуль «Контроль качества»: исправлены данные в отчетах, в колонке за год. Новый модуль «Дубликаты задач»: позволяет отлавливать повторные задачи совершаемые по одним и тем же адресам в диапазоне времени. Новый модуль «Трафик в реальном времени»: позволяет отслеживать загрузку интерфейсов вашего оборудования "вот прямо сейчас". UHW_MLG: починена работа с POD.  
      Полный чейнджлог: https://wiki.ubilling.net.ua/doku.php?id=changelog2022#rev_8318
      Рекомендации к обновлению: https://wiki.ubilling.net.ua/doku.php?id=relnotes#section124
      Обновленная демка: https://ubilling.net.ua/?module=fnpages&pid=demo
       

    • By strushke
      Всем доброго дня и с праздниками!
       
      Если вдруг кто-то хочет запускать различные темы в кабинете пользователя,
      в зависимости от типа устройства, вам потребуется произвести некоторые манипуляции с php кодом кабинета,
      ну и вот вам моё (может неказистое, но рабочее) решение:
       
      На гитхабе уже существует php проект, определяющий тип устройства,
      поэтому не выдумываем и будем использовать его:
      https://github.com/serbanghita/Mobile-Detect/
       
      Для начала, нужно подключить его вконце index.php:
       
      require_once 'Mobile_Detect.php'; //Detect library Далее, нужно создать объект класса:
      $detect = new Mobile_Detect; //Class object Вообще, верхний код я без зазрения совести скопипастил с какой-то статьи из интернета, говорят, это экономит время.
      Теперь, к самой сути:
      if($detect->isMobile()) { zbs_ShowTemplate("default-mobile"); } else { zbs_ShowTemplate("default"); } Здесь мы вытаскиваем из класса необходимое условие, в зависимости от которого,
      будем выполнять необходимые манипуляции с кабинетом.
      В данном случае загружается конкретный шаблон в том случае, если устройство определено как 'mobile', 
      и обычный (любой другой) шаблон, если условие не соблюдено. К слову, mobile_detect.php умеет
      не только различать десктоп от мобильных платформ, но и конкретизировать систему, к примеру isAndroidOS()
      соответственно, укажет на то, что платформа определилась как андроид. 
      Полный список параметров доступен на странице проекта на гитхабе, я полагаю. Мне хватило пока что isMobile()
       
      Но есть еще один нюанс. С завода, функция zbs_ShowTemplate() загружает тему, указанную в config.php
      и не умеет загружать принудительно указанную тему, как мы это сделали в скобках выше. Но мы её научим. 
      Нужно открыть файл
      /modules/engine/api.compat.php И найти там описание функции :
      function zbs_ShowTemplate()  Ну и меняем её содержимое на что-то вот такое: 
      function zbs_ShowTemplate($tpath) { global $ContentContainer; if(!isset($tpath)){ include (zbs_GetCurrentSkinPath() . 'template.html'); } else { $basePath = 'skins/'; include $basePath . $tpath . '/' . 'template.html'; } } Что мы сделали?
      Мы добавили в объявлении функции возможность указания темы через переменную $tpath в скобках
      и просто подставляем его вместо пути к директории шаблона. 
      Кстати, в таком виде, пропал функционал определения шаблона из конфига, да и вообще половина кода в функции не нужна стала. 
      Но поскольку тут всё просто, то вы можете с легкостью исправить это сами. 
      Всем добра
    • By baibulat
      Добрый день!
      Ищу системщика для установки и полной настройки Ubilling с нуля, для обсуждения деталей жду  ваших предложений в личку или в телеграмм baibulats
    • By Andy_K.
      Прошу помощи. 
      Проблема такая: стоит тестовая сборка FreeBSD 13 для Ubilling. Спустя некоторое время, месяца 2-3 (не замерял время) зацокал винчестер. Компьютер стоит на рабочем столе, потому сразу обратил внимание, но значение не придал, т.к. комп старый, HDD ноутбучный тоже не первой свежести. В принципе, на работу не влияет, просто цокает винчестер головками и все. Тут подвернулся сервер IBM 3680 с аппаратным RAID и прочими радостями. Установил на него FreeBSD-13, Ubilling и продолжил тестить дальше, но спустя примерно 1 месяц сервер стал зависать с ошибкой системных дисков на RAID контроллере. И тут мне кажется проявляется закономерность - один и тот же образ на двух разных сборках - глючит HDD. 
      Вопрос: как определить виновника проблемы? Интернет в части диагностики ведет только к FDISK и подобным. В моем кругу знакомых нет ни одного, кто б так глубоко закапывался в BSD системы. 
      P.S. Система ставилась чистая, на нее ставился Ubilling, больше ни какие программы не ставились. Сейчас на том же железе стоит Ubuntu, работает без сбоев, но я устал ломать голову в попытках настроить Ubilling, т.к. авторы все настройки приводят к FreeBSD и работает ли данные рекомендации в Ubuntu не всегда ясно.
    • By Kto To
      Стали появляться жалобы от клиентов на обрыв пппое сессий. Проверили - действительно присутствует у некоторых абонентов такая проблема - несколько раз в день обрывается пппое сессия. Вот что в логах
       
      Dec 15 11:55:14 nas mpd: [vlan2-153] LCP: no reply to 1 echo request(s) Dec 15 11:55:34 nas mpd: [vlan2-153] LCP: no reply to 1 echo request(s) Dec 15 11:56:29 nas mpd: [vlan2-153] LCP: no reply to 1 echo request(s) Dec 15 11:56:34 nas mpd: [vlan2-153] LCP: no reply to 2 echo request(s) Dec 15 11:56:39 nas mpd: [vlan2-153] LCP: no reply to 3 echo request(s) Dec 15 11:56:44 nas mpd: [vlan2-153] LCP: no reply to 4 echo request(s) Dec 15 11:56:49 nas mpd: [vlan2-153] LCP: no reply to 5 echo request(s) Dec 15 11:56:54 nas mpd: [vlan2-153] LCP: no reply to 6 echo request(s) Dec 15 11:56:59 nas mpd: [vlan2-153] LCP: no reply to 7 echo request(s) Dec 15 11:56:59 nas mpd: [vlan2-153] LCP: peer not responding to echo requests  
      Вся сеть построена на ПОН, у клиентов которые жалуются уже поменяли все - роутер/ону/патчкорды/переварили оптику. Количество жалоб потихоньку увеличивается. По магистралям и на сервере также все проверили на предмет ошибок на портах и так далее. Проблема возникает у разных клиентов в разных частях сети, линки к разным частям сети бегут разными маршрутами что исключает глючный коммутатор. Проблема возникает не только в ЧНН а в любое время суток. Начал задумываться возможно что-то в конфиге мпд надо подкрутить или еще в чем-то. Если не сложно - поделитесь рабочим (без подобных глюков) конфигом для мпд ну и возможно у кого-то было подобное и как-то решали данную проблему

×
×
  • Create New...