nightfly Опубліковано: 4 жовтня, 2011 Автор Опубліковано: 4 жовтня, 2011 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().
Keen Опубліковано: 4 жовтня, 2011 Опубліковано: 4 жовтня, 2011 Как пожелание, я б еще добавил пару строк: $templatedata['{ENDIP}']=$netdata['endip']; $templatedata['{NETWORK}']=$templatedata['{CIDR}'][0];
nightfly Опубліковано: 4 жовтня, 2011 Автор Опубліковано: 4 жовтня, 2011 Эммм, ничего не имею против. А можно посмотреть на примере subnets.template как это используется? Просто всегда я исхожу только из своей специфики, и могу быть абсолютно не в курсе всяких модных веяний.
Keen Опубліковано: 5 жовтня, 2011 Опубліковано: 5 жовтня, 2011 приблизительно следующее: 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}"; }
nightfly Опубліковано: 5 жовтня, 2011 Автор Опубліковано: 5 жовтня, 2011 Агааа, он оно как. Совсем забыл о рейнджах Есть еще такая проблема что {NETWORK} ну либо {STARTIP}, смотря что там используется в шаблоне после subnet, сейчас должен указываться только с нуля. Тобишь как-то так: Пока что ничего умнее не придумывается, хотя почкой ощущаю что решение находится где-то за гранью добра и зла. Ушло в мейнстрим
nightfly Опубліковано: 8 жовтня, 2011 Автор Опубліковано: 8 жовтня, 2011 Все тихо? Никто кроме Keen, никаких ужасов не нашел? Можно релизиться?
nightfly Опубліковано: 8 жовтня, 2011 Автор Опубліковано: 8 жовтня, 2011 Подождал 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 Рекомендации по обновлению с предыдущих версий я уже приводил где-то выше. Намекаю на то, что перед обновлением стоит внести все новые опции в соответствующие конфиги.
Keen Опубліковано: 14 жовтня, 2011 Опубліковано: 14 жовтня, 2011 ИМХО стоит добавить сортировку в выводе функций zb_AddressGetAptAllDataByBuild zb_AddressGetBuildAllDataByStreet Как-то так: $query="SELECT * from `apt` where `buildid`='".$buildid."' ORDER BY `apt`";
nightfly Опубліковано: 14 жовтня, 2011 Автор Опубліковано: 14 жовтня, 2011 Правда ваша, так действительно значительно красивее. Добавил.
DarkSpider Опубліковано: 14 жовтня, 2011 Опубліковано: 14 жовтня, 2011 Среди всего есть (впрочем давно уже писал) несколько .... просьб (-: 1. Поиск пользователя: -Хочеться видеть поиск по адресу: --по улице; -- по улице, дому; 2. Модуль онлайн : -хочеться видеть поле стг - last activity; -и как вариант - последний пинг (арппинг); 3. Результаты поиска: -хочеться видеть поле стг - last activity; -иконку онлайн (через dn).
nightfly Опубліковано: 14 жовтня, 2011 Автор Опубліковано: 14 жовтня, 2011 Начиная с 0.1.7 в профиле пользователя есть LAT. Поиск перелопачивать в ближайшее время здоровья пока что нету. Там проще все сломать и сделать с нуля. Сейчас пилю динамический шейпер.
nightfly Опубліковано: 17 жовтня, 2011 Автор Опубліковано: 17 жовтня, 2011 Все, никто ничего не багрепортит? Можно релизить 0.1.7?
nightfly Опубліковано: 17 жовтня, 2011 Автор Опубліковано: 17 жовтня, 2011 Ну раз никто никаких ужасов кроме уже исправленных и отрепорченых не нашел.... Релиз 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
Maxaon Опубліковано: 17 жовтня, 2011 Опубліковано: 17 жовтня, 2011 (відредаговано) Модуль карт. Если отсортировать таблицу и выбрать какую-либо карту, потом выбрать неактивные и нажать с отмеченными то выводит No cards selected Е еще, в кабинете пользователя. Если меню вылезает на две строки не совсем красиво получается. Відредаговано 17 жовтня, 2011 Maxaon
nightfly Опубліковано: 19 жовтня, 2011 Автор Опубліковано: 19 жовтня, 2011 С сортировкой действительно лажа. Будем дебужить. Для кабинета пользователя буду выбирать, наверное другой умолчательный шаблон. Текущий выглядит.... как блог тринадцатилетней девочки что-ли. Еще раз спасибо за оперативность.
nightfly Опубліковано: 22 жовтня, 2011 Автор Опубліковано: 22 жовтня, 2011 Внезапный багфикс релиз Ubilling 0.1.8 rev 815. - Починена внезапно сломавшаяся в 0.1.7 переключалка режима внесения средств - Исправлен просмотр событий по дате Ссылка для скачивания: http://ubilling.net.ua/ub.tgz Скрипт для автоматического обновления: был где-то выше.
Maxaon Опубліковано: 22 жовтня, 2011 Опубліковано: 22 жовтня, 2011 Файл 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 Остальные функции тоже править надо.
nightfly Опубліковано: 22 жовтня, 2011 Автор Опубліковано: 22 жовтня, 2011 Там еще много чего есть чего может не быть при неполной конвертации. Для исправления таких артефактов и есть модуль проверки целостности. Если натыкать для всех юзеров автоматом пустых мыл/рилнеймов/телефонов не проблема то с данными нужными для multinet возникает совсем другая картина. $query = "INSERT INTO `realname` (`login`, `realname`) VALUES ('$login', '$realname');"; Кстати для таких штук предусмотретн букет функций вида zb_UserCreateRealName($login,$realname) чтобы в случае изменения структуры БД ничего не взорвалось. В целом идея действительно здравая, но подходить к таким штукам надо концептуально.
Keen Опубліковано: 24 жовтня, 2011 Опубліковано: 24 жовтня, 2011 Я предложил бы использование "ON DUPLICATE KEY UPDATE". Заменяет replace полностью, только логины надо бы сделать уникальными в базе.
Keen Опубліковано: 31 жовтня, 2011 Опубліковано: 31 жовтня, 2011 Вроде бага.... Не работает модуль userprofile для пользователей, у которых в логинах встречается дефис "-"
nightfly Опубліковано: 31 жовтня, 2011 Автор Опубліковано: 31 жовтня, 2011 Это не бага - это "фича" которая должна проявляться и в других модулях из за того что $_GET['username'], как правило попадает в vf() который скипает всякие инжектоопасные штучки.
_Taurus_ Опубліковано: 5 листопада, 2011 Опубліковано: 5 листопада, 2011 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", но в остальные таблицы все данные вносятся... также не изменяется у старых юзеров тариф, тоесть при изменении тарифа - тариф остается прежний. не вносятся деньги на счет юзера.... подскажите в чем может заключаться проблема.
nightfly Опубліковано: 5 листопада, 2011 Автор Опубліковано: 5 листопада, 2011 Деньги тоже вестимо не вносяться? Проблема может быть только на уровне взаимодействия конфигураторов и старгейзера - данные в табличках users/tariffs изменяються только посредством конфигураторов указанных в billing.ini. Перезапуск старгейзера ефекта не дает? Виндовым конфигуратором вообще конектиться возможно?
_Taurus_ Опубліковано: 5 листопада, 2011 Опубліковано: 5 листопада, 2011 перезапуск ни чего не дает.... Виндовым конфигуратором конектится и все, что возможно сделать в виндовом конфигураторе работает. деньги возможно внести только виндовим конфигуратором...
nightfly Опубліковано: 5 листопада, 2011 Автор Опубліковано: 5 листопада, 2011 Значит собака порылась в логинах/паролях/путях конфигураторов (искренне надеюсь что вы используете sgconf_xml). Можете попробовать переключиься скажем на sgconf и посмотреть на результат. Если он закончится тоже фейлом - руками пробовать позвать sgconf с параметрами указанными в billing.ini "Просто так" там взорваться нечему.
Рекомендованные сообщения