LINUX.ORG.RU

Вышла новая версия открытого биллинга SUB Billing 0.2


0

0

Вышла новая версия SUB Billing 0.2. Появились новые функции, исправлено много ошибок, в основном в веб-интерфейсе.

Полный список изменений:
- Добавлен подсчет трафика по направлениям, теперь для каждого направления можно назначить цену.
- Добавлена абонентская плата и предоплаченный трафик
- Изменена навигация по статистике, теперь более удобно
- Отображение статистики за указанный период
- Добавлен скрипт для генерации secret-файла, больше не нужно править chap-secrets руками
- Светлый стиль веб-интерфейса (старый остался), можно сменить в config.php
- Косметические изменения в веб-интерфейсе

Скачать: http://sbilling.ru/downloads/subbilli...

>>> Сайт

хм... хреново, что юзер не может сам формировать счет (например, в ПДФ)

alexeywww
()

> навигация по статистика

Эта крута!

Поправьте пожалуйста

shaplov ★★★
()

А почему на сайте скриншоты в IE?

anonymous
()

и опять улог, крон, парсилка на перле, мускуль и пых-пых...

неужели еще кто-то верит в то, что плох админ, не написавший свой "биленг"?

anonymous
()

не зная как внутри, но интерфейс с новой цветовой гаммой стал значительно лучше. за IE -1

anonymous
()
Ответ на: комментарий от anonymous

>Хе ! А на сайте http://sbilling.ru/news/ эта новость датирована 2011 годом !

Машина времени портирована с любимого ресурса.

anonymous
()
Ответ на: комментарий от anonymous

>не верю никакой другой считалке, кроме netflow

netflow - протокол передачи данных о трафике, а данные эти можно брать разными способами, в том числе и ipcad'ом из ULOG'a :)

К слову о трафикосчиталках: в ведре linux со времен 2.6.14 появилась возможность забирать данные о "conntracked"-трафике в виде потоков через netlink, "выгребалка" реализована в ulogd2. Можно прикрутить к ulogd2 фильтры-агрегаторы, или написать на примере ulogd2 свой tazikd, и, скажем, обновлять в базе только состояния счетов (ну и, может быть, суммарного трафика) в относительно "реальном" времени, а детальку сохранять в файлы по типу flow-tools - такая модель трафикосчиталки нужно разрабатывать, а вчерашний день в виде перловых парсеров по крону фтопку...

anonymous
()

https://demo.sbilling.ru/admin/tariffs/addtariff.php

При любой ошибке пишется

"Проверьте корректность данных!"

Ни что за ошибка, ни как ее исправить не пишется. Правильность введенных значений не пишется, вполне можно указать в стоимости тарифа "-1".

https://demo.sbilling.ru/admin/users/adduser.php IP адрес можно указать как 333.444.555.666.

https://demo.sbilling.ru/admin/users/edituser.php?id=7

Тариф выбрать нельзя, потому, что его нет.

https://demo.sbilling.ru/admin/users/

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

https://demo.sbilling.ru/admin/users/ Баланс хранится как число с плавающей точкой, что принципиально неверно.

Несуществующий год. Зато вполне можно указать дату 31 февраля. https://demo.sbilling.ru/stat/stats/hours.php

Короче, все это - не биллинг, а набор безграмотно сделанных ПэХэПэ скриптов.

stellar
()

В SQL запросах:
direction='in' 
direction='out' 
При этом в таблице stats у поля `direction` char(3) нет индексов.

Нет никакой абстракции от типа БД, SQL перемешан с PHP и HTML.

А вот файл inc/auth.php - это вовсе песня.

$users=mysql_query("select login,passwd from users");
while (list($l,$p)=mysql_fetch_array($users))
{
	if (($login==$l) && ($pass==$p))
	{
		$a="ok";
		break;
	}
}

Над этими строчками рыдали всем отделом.

Код на Перле без прагмы use strict;

# Шерстим по массиву с пользователями
for $ip(keys %users){
	if(exists($stats{$ip})) { 
		for $year(keys %{$stats{$ip}}) {
			for $month(keys %{$stats{$ip}{$year}}) {
				for $day(keys %{$stats{$ip}{$year}{$month}}) {
					for $hour(keys %{$stats{$ip}{$year}{$month}{$day}}) {
						for $host(keys %{$stats{$ip}{$year}{$month}{$day}{$hour}}) {
							# считаем вдох/исход трафик для каждого хоста

После прочтения сего творения вспомнились бессмертные строчки.

Вот дом, 
  Который построил Джек.
    А это пшеница,
       Которая в темном чулане хранится
          В доме,
             Который построил Джек.

А это веселая птица-синица, 
    Которая ловко ворует пшеницу,
        Которая в темном чулане хранится 
           В доме, 
               Который построил Джек.


Вот кот,
   Который пугает и ловит синицу,
       Которая ловко ворует пшеницу, 
          Которая в темном чулане хранится 
             В доме,
                   Который построил Джек.



Короче, авторам надо купить книгу по _основам_ PHP и PERL,
прочесть ее и только потом писать свой "биллинг".

То, что есть сейчас - пример того, как НЕ НАДО делать.

stellar
()
Ответ на: комментарий от stellar

Посмотрел на код PHP-морды и вспомнил первый курс(тогда я тож так писал:)).

Если проект будет развитаться(чего желаю авторам), то его будет достаточно сложно поддерживать/переделывать из-за перемешки php, SQL, и html-кода.

Авторам:

- попробуйте посмотреть на smarty(smarty.php.net);
- сделайте абстакцию БД(хотя бы ADODB);
- сделайте "движок", а не набор страниц, чтобы можно было дописывать недостающий функционал другим разработчикам сравнительно просто;

Думаю что это пойдет проекту на пользу и добавит пользователей.

З.Ы. > Короче, авторам надо купить книгу по _основам_ PHP и PERL, прочесть ее и только потом писать свой "биллинг".

Поддерживаю, да не обидятся на меня авторы проекта!

it-partizan
()
Ответ на: комментарий от qwe

>почему не верно

Ошибки округления.

>и как правильно

Целое и остаток от деления.

Всеравно непонял. Остаток от деления в другом поле хранить ?

anonymous
()
Ответ на: комментарий от anonymous

считать надо в копейках и не парится.

anonymous
()
Ответ на: комментарий от anonymous

>Остаток от деления в другом поле хранить?

Да, а потом их складывать.

>считать надо в копейках и не парится.

Именно так. И это тоже.

qwe ★★★
()

"Sub" в названии биллинговой системы наводит на мысль, что это какой-то подпольный биллинг. Что-то вроде двойной бухгалтерии. Я всё правильно понял? :)

mutronix ★★★★
()
Ответ на: комментарий от mutronix

>"Sub" в названии биллинговой системы наводит на мысль, что это какой-то подпольный биллинг.

Ну чего Вы взъелись на разработчиков? Ну, не биллинг это, а набор скриптов, причем плохо написанный. Что и отражено в названии.

http://medarticle40.moslek.ru/articles/39973.htm суб- (лат. предлог и приставка sub)

...... 2) неполнота качества, свойства, выраженного последующей частью слова; соответствует русским словам "немного", "несколько", "не в полной мере"; см. также гип- (2) >Что-то вроде двойной бухгалтерии. Я всё правильно понял? :)

Вам же написали: "немного не биллинг", "несколько не биллинг", "не в полной мере биллинг".

stellar
()
Ответ на: комментарий от stellar

> Короче, авторам надо купить книгу по _основам_ PHP и PERL

Ага, книга уже в пути...

> Посмотрел на код PHP-морды и вспомнил первый курс(тогда я тож так писал:)).

Курс угадал

PycmaM
() автор топика

Единственный нормальный ОпенСорс биллинг, из тех, что я когда-либо видел - это abills.

KADABRA
()
Ответ на: комментарий от PycmaM

>> Посмотрел на код PHP-морды и вспомнил первый курс(тогда я тож так писал:)).

> Курс угадал

В таком случае респект товарищам!

it-partizan
()

Что-то там не увидел кнопки выход, по крайней мере в демо версии. Т.е. админ ушёл окно закрыл, через 5 сек другой кекс сел на его место и сделал что ему надо =)

anonymous
()
Ответ на: комментарий от qwe

>>Остаток от деления в другом поле хранить?
> Да, а потом их складывать.

Вообще, у нормальных людей есть тип данных "число с фиксированной точкой".

>> считать надо в копейках и не парится.
> Именно так. И это тоже.

Бред.

Гондурас мобайл, тариф $0.1538 за минуту, звонок длился 7 секунд.
Стоимость звонка $0.017943.
Как в копейках (или центах) выразить это число?

coxx
()
Ответ на: комментарий от coxx

В копейках - имелось в виду в целых единицах.

>Гондурас мобайл, тариф $0.1538 за минуту,

Так и храните, 1538 единиц за минуту.

> звонок длился 7 секунд. Стоимость звонка $0.017943. >Как в копейках (или центах) выразить это число?

Легко. Тариф за секунду (1538/60) 25 целых единиц с остатком 38 от 60-ти. За семь сукунд 25*7+38*7/60=179 целых единиц с остатком 26 от 60-ти (заметьте что 26/60=0.43333...... бесконечное число троек, которые при округлении пропадут). При следующей тарификации остаки складываются, целочисленно делятся на 60, целые приплюсовываются к общей сумме остаток сохраняется. Точность не теряется.

qwe ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.