Jump to content

Релизы Ubilling


Recommended Posts

2 Keen

Вы были правы. Только все значительно хуже, поскольку там используються одновременно id и netid в астральном порядке.

Не нашел раньше видимо изза того что раньше не удалялись подсети DHCP.

 

В норме должно быть так:

 

function multinet_rebuild_globalconf() {
$global_template=file_get_contents("config/dhcp/global.template");
$subnets_template=file_get_contents("config/dhcp/subnets.template");
$alldhcpsubnets_q="SELECT `id`,`netid` from `dhcp` ORDER BY `id` ASC";
$alldhcpsubnets=simple_queryall($alldhcpsubnets_q);
$subnets='';
if (!empty ($alldhcpsubnets)) {
	foreach ($alldhcpsubnets as $io=>$eachnet) {
		$netdata=multinet_get_network_params($eachnet['netid']);
		$templatedata['{STARTIP}']=$netdata['startip'];
		$templatedata['{CIDR}']=explode('/', $netdata['desc']);
		$templatedata['{CIDR}']=$templatedata['{CIDR}'][1];
		$templatedata['{ROUTERS}']=int2ip(ip2int($templatedata['{STARTIP}'])+1);
		$templatedata['{MASK}']=multinet_cidr2mask($templatedata['{CIDR}']);
		$dhcpdata=dhcp_get_data_by_netid($eachnet['netid']);
		if (isset($dhcpdata['confname'])) {
		$templatedata['{HOSTS}']=$dhcpdata['confname'];
		// check if override?
		if (!empty ($dhcpdata['dhcpconfig'])) {
			$currentsubtpl=$dhcpdata['dhcpconfig'];
		} else {
			$currentsubtpl=$subnets_template;
		}
		$subnets.=multinet_ParseTemplate($currentsubtpl, $templatedata)."\n";
	}
	}
}

$globdata['{SUBNETS}']=$subnets;
$globconf=multinet_ParseTemplate($global_template,$globdata);
file_write_contents("multinet/dhcpd.conf", $globconf);
}

 

Перепроверил дважды. При удалении/создании подсетей DHCP все отрендеривается как надо. Фикс уходит в 0.1.6.

ЗЫ недокументированная фича - при заходе в модуль "Сети" вызывается multinet_rebuild_all_handlers() с последующим multinet_RestartDhcp().

Link to post
Share on other sites
  • Replies 1.2k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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

Преувеличиваем? Ничего особенного и нового я не сделал

Ни один единорог не пострадал? =)

Posted Images

Эммм, ничего не имею против.

А можно посмотреть на примере subnets.template как это используется?

 

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

Link to post
Share on other sites

приблизительно следующее:

localhost ~ # cat /var/www/root/config/dhcp/subnets.template

subnet {NETWORK} netmask {MASK} {

default-lease-time 3600;

option domain-name "domain.kiev.ua";

range {STARTIP} {ENDIP};

option subnet-mask {MASK};

option routers {ROUTERS};

include "/var/www/root/multinet/{HOSTS}";

}

Link to post
Share on other sites

Агааа, он оно как. Совсем забыл о рейнджах :D

Есть еще такая проблема что {NETWORK} ну либо {STARTIP}, смотря что там используется в шаблоне после subnet, сейчас должен указываться только с нуля.

 

Тобишь как-то так:

net.png

 

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

 

Ушло в мейнстрим

Link to post
Share on other sites

Подождал 5 минут. Раз все молчат значит так... 0.1.6 rev 750 со следующим списочком изменений:

 

* billing.ini: новый параметр KILL указывающий на путь к kill

* billing.ini: новый параметр STGPID указывающий на путь к PID файлу stargazer

* billing.ini: новый параметр STGNASHUP указывающий на потребность посылки SIGHUP к stargazer при изменении NAS-ов.

* API Сетей - исправлена ошибка связанная с неверной обработкой id/netid. Спасибо Keen.

* API Сетей - расширен набор макро для шаблонов подсетей

* Исправлена работа предварительного просмотра dhcpd.conf в случае использования кастомных шаблонов подсетей

* Модуль «Онлайн»: починен внезапно сломавшийся общий счетчик трафика

* Кабинет пользователя: теперь кредит выставляется на сумму тарифа+стоимость кредитования

* Кабинет пользователя: изменена модель подгрузки локализации, есть шансы сделать переключаемым язык

* API Сетей: при изменении NAS-ов в remote_nas.conf в соответствии с опцией STGNASHUP будут перечитываться конфиги stargazer

* Кабинет пользователя: черновой вариант самосмены тарифа

* Кабинет пользователя: черновой вариант использования платежных карт

* Кабинет пользователя: добавлено логирование денежных операций

* Отчеты по платежам: добавлена трансляция карточек в человеко-читабельный вид

* Кабинет пользователя: появилась возможность смены языка отображения на лету

* Отчеты по платежам: добавлено поле IDENC

* Расширен набор макросов шаблонов чеков

* Модуль «Карточки»: добавлен просмотр попыток перебора карточек с возможностью разбана пользователей

* Модуль «Експорт платежей»: добавлена обработка параметра CITY_DISPLAY при определении дома/квартиры пользователя

* В умолчальном шаблоне subnets.template макрос {STARTIP} заменен на {NETWORK}. Еще раз спасибо Keen.

 

 

Оффсайт со всякими ништячками: http://ubilling.net.ua/

Релиз качается по ссылке: http://ubilling.net.ua/ub.tgz

Более менее свежая инструкция по установке: http://wiki.ubilling...id=setupfreebsd

Демка на месте: http://ubilling.net....npages&pid=demo

 

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

016.jpg

Link to post
Share on other sites

ИМХО стоит добавить сортировку в выводе функций

 

zb_AddressGetAptAllDataByBuild

zb_AddressGetBuildAllDataByStreet

 

Как-то так:

$query="SELECT * from `apt` where `buildid`='".$buildid."' ORDER BY `apt`";

Link to post
Share on other sites

Среди всего есть (впрочем давно уже писал) несколько .... просьб (-:

 

 

1. Поиск пользователя:

-Хочеться видеть поиск по адресу:

--по улице;

-- по улице, дому;

 

2. Модуль онлайн :

-хочеться видеть поле стг - last activity;

-и как вариант - последний пинг (арппинг);

 

3. Результаты поиска:

-хочеться видеть поле стг - last activity;

-иконку онлайн (через dn).

Link to post
Share on other sites

Начиная с 0.1.7 в профиле пользователя есть LAT. Поиск перелопачивать в ближайшее время здоровья пока что нету. Там проще все сломать и сделать с нуля.

 

Сейчас пилю динамический шейпер.

Link to post
Share on other sites

Ну раз никто никаких ужасов кроме уже исправленных и отрепорченых не нашел....

 

Релиз Ubilling 0.1.7 rev 810

 

* Новый модуль "Мастер отчетов": позволяющий вооружившись скиллами SQL создавать собственные отчеты

* Кабинет пользователя: исправлена подгрузка локализации при первом заходе в пользовательскую статистику

* Кабинет пользователя: добавлена поддержка опций CITY_DISPLAY и ZERO_TOLERANCE аналогичных alter.ini

* Финансовый отчет: вернулась на место колонка ARPU

* Модуль "Профиль пользователя": новое поле "последняя активность"

* Модуль "редактирование кредита": убрана возможность выставить отрицательное значение

* alter.ini: новая опция NMCHANGE включающая генерацию content/nmchange.sh при заходе в отчет по тарифам

* Добавлены адекватные сортировки в селекторах домов и квартир. Спасибо [[]."]http://local.com.ua/...8-keen/|Keen]].

* Изменена структура БД: новая таблица dshaper_time (см. дамп).

* Новый модуль "Динамический шейпер": позволяющий задавать для различных тарифов скорость в любые промежутки времени

* Тестовый обработчик динамического шейпера лежит в docs/dshaper

* Модуль "Финансовые операции": добавлены "фиктивные платежи" на случай если требуется отображение оплаты но не нужно изменение лицевого счета абонента.

* Ликвидирована возможность регистрации нигде не живущего пользователя.

 

Перед обновлением следует ткнуть следующий дамп в SQL консоль:

 

CREATE TABLE `dshape_time` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tariff`  VARCHAR( 255 ) NOT NULL ,
`threshold1` TIME NOT NULL ,
`threshold2` TIME NOT NULL ,
`speed` INT NOT NULL
) ENGINE = MYISAM  CHARSET=utf8;

 

А также добавить новые параметры в конфиги указанные в чейнджлоге.

 

Качать как всегда тут: http://ubilling.net.ua/ub.tgz

Свежая демка: http://ubilling.net....npages&pid=demo

 

suicide.jpg

Link to post
Share on other sites

Модуль карт.

Если отсортировать таблицу и выбрать какую-либо карту, потом выбрать неактивные и нажать с отмеченными то выводит No cards selected

Е еще, в кабинете пользователя. Если меню вылезает на две строки не совсем красиво получается.

Edited by Maxaon
Link to post
Share on other sites

С сортировкой действительно лажа. Будем дебужить.

Для кабинета пользователя буду выбирать, наверное другой умолчательный шаблон. Текущий выглядит.... как блог тринадцатилетней девочки что-ли.

 

Еще раз спасибо за оперативность.

Link to post
Share on other sites

Внезапный багфикс релиз Ubilling 0.1.8 rev 815.

 

- Починена внезапно сломавшаяся в 0.1.7 переключалка режима внесения средств

- Исправлен просмотр событий по дате

 

Ссылка для скачивания: http://ubilling.net.ua/ub.tgz

 

Скрипт для автоматического обновления: был где-то выше.

Link to post
Share on other sites

Файл api/libs/api.userdata.php

 

Функцию zb_UserChangeRealName предлагаю изменить так, поскольку она учитывает, что до установки системы были учетные записи.

 

function zb_UserChangeRealName($login,$realname) {
   $login=vf($login);
   $realname=mysql_real_escape_string($realname);
   $n_edited = simple_query("SELECT COUNT(*) as num FROM `realname` WHERE `login` = '$login'");
   if ($n_edited['num'] == 0)
 $query = "INSERT INTO `realname` (`login`, `realname`) VALUES ('$login', '$realname');";
   else
 $query = "UPDATE `realname` SET `realname` = '".$realname."' WHERE `login` = '".$login."' ;";
   nr_query($query);
   log_register('CHANGE UserRealName '.$login.' '.$realname);
}

 

Еще можно сделать в БД поле stg.realname.login уникальным, тогда можно использовать REPLACE

Остальные функции тоже править надо.

Link to post
Share on other sites

Там еще много чего есть чего может не быть при неполной конвертации.

Для исправления таких артефактов и есть модуль проверки целостности.

 

post-4093-0-14138700-1362671755_thumb.png

Если натыкать для всех юзеров автоматом пустых мыл/рилнеймов/телефонов не проблема то с данными нужными для multinet возникает совсем другая картина.

 

$query = "INSERT INTO `realname` (`login`, `realname`) VALUES ('$login', '$realname');";

Кстати для таких штук предусмотретн букет функций вида

zb_UserCreateRealName($login,$realname)

чтобы в случае изменения структуры БД ничего не взорвалось.

 

В целом идея действительно здравая, но подходить к таким штукам надо концептуально.

Link to post
Share on other sites

Я предложил бы использование "ON DUPLICATE KEY UPDATE".

Заменяет replace полностью, только логины надо бы сделать уникальными в базе.

Link to post
Share on other sites

Это не бага - это "фича" которая должна проявляться и в других модулях из за того что $_GET['username'], как правило попадает в vf() который скипает всякие инжектоопасные штучки.

Link to post
Share on other sites

c 01.09.11 использую Ubilling.

Ubuntu 10.04 LTS

Ядро 2.6.32-34-server

stg-2.407-p1

mysql 5.1

в данный момент Ubilling 0.1.8 rev 815

до вчерашнего вечера все работало на "УРА"

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

подскажите в чем может заключаться проблема.

Link to post
Share on other sites

Деньги тоже вестимо не вносяться?

 

Проблема может быть только на уровне взаимодействия конфигураторов и старгейзера - данные в табличках users/tariffs изменяються только посредством конфигураторов указанных в billing.ini.

Перезапуск старгейзера ефекта не дает? Виндовым конфигуратором вообще конектиться возможно?

Link to post
Share on other sites

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

деньги возможно внести только виндовим конфигуратором...

Link to post
Share on other sites

Значит собака порылась в логинах/паролях/путях конфигураторов (искренне надеюсь что вы используете sgconf_xml). Можете попробовать переключиься скажем на sgconf и посмотреть на результат. Если он закончится тоже фейлом - руками пробовать позвать sgconf с параметрами указанными в billing.ini

 

"Просто так" там взорваться нечему.

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.5.9 rev 9525 The Perfect Lock
       
      Зміни в структурі БД. alter.ini: нова опція GENERATORS_ENABLED, що вмикає модуль моніторингу генераторів. alter.ini: нова опція TB_GENERATORS_NOTIFY, що вмикає нотифікацію про запущені генератори в області сповіщень. alter.ini: нова опція PON_ONU_UNI_STATUS_COMPACT, що вмикає компактне відображення стану мідних портів на ONU. alter.ini: нова опція PONBOXES_MINIMAP, що дозволяє вмикати та вимикати міні-мапу, при редагування ПОН коробки. Новий модуль Єдинорожий телепорт: дозволяє просто та зручно переносити ваш робочий білінг на новий сервер. Модуль “Реєстрація користувачів”: виправлено проблеми сумісності з PHP 8.5. Модуль “Останні події”: викинуто дубову статку на мороз. Askozia PBX: інтеграція була давно непідтримуваною, викинуто на мороз, разом зі всіма опціями. Модуль Mapon: тепер використовує OmaeURL для взаємодії з API. Модуль “Мапа ONU”: в черговий раз покращення навігації між мапою та іншими модулями системи. Новий модуль Генератори: дозволяє моніторити стан генераторів, базово облікувати мотогодини, пальне та планувати ТО. Модуль ПОНізатор: тепер причини останньої дереєстрації ONU можуть визначатись також по серійнику ONU а не тільки за MAC. Модуль “ПОН Коробки”: покращено продуктивність відмальовки зв'язків коробок на мапах. Глобально: проведено чергову спробу зробити логування подій, що відбуваються навколо користувачів, якимось трішки більш притомним. RemoteAPI: новий виклик generators, що запускає скрипти обробки станів генераторів з автоматичним запуском. RemoteAPI: новий виклик gencontrol, для примусового запуску/зупинки генераторів за допомогою зовнішнього ПЗ. Бібліотека UbillingCache: виправлено проблеми сумісності з PHP 8.5. Бібліотека OmaeURL: виправлено проблеми сумісності з PHP 8.5. Бібліотека UbillingTelegram: вся робота з CURL перенесена до одного методу, покращено сумісність з PHP 8.5. Кабінет користувача: виправлено проблеми сумісності з PHP 8.5. UBinstaller: тепер при встановленні попередньо розгортає та конфігурує SphinxSearch. UBinstaller: Зібрано бінарні пакунки для FreeBSD 14.3 amd64 + PHP 8.5. UBinstaller: Зібрано бінарні пакунки для FreeBSD 15.0 amd64 + PHP 8.5.  
      Повний чейнджлог
      Оновлена демка
       
       

    • By maxkorn
      Доброго дня!
      На Mikrotik NAS, створив нову підмережу для клієнтів, все наче порядок, тільки помітив, що не створюються шейпери в Queues для клієнтів цієї підмережі.
      В логах Stargazer наступне:
      2025-12-29 09:05:57 - [Ubilling] - OnConnect started for user `xxasdb5rzm`:
      2025-12-29 09:05:57 - [Executer] - Success: Firewall entry was updated/created
      2025-12-29 09:05:57 - [Executer] - Error: Queue entry can't be updated, missing
      2025-12-29 09:05:57 - [Executer] - Success: Queue_tree entry was updated/created
      2025-12-29 09:05:57 - [Executer] - Success: DHCP entry was updated/created
      2025-12-29 09:05:57 - [Executer] - Success: ARP entry was updated/created
      2025-12-29 09:05:57 - [Ubilling] - QC: 6, elapsed time: 0.064 sec.
       
      При чому, на тому ж мікротіку є ще кілька підмереж, в яких все проходить нормально:
       
      2025-12-29 08:30:17 - [Ubilling] - OnConnect started for user `22zxp7u58x`:
      2025-12-29 08:30:17 - [Executer] - Success: Firewall entry was updated/created
      2025-12-29 08:30:17 - [Executer] - Success: Queue entry was updated/created
      2025-12-29 08:30:17 - [Executer] - Success: Queue_tree entry was updated/created
      2025-12-29 08:30:17 - [Executer] - Success: DHCP entry was updated/created
      2025-12-29 08:30:17 - [Executer] - Success: ARP entry was updated/created
      2025-12-29 08:30:17 - [Ubilling] - QC: 6, elapsed time: 0.602 sec.
       
      Налаштування аналогічні, в чому може бути причина?
    • By ProstoName
      Змінювали мережеву карту. Здається все поправив. Працює. Але є невелика проблема - після внесення коштів (коли абонент був відключений), інет в нього не з'являється. Тільки після заміни тарифу на інший (і потім вернувши тариф) в абонента з'являється інет. 
    • By ppv
      Собака-посилака перестала відправляти повідомлення. Підкажіть де шукати.
      Можливо таке після пропадання світла, сервер ребутнувся, але я не впевнений. Візуально все працює, крон працює, а повідомлення висять в черзі, смс така ж картина.

    • By camchatix
      Привіт!
       
      Є багато запитів, щоб інтернет не виключався у північ, а скажімо в день (сигналізації, камери під охороною і тд)
      При щоденній абонплаті - як знімати гроші не у 12:00 у північ, а наприклад у 11 годин дня ?

×
×
  • Create New...