Перейти до

Релизы Ubilling


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

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().

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 1,2k
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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

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

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

Posted Images

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

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

 

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

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

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

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}";

}

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

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

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

 

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

net.png

 

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

 

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

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

Подождал 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

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

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

 

zb_AddressGetAptAllDataByBuild

zb_AddressGetBuildAllDataByStreet

 

Как-то так:

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

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

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

 

 

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

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

--по улице;

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

 

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

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

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

 

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

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

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

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

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

 

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

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

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

 

Релиз 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

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

Модуль карт.

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

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

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

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

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

 

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

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

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

 

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

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

 

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

 

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

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

Файл 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

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

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

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

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

 

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

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

 

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

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

zb_UserCreateRealName($login,$realname)

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

 

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

 

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

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

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

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

    • Від Remez
      Ценник 5,500
       
      в наличии 3 шт
       
       





    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
    • Від ppv
      Проглянув FAQ і Ubilling Wiki. Зацікавило питання чи є в Ubilling якась реалізація reCAPTCHA, чи потрібно додавати руцями, (для прикладу для форми подачі заявок чи для кабінету користувача)?
       

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