$Id: ChangeLog,v 1.432 2004/09/18 19:21:14 alec Exp $

wersja 1.5.0 Marduk (18/09/2004):

  - w lms-makedhcpconf hosty s sortowane (alec)
  - drukowanie zgosze (alec)
  - BTS#0000192: poprawione wywietlanie zego urzdzenia sieciowego podczas
    edycji komputera (lexx)
  - w oknie wyboru adresu IP domyln sieci jest ta, do ktrej naley
    edytowany komputer/adres urzdzenia (alec/lukas)
  - na mapie dodana informacja (w postaci rnych ikon) o aktywnoci
    urzdze sieciowych (alec/lexx)
  - podgld szczegw wiadomoci Helpdesku (alec)
  - podczas odpowiadania na zgoszenie nastpuje zmiana statusu i waciciela
    jeli nie byy wczeniej ustawione (alec)
  - nazwa sieci moe zawiera znak '_' (alec)
  - nazwa grupy moe zawiera znak '.' (alec)
  - dodana obsuga opcji konfig. 'networks' i 'usergroups' w module 'ethers',
    'dns' i 'dhcp' demona (alec)
  - poprawione bdne interpretowanie opcji 'networks' w moduach demona
    gdy nazwa sieci zawieraa kropk (alec)
  - BTS#0000183: dodany indeks na kolumnie userid w tabeli cash, powodujcy
    znaczne przyspieszenie zapyta sql ze zczeniami tabel cash i users (alec)
  - w formularzu nowej operacji napisy okrelajce typ operacji uaktywniaj
    odpowiadajce im radio-buttony (chilek)
  - w formularzu nowej operacji zapamitywany jest na czas sesji typ operacji (chilek)
  - w UI dodana obsuga PIN dla uytkownikw - UWAGA! automatyczny upgrade bazy
    generuje nowe numery PIN dla wszystkich uytkownikw! JELI POSIADASZ 
    JU NUMERY PIN W BAZIE TO ZOSTAN ONE WYGENEROWANE NA NOWO! (lexx)
  - BTS#0000185: poprawione rozliczanie uytkownikw (alec)
  - moliwo wydrukowania umowy z poziomu UI (lexx)
  - w demonie mona zdefiniowa polecenie powoki, ktre bdzie wykonywane 
    przed kadym poczeniem z baz (alec)
  - w skryptach dodano wywietlanie bdw w pliku konfiguracyjnym (alec)
  - w formularzu nowej operacji pokazuje si ilo zaznaczonych uytkownikw (chilek)
  - przyspieszone wywietlanie listy faktur na MySQL'u (alec) 	 
  - polecenie 'make daemon' do kompilacji samego demona, bez moduw (alec) 	 
  - przy starcie almsd w 'background mode' nie nastpuje przeadowanie (alec)
  - dodane klawisze szybkiego dostpu w formularzu wyszukiwania uytkownika (S)
    oraz nowej operacji (W) (chilek)
  - do demona dodana opcja wiersza polece '-i' okrelajca instancje do
    przeadowania, nie ma koniecznoci tworzenia odrbnych plikw konfig.
    dla moduw uruchamianych z crona (alec)
  - na mapie sieci zwikszony grny margines i usunite bdy wyst. przy
    braku podczonych komputerw (lukas)
  - w contrib/sqlpanel wyniki polece sql przepuszczane s przez funkcje
    nl2br() i htmlspecialchars() (alec)
  - na mapie zwikszony do 24 limit urzdze podczonych do jednego urzdzenia
    oraz usunity bd pokrywajcych si linkw (alec)
  - lms-rtparser: przebudowany, przetestowany i dodana dokumentacja (alec)
  - dopracowane wysyanie wiadomoci w Helpdesku (alec)
  - obsuga zacznikw w Helpdesku (alec)

wersja 1.3.6 Osiris (01/09/2004);

  - obcienia s naliczane wedug ich wartoci, rosnco - w wypadku jak kto
    ma odliczenie jakie, zostanie ono naliczone jako pierwsze, przez co nawet
    przez chwil saldo nie zejdzie poniej zera (lukasz)
  - dodana informacja kiedy dany komputer by ostatnio widziany w sieci (lexx)
  - teraz na mapie urzdze sieciowych pokazywana jest lokalizacja urzdzenia
    (lexx)
  - poprawiony bd w zapytaniu przy wyszukiwaniu zgosze po temacie (alec)
  - uprawnienie 'manipulacja finansami' obejmuje take rozliczanie faktur (alec)
  - BTS#0000180: zliczanie wolnych adresw w sieci nie bierze pod uwag 
    zarezerwowanych dla DHCP (lexx)
  - BTS#0000181: okienko wyboru adresu IP nie pozwala wybra adresu 
    zarezerwowanego dla DHCP (lexx)
  - BTS#0000153: kliknicie na urzdzenie/komputer na mapie urzdze powoduje
    przejcie do wybranego urzdzenia/komputera (lexx)
  - poprawiona czytelno napisw na mapie urzdze (lexx)
  - zawieszanie patnoci wybranych zobowiza uytkownika lub wszystkich 
    na dany okres (alec)
  - dodany panel 'Uytkownicy'->'Ostrzeenia' (alec)
  - dodany skrypt lms-fping (alec)
  - BTS#0000052: odczenie uytkownika poprzez cutoff powoduje automatyczne 
    owinetkowanie komputerw uytkownika oraz ustawienie wiadomoci 
    administracyjnej (lexx)
  - poprawiony BTS#0000157: gubienie urzdze i bdne poczenia 
    na mapie (alec)
  - w welcome.html podajemy take ilo komputerw on-line (alec)
  - BTS#0000187: uzup. brakujca definicja $utsfmt w lms-notify (alec)
  - BTS#0000189: poprawiony trigger dns2 w formularzu netadd.html (alec)
  - dodany modu pinger (szybszy odpowiednik lms-fping) do demona (alec)
  - w demonie wszystkie komunikaty informacyjne s w DEBUG1 (alec)
  - usunite bdy przy allow_call_time_pass_reference=Off w php.ini (alec)
  - dodane contrib/squid_warnings (lexx)
  - w dokum. dodany rozdzia 'Dodatki' opisujcy zawarto /contrib (alec)
  
wersja 1.3.5 Ju (30/07/2004):

  - usunity bd w skryptach perlowych, powodujcy bdne dziaanie
    przy pustej zmiennej konfiguracyjnej 'usergroups' (alec)
  - domylnie, w mailingu uywamy imienia i e-maila administratora ktry
    aktualnie si zalogowa jako nadawcy (lukasz)
  - skoczony (?) interfejs www dla systemu RT-Helpdesk (alec)
  - zaktualizowano pliki do zakadania bazy danych (alec)
  - w polu szybkiego wyszukiwania mona podawa numer zgoszenia lub
    nazwisko uytkownika (alec)
  - w lms-mgc poprawiony bd w zapytaniu wybierajcym dane do htb oraz dodane
    zmienne %UPCEIL, %DOWNCEIL, %CLIMIT, %PLIMIT (alec)
  - zmiana typu kolumn statystyk na BIGINT zapobiegajca bdom przy
    kompaktowaniu jeli uytkownicy cigaj ponad 2 GB danych dziennie (alec)
  - BTS#0000168: poprawione dziaanie zmiennej 'use_current_payday', przy 
    okazji wreszcie dziaaj error-triggery dla zobowiza (alec)
  - BTS#0000171: poprawiona obsuga bdu przy braku wolnych portw 
    w urzdzeniu przy pierwszym podczeniu komputera (alec)
  - BTS#0000173: uzupenione sprawdzanie dugoci nazwy komputera, urzdze 
    sieciowych i ich adresw oraz dodany atrybut maxlength w szablonach (alec)
  - dodano moliwo nadpisania pojedyczej reguy w lms-mgc poprzez wpis:
    node(192.168.1.1) = regua (lukasz)
  - dodano pole 'adres do dorcze' dla danych uytkownika, ktry (jeli 
    zdefiniowano) zastpi adres uytkownika na fakturze (alec)
  - w module hostfile demona dodana zmienna '%gw' zamieniana na adres
    bramy (alec)
  - w module 'tc' demona mona okreli polityk generowania klas htb poprzez
    zmienn 'one_class_per_host', rozbite reguy na kilka opcji konfiguracyjnych
    osobno dla markowania i htb w obie strony (alec)
  - w lms-traffic-htbiptlimits dodana obsuga upceil i downceil (alec)
  - uptime'y zgosze, czyli czas od zgoszenia do rozwizania problemu (alec)
  - poprawna odmiana wyrazw dzie, godzina, minuta w uptime'ach (alec)
  - dodany filtr 'minimalny uptime' do wyszukiwania zgosze (alec)

wersja 1.3.4 Terok (06/07/2004):

  - naprawiony combobox ze stawk podatku w 'Rachunku uytkownika' (alec)
  - jeli adna grupa nie istnieje to skrypty bior pod uwag wszystkich
    uytkownikw (chilek)
  - dodane error-triggery w adminpasswd.html (alec)
  - zapamitujemy porzdek sortowania w statystykach (chilek)
  - poprawiony BTS#0000137: dodany komunikat o braku wolnych portw w urzdzeniu
    podczas podczania z nodeinfobox.html (alec)
  - na listach uytkownikw filtr 'wszyscy' wybiera z bazy wszystkich oprcz
    usunitych (nie bierze pod uwag pola status), a nie tylko podczonych 
    jak dotychczas (alec)
  - przy obliczaniu redniego zysku miesicznego taryfy nie uwzgldniamy 
    uytkownikw zainteresowanych i oczekujcych - BTS#0000151 (alec)
  - poprawione opisy instalacji i upgrade'u bazy mysql, z uwagi na brakujce
    uprawnienia do polecenia ALTER, wszyscy planujcy upgrade powinni z konta
    roota wykona w mysqlu nastpujce polecenia: (alec)
	GRANT select,insert,update,delete,create ON lms.* TO lms@localhost 
		IDENTIFIED BY 'haso';
	FLUSH PRIVILEGES;
  - na mapie sieci oprcz nazw hostw pokazujemy ich adresy IP oraz
    (max.4) adresy IP urzdze sieciowych (alec)
  - poprawiony bd na fakturze: BTS#0000154 (alec)
  - w formularzu dodawania faktury mona podawa kwoty z przecinkiem oraz
    usunito wiodce zero dla kwot mniejszych od 10 (alec)
  - rozliczanie uykownikw w rozbiciu na stawki VAT (chilek)
  - moliwo usuwania transakcji w bilansie uytkownikw (chilek)
  - moliwo usuwania transakcji w informacji o uytkowniku (chilek)
  - poprawka w DBDump() usuwajca bd wystpujcy podczas odtwarzania kopii
    bazy danych z wartoci NULL ('zw.') w kolumnach taxvalue (alec)
  - lms-traffic-logiptables nie zapisuje ju danych do logu, ale wstawia
    dane do bazy wprost, nie trzeba uruchamia lms-traffic (alec)
  - do demona dodany modu 'system', dla tych co nie chc uywa sudo dla
    skryptw perlowych, oczywicie nie tylko (alec)
  - poprawka w notify i ggnotify dodajca znak minus przy obcieniu w
    %last_10_in_a_table (alec)
  - poprawka linku do listy zaduonych w welcome.html (alec)
  - dodany contrib/customer_otherip (hunter)
  - rozbudowane faktury o dane do htb: upload ceil, download ceil, 
    connection limit, packet limit (alec)
  - przepisany modu 'tc' demona uwzgldnia zmiany w taryfach (alec)
  - poprawka w funkcji mailing, teraz pole from: powinno by dobre (lexx)
  - podczas usuwania urzdzenia sieciowego usuwane s take jego adresy (alec)
  - poprawione ustawianie sekwencji postgresa podczas odtwarzania kopii
    bazy danych (alec)
  - wznowiono prace na systemem RT (Helpdesk) (alec)

wersja 1.3.3 Sokar (05/05/2004):
  
  - naprawione usuwanie pozycji na fakturze (alec) 
  - w demonie dodana obsuga bazy SQLite (alec)
  - poprawione zapytanie w lms-traffic-htbiptlimits uwzgldniajce prawidowo
    okresowe assignmenty (alec)
  - dodana obsuga datefrom i dateto w module 'tc' demona (alec)
  - dodana obsuga zwolnie z VAT w taryfach i fakturach (chilek)
  - poprawione bdy w wygldzie listy faktur, z ktrymi nie radzia
    sobie Mozilla (alec)
  - dodana obsuga stawek VAT w operacjach finansowych - tablica cash
    pole taxvalue (chilek)
  - w wydrukach bilansw uzwgldniane s stawki VAT (chilek)
  - w contrib/sqlpanel dodano stronicowanie wynikw oraz opcj wydruku (alec)
  - wybr stawki VAT przy nowej operacji w comboboksie (chilek)
  - wydruk raportu cznych przychodw bezrachunkowych (chilek)
  - wydruk raportu wierzytelnoci userw (alec)
  - dodana moliwo opacania faktur - jeszcze nie w peni funkcjonalna (chilek)
  - na fakturze termin patnoci moe wynosi 0 (alec)
  - mona poda dat opacenia faktury (chilek)
  - mona rozliczy wiele faktur (chilek)
  - sprawdzamy czy faktury s rozliczone testujc bilans pozycji faktur (chilek)
  - w formularzach wyszukiwa pokazywane s ikonki ostrzee (chilek)
  - rejestr sprzeday przeniesiony do Taryfy i Finanse -> Wydruki (alec)
  - wybr stawki VAT w nowej pozycji faktury za pomoc comboboxa (chilek)
  - wybr stawki VAT w taryfach za pomoc comboboxa (chilek)
  - dodany formularz zarzdzania wiadomociami administracyjnymi (chilek)
  - grupy uytkownikw (chilek/alec)
  - moliwo wyboru grupy wywietlanej listy uytkownikw (chilek)
  - moliwo ustalania przynalenoci do grup w formularzach informacji o
    uytkowniku i edycji uytkownika (chilek)
  - moliwo ustalania przynalenoci do grup w formularzach informacji o
    komputerze i edycji komputera (chilek)
  - obsuga grup uytkownikw w lms-makedhcpconf, lms-makeoidentconf,
    lms-makemacs, lms-makehosts (chilek)
  - naprawione filtrowanie listy userw wg grupy i sieci (alec) 
  - poprawka w bazie przywracajca moliwo dublowania MAC'w (alec)
  - w Mailingu mona wybra grup uytkownikw (alec)
  - dodane skrypty lms-makewarnings, lms-makemessages (chilek)
  - dane administratorw usunitych nie s usuwane z bazy (alec)
  - wydruki list uytkownikw mona filtrowa wg grupy (alec)
  - do listy uytkownikw dodane filtry 'usunici', 'odczeni'
    i 'zadueni', w zwizku z tym znika menu Uytkownicy->Odczeni
    i Uytkownicy->Zadueni (alec/chilek)
  - w wersji demona dla SQLite dodane funkcje UPPER() i LOWER()
    uwzgldniajce systemowe locales, dla prawidowego kapitalizowania
    polskich znakw diakrytycznych (alec)
  - poprawiony error-trigger w polu status w usereditbox.html (alec)
  - poprawione ignorowanie nalicze o wartoci zerowej (lukasz)
  - poprawiony bd w almsd, powodujcy zwak demona na mysql'u, gdy
    w tabeli timestamps nie ma wpisu '_force' (alec)
  - przebudowany rozdzia 'Interfejs Uytkownika' w dokumentacji (alec)

wersja 1.3.2 Kinsey (03/04/2004):
  
  - przeniesienie warning&messages z contrib do gwnej gazi
    dodanie lms-updatewarnings (maniac/alec/chilek)
  - poprawione bdy w module 'hostfile' demona, dodane zmienne 
    %domain - zamieniana na nazw domeny i %net - na nazw sieci (alec)
  - w zmiennej 'networks' dla moduw hostfile i oident nie podajemy adresw, 
    ale list nazw sieci (alec)
  - multilanguage? jednak nie (lexx)
  - rozpoczto prace nad systemem RT (lukasz)
  - sporo poprawek kosmetycznych kodu (lukasz)
  - nareszcie zrobiona obsuga bdw SQL (lukasz/alec)
  - poprawiony bug wystpujcy na postgresie podczas dodawania usera z pustym
    numerem gadu-gadu (alec)
  - poprawione sortowanie listy komputerw wg nazwy waciciela (alec)
  - dodany interfejs do definiowania filtrw dla wydrukw list komputerw
    i uytkownikw (alec)
  - dodane drukowanie bilansu uytkownika za dany okres (alec)
  - od teraz, uytkownikom mona przypisywa taryfy na dany okres czasu
    (lukasz)
  - pola szybkiego dostpu akceptuj teraz takie rzeczy jak nazwa, id, adres
    ip/mac, adres uytkownika, adres email, telefon (lukasz)
  - mae przyspieszenie funkcji UserStats() (alec)
  - przebudowa struktury bazy danych: dodane wartoci domylne pl, klucze
    unikalne i ograniczenia NOT NULL (lukasz/alec)
  - poprawione obliczanie redniego dochodu miesicznego dla taryf (alec)
  - dodane obliczanie iloci aktywnych przypisa taryfy (alec)
  - poprawione sortowanie list uytkownikw wg salda (alec)
  - poprawione genfake.php: dodane zerowanie auto_increment'w oraz
    poprawki zwizane z ostatnimi zmianami w bazie (alec)
  - dodano sprawdzenie, czy zaznaczono typ operacji podczas dodawania nowej
    operacji - BTS#0000122 (alec)
  - poprawione bdy w moduach hostfile i oident demona powodujce
    niewykonywanie instancji wyst. po tych moduach (alec)
  - na licie uytkownikw w kolumnie Abonament jest rednie obcienie 
    miesiczne uytkownika (alec)
  - list uytkownikw oraz wydruki mona filtrowa wg sieci (alec)
  - w mailingu dodana moliwo wybrania sieci  (alec)
  - dodany wydruk uytkownikw bez przypisanych komputerw (alec)
  - dodane wydruki bilansu finansowego z moliwoci ograniczenia do podanego
    okresu oraz konkretnego administratora (alec)
  - dodany contrib/sqlpanel (alec)
  - BTS#0000131: poprawki w 'Rejestrze sprzeday' (alec)
  - SQLite Support (alec)
  - poprawki w lms-notify zapobiegajce bdom na postgresie (alec)
  - lms-sendinvoices: wysyanie faktur (lukasz)
  - w automatycznych fakturach mona zdefiniowa rodzaj patnoci 
    i termin zapaty: lms-payments i almsd (alec)
  
wersja 1.3.1 Maybourne (04/03/2004):

  - poprawiony bd w GetInvoiceContents() powodujcy bdne wywietlanie
    liczby groszy sownie na fakturze - BTS#0000112 (alec)
  - poprawione obliczanie kwot na fakturach dla kilku jednostek, bd
    powodowa take zapisywanie niepoprawnych danych do tabeli 'cash' 
    podczas dodawania nowej faktury - BTS#0000114 (alec)
  - multilanguage? moe tak (RFD) (lexx)
  - w almsd, do moduu hostfile dodano nowe opcje konfiguracyjne 'networks'
    oraz 'skip_dev_ips' (alec)
  - poprawione bdy w wyraeniu regularnym w adminadd i adminedit (alec)
  - poprawka do upgrade'u: taryfy maj okres miesiczny, a nie tygodniowy,
    poprawki skadni sql w UPGRADE.pgsql oraz komentarze w UPGRADE.mysql (alec) 
  - dodane local_ips i local_dests do lms-traffic-htbiptlimits (lukasz)
  - koniec z wyszukiwaniem koniecznych upgradw bazy danych w ChangeLogu - 
    od teraz LMS sam bdzie poprawia baz danych. Powiedzmy prawie koniec -
    oto ostatnie konieczne do wykonania zmiany w bazie:
    MySQL:
        CREATE TABLE dbinfo (
	    keytype VARCHAR(255) NOT NULL default '',
	    keyvalue VARCHAR(255) NOT NULL default '',
	    PRIMARY KEY  (keytype),
	    UNIQUE KEY keytype (keytype),KEY keytype_2 (keytype)
	) TYPE=MyISAM;
	INSERT INTO dbinfo (keytype, keyvalue) VALUES ('dbversion','2004030400');		  
    PostgreSQL:
	CREATE TABLE dbinfo (
	    keytype VARCHAR(255) DEFAULT '' NOT NULL,
	    keyvalue VARCHAR(255) DEFAULT '' NOT NULL,
	    PRIMARY KEY (keytype)
	);
	INSERT INTO dbinfo (keytype, keyvalue) VALUES ('dbversion','2004030400');		  
  - dodany 'Raport sprzeday' czyli wydruk listy faktur za dany okres (alec)
  
wersja 1.3.0 Apophis (18/02/2004):

  - zmiana wersji biblioteki Smarty z 2.5.0 na 2.6.0 (alec)
  - dodane contrib/warn&msg (Rafa Ramocki/Tomasz Chiliski)
  - jeszcze jedna poprawka w bazie w zwizku z BTS#103 (alec)
    MySQL:
	ALTER TABLE `users` CHANGE `gguin` `gguin` INT(11) DEFAULT '0';
    PostgreSQL:
	UPDATE users SET gguin=0 WHERE gguin IS NULL;
	ALTER TABLE users UPDATE gguin SET DEFAULT 0;
	ALTER TABLE users UPDATE gguin SET NOT NULL;
  - w genfake.php dodane generowanie przyk. opat staych (alec)
  - naliczanie kwartalne taryf i opat staych, przy okazji mae 
    usystematyzowanie w kolumnie period (naliczanie: 0-tygodniowe, 
    1-miesiczne, 2-kwartalne, 3-roczne) (alec)
	UPDATE assignments SET period = 4 WHERE period = 1;
	UPDATE assignments SET period = 1 WHERE period = 0;
	UPDATE assignments SET period = 0 WHERE period = 4;
	UPDATE assignments SET period = 3 WHERE period = 2;
	UPDATE payments SET period = 4 WHERE period = 1;
	UPDATE payments SET period = 1 WHERE period = 0;
	UPDATE payments SET period = 0 WHERE period = 4;
	UPDATE payments SET period = 3 WHERE period = 2;
  - lista sieci domylnie sortowana jest po nazwie (alec)
  - lista urzdze do podczenia jest sortowana po nazwie (alec)
  - naprawiona nawigacja na licie faktur - BTS#0000104 (alec)
  - zmiany w reloadzie demona: z tabeli 'timestamps' odczytywany jest
    czas i porwnywany z czasem z poprzedniego przeadowania, wpis 
    '_force' nie jest usuwany, wic nie ma problemw z uruchamianiem
    kilku demonw rwnoczenie (lexx/alec)
  - aktualizacja ethercodes.txt (alec)
  - BTS#0000109: poprawione bdne dziaanie funkcji loadavg() i hostname()
    na systemach BSD w Sysinfo.class.php (sfor/alec)
  - teraz w MGC moemy zdefiniowa sekcje ktra bdzie wywoywa inne
    podsekcje - dla przykadu - mamy 5 sekcji dotyczcych dns (dns1... dns5) -
    tworzymy dla nich co takiego:

    [mgc:dns]
    instances = dns1 dns2 dns3 dns4 dns5

    i teraz jeeli moemy wywoa:

    lms-mgc -i dns

    zamiast:

    lms-mgc -i "dns1 dns2 dns3 dns4 dns5"

    Jeeli sekcja jaka ma pole 'instances', to tylko to pole zostanie uznane,
    a pozostae ustawienia sekcji zostan zignorowane (lukasz)
  - dodana moliwo ustawienia daty operacji finansowej (alec)
  - poprawione formatowanie maili, wyrzucone zbdne puste linie (lexx)
          
wersja 1.1.8 Cronos (01/02/2004):

  - dodane pole message do tabeli users
  - dodane pole warnigns do tabeli nodes
  - netdevmap korzysta z obrazkw w formacie PNG (brak obsugi GIF na 
    niektrych systemach) (Lexx)
  - poprawione zliczanie rekordw na pustych listach, BTS#90 (alec)
  - dodane sortowanie listy userw wg wysokoci abonamentu (alec)
  - poprawione sortowanie listy komputerw wg waciciela (alec)
  - dodane sortowanie listy urzdze sieciowych wg iloci zajtych portw (alec)
  - dodane 'wywietl ponownie formularz' w nodeadd (alec)
  - poprawione bdne ustawianie statusu podczas dodawania komputera (alec)
  - porzdki w dokumentacji - wyrzucone obrazki oraz usunite commit logi,
    wic niech nie dziwi mniejsza objto tarballa w porwnaniu z
    1.1.7 (alec)
  - dodane sprawdzenie czy wpisano liczb w polu szybkiego wyszukiwania
    komputera i uytkownika, co zapobiega bdowi w zapytaniu do bazy (alec)
  - lms-notify-sms niedugo bdzie mona wysya smsy z upomnieniami o
    zalegociach. Wymagany pakiet gnokii (hunter)
  - dodane uprawnienie 'dostp do korespondencji seryjnej' (alec)
  - urzdzeniom sieciowym mona przypisywa adresy IP oraz MAC (lexx/alec)
  - w genfake.php poprawione czyszczenie bazy oraz dodane generowanie
    danych osprztu i pocze sieciowych (alec)
  - poprawka w GetMACs() zgodnie z BTS#0000092 (alec)    
  - moliwo podania terminu i rodzaju patnoci przy pisaniu faktury z palca
    (lukasz):
    MySQL:
    	ALTER TABLE `invoices` ADD `paytype` VARCHAR(255) DEFAULT '' NOT NULL AFTER `paytime`;
    PostgreSQL:
	ALTER TABLE invoices ADD paytype VARCHAR(255);
	UPDATE invoices SET paytype='';
	ALTER TABLE invoices ALTER COLUMN paytype ADD NOT NULL; 
	ALTER TABLE invoices ALTER COLUMN paytype SET DEFAULT '';
  - 'opaty stae' (alec)
    MySQL:
    CREATE TABLE payments (
	id INT(11) NOT NULL auto_increment,
	name VARCHAR(255) NOT NULL default '',
	value DECIMAL(9,2) NOT NULL default '0',
	creditor VARCHAR(255) NOT NULL default '',
	period INT(11) NOT NULL default '0',
	at INT(11) NOT NULL default '0',
	description text,
	PRIMARY KEY  (id),
	UNIQUE KEY id (id),
	KEY id_2 (id)
    ) TYPE=MyISAM;
    PostgreSQL:
    CREATE SEQUENCE "payments_id_seq";
    CREATE TABLE payments (
	id integer DEFAULT nextval('payments_id_seq'::text) NOT NULL,
	name VARCHAR(255) DEFAULT '' NOT NULL,
	value NUMERIC(9,2) DEFAULT 0 NOT NULL,
	creditor VARCHAR(255) DEFAULT '' NOT NULL,
	period integer DEFAULT 0 NOT NULL,
	at integer DEFAULT 0 NOT NULL,
	description text,
	PRIMARY KEY (id)
    );
  - poprawiona weryfikacja danych w taryfach: warto taryfy moe by ujemna,
    warto podatku nie moe by ujemna (alec)
  - na licie uytkownikw, zamiast arwki pojawia si wykrzyknik, jeli
    uytkownik nie posiada adnych komputerw (alec)
  - naprawione bdne przeliczanie adresw sieci w lms-makeiptables 
    i lms-makeipchains wynikajce ze zmiany formatu pola w bazie (alec)
  - w opcji 'networks' dla skryptw perlowych nazwy sieci mona podawa
    maymi literami - istotne dla bazy PostgreSQL, ktra ma zapytania
    case-sensitive (alec)
  - poprawiony interfejs 'mailingu', dodane sprawdzanie poprawnoci e-maila
    oraz nieuwzgldnianie uytkownikw usunitych (alec)
  - w oknie 'Informacje o LMS' dodana wersja serwera bazy danych (alec)
  - kosmetyka bazy zgodnie z BTS#000103, czyli poprawki zapobiegajce bdom
    podczas odtwarzania kopii bazy na nowszych wersjach postgresa (alec)
    MySQL:
	ALTER TABLE `admins` CHANGE `lastlogindate` `lastlogindate` INT(11) DEFAULT '0';
	ALTER TABLE `admins` CHANGE `failedlogindate` `failedlogindate` INT(11) DEFAULT '0';
    PostgreSQL:
	UPDATE admins SET lastlogindate=0 WHERE lastlogindate IS NULL;
	UPDATE admins SET failedlogindate=0 WHERE failedlogindate IS NULL;	 
	ALTER TABLE admins UPDATE lastlogindate SET DEFAULT 0;
	ALTER TABLE admins UPDATE lastlogindate SET NOT NULL;
	ALTER TABLE admins UPDATE failedlogindate SET DEFAULT 0;
	ALTER TABLE admins UPDATE failedlogindate SET NOT NULL;
	
wersja 1.1.7 Hathor (14/12/2003):

  - adresy sieci w bazie trzymamy teraz jako bigint, do przelicze
    uywamy funkcji INET_NTOA() i INET_ATON(), zwizane z tym
    podniesienie wymaga odnonie wersji bazy danych (Mysql 3.23.xx,
    PostgreSQL 7.3.x) i nastpujce zmiany w bazie (alec):
    MySQL:
	UPDATE networks SET address=INET_ATON(address);
        ALTER TABLE networks CHANGE address address INT(16) UNSIGNED NOT NULL;
    PostgreSQL:
        CREATE OR REPLACE FUNCTION inet_ntoa(bigint) RETURNS text AS '
        SELECT 
    	    ($1/(256*256*256))::text
    	    ||''.''||
	    ($1/(256*256) - $1/(256*256*256)*256)::text
    	    ||''.''||
    	    ($1/256 - $1/(256*256)*256)::text
    	    ||''.''||
    	    ($1 - $1/256*256)::text;
	' LANGUAGE SQL;
	CREATE OR REPLACE FUNCTION inet_aton(text) RETURNS bigint AS '
	SELECT
    	    split_part($1,''.'',1)::int8*(256*256*256)+
    	    split_part($1,''.'',2)::int8*(256*256)+
    	    split_part($1,''.'',3)::int8*256+
    	    split_part($1,''.'',4)::int8;
	' LANGUAGE SQL;
	ALTER TABLE networks ADD ipaddr bigint;
        UPDATE networks SET ipaddr = inet_aton(address); 
        ALTER TABLE networks DROP COLUMN address;
        ALTER TABLE networks RENAME COLUMN ipaddr to address;
        ALTER TABLE networks ALTER COLUMN address set NOT NULL;
  
  - przeliczanie adresw IP int<->char przerzucone z PHP na
    baz danych (alec)
  - poprawione contrib/customer do nowej konstrukcji LMS() oraz 'initLMS.php'
    w contrib - przykadowy plik ktry pokazuje jak si inicjuje klas LMS'a
    eby wszystko adnie chodzio (lukasz)
  - poprawiony byk w lms-payments, polegajcy na zwace przy generowaniu
    faktur jeeli pole pesel'a byo puste (MaReK/lukasz)
  - dodane sortowanie po ownerid na licie komputerw (alec)
  - naprawione kapitalizowanie polskich znakw diakrytycznych w
    useredit - dokadniej, przerzucone z PHP na baz danych (alec)
  - zmiana typu kolumn ptrzechowujcych wartoci pienine (hunter/alec/lukasz)
    MySQL:
	ALTER TABLE cash MODIFY value DECIMAL(9,2);
	ALTER TABLE tariffs MODIFY value DECIMAL(9,2);
	ALTER TABLE invoicecontents MODIFY value DECIMAL(9,2);
	ALTER TABLE invoicecontents MODIFY taxvalue DECIMAL(9,2);
	ALTER TABLE invoicecontents MODIFY count DECIMAL(9,2);
	ALTER TABLE tariffs MODIFY taxvalue DECIMAL(9,2);
    PostgreSQL:    
	ALTER TABLE cash ADD val numeric(9,2);
	UPDATE cash SET val=value;
	ALTER TABLE cash ALTER val SET NOT NULL;
	ALTER TABLE cash ALTER val SET DEFAULT 0;
	ALTER TABLE cash DROP COLUMN value;
	ALTER TABLE cash RENAME val TO value;	
	ALTER TABLE tariffs ADD val numeric(9,2);
	ALTER TABLE tariffs ADD taxv numeric(9,2);
	UPDATE tariffs SET val=value;
	UPDATE tariffs SET taxv=taxvalue;
	ALTER TABLE tariffs ALTER val SET NOT NULL;
	ALTER TABLE tariffs ALTER val SET DEFAULT 0;
	ALTER TABLE tariffs DROP COLUMN value;
	ALTER TABLE tariffs RENAME val TO value;	
	ALTER TABLE tariffs ALTER taxv SET NOT NULL;
	ALTER TABLE tariffs ALTER taxv SET DEFAULT 0;
	ALTER TABLE tariffs DROP COLUMN taxvalue;
	ALTER TABLE tariffs RENAME taxv TO taxvalue;
	ALTER TABLE invoicecontents ADD val numeric(9,2);
	ALTER TABLE invoicecontents ADD taxv numeric(9,2);
	ALTER TABLE invoicecontents ADD cnt numeric(9,2);
	UPDATE invoicecontents SET val=value;
	UPDATE invoicecontents SET taxv=taxvalue;
	UPDATE invoicecontents SET cnt=count;
	ALTER TABLE invoicecontents ALTER val SET NOT NULL;
	ALTER TABLE invoicecontents ALTER val SET DEFAULT 0;
	ALTER TABLE invoicecontents ALTER taxv SET NOT NULL;
	ALTER TABLE invoicecontents ALTER taxv SET DEFAULT 0;
	ALTER TABLE invoicecontents ALTER cnt SET NOT NULL;
	ALTER TABLE invoicecontents ALTER cnt SET DEFAULT 0;
	ALTER TABLE invoicecontents DROP COLUMN value;
	ALTER TABLE invoicecontents RENAME val TO value;
	ALTER TABLE invoicecontents DROP COLUMN taxvalue;
	ALTER TABLE invoicecontents RENAME taxv TO taxvalue;
	ALTER TABLE invoicecontents DROP COLUMN count;
	ALTER TABLE invoicecontents RENAME cnt TO count;	
  - dodana moliwo tworzenia faktur poprzez PHP-UI (lukasz)
  - ujednolicony reload dla almsd i ui, teraz almsd przeadowuje si przy 
    standardowych ustawieniach ui (nie wymagana tabela reload) (Lexx)

wersja 1.1.6 Seth (08/12/2003):

  - literwka: http://bts.rulez.pl/bug_view_page.php?bug_id=0000088
    (chilek/lukasz)
  - poprawiony modu upgrade:
    http://bts.rulez.pl/bug_view_page.php?bug_id=0000085 (chilek/lukasz)
  - poprawione dodawanie taryf (alec)
  - byk w skrypcie lms-makearp
    http://bts.rulez.pl/bug_view_page.php?bug_id=0000086 (chilek/lukasz)
  - opis taryfy moe by NULL (alec)
    MySQL:
    	ALTER TABLE tariffs CHANGE description description text;
    PostgreSQL:
    	ALTER TABLE tariffs ALTER COLUMN description DROP NOT NULL;  

wersja 1.1.5 Amaonet (04/12/2003):

  - dodane opcje do ustawienie waciciela oraz praw dostpu skryptw
    tworzonych przez lms-traffic-* (lukasz)
  - contrib/customer przystosowane do nowego API baz danych
  - dodana moliwo czenia/odczania urzdze sieciowych i komputerw 
    do urzdzenia podczas jego edycji (alec)
  - poprawka w funkcji ScanNodes() zapobiegajca bdom w wypadku braku
    programu nbtscan w systemie (alec)
  - poprawione wyszukiwanie komputerw po adresie IP, moliwe jest wyszukiwanie
    tekstowe po fragmencie adresu (alec)
  - na wykresach statystyk dostpne s dane komputerw usunitych z bazy oraz
    dodano opcja usuwania statystyk tych komputerw podczas kompaktowania 
    bazy (alec)
  - dodana moliwo wymiany urzdze (lexx)
  - poprawione bugi z rozpoznawanie adresw prywatnych w skryptach oraz
    literwka w lms-iptables (lukasz/wojboj)
  - lms-notify przystosowane do nowych finansw (lukasz)
  - w katalogu /daemon pojawia si wersja alfa programu do generowania
    konfigw i przeadowywania usug (alec)
  - w index.php dodano now funkcj do parsowania pliku konfiguracyjnego, 
    w peni kompatybilna z daemonem w c i czciowo z lms-mgc (alec)
  - do lms.pgsql dodane sql'owe funkcje inet_ntoa() i inet_aton() dla
    przyszych zastosowa (alec)
  - poprawione bdne zliczanie userw w panelu powitalnym (alec)
  - poprawione wartoci domylne formularza dodawania userw (alec)
  - usunicie usera na licie nie powoduje ju przejcia do userinfo (alec)
  - w sumie fakturki mona uzna za skoczone - teraz si bardzo adnie
    wystawiaj i loguj i bardzo adnie si drukuj, co oczywicie wymaga
    poprawek w bazie danych (lukasz):
    MySQL:
	ALTER TABLE `tariffs` ADD `taxvalue` INT DEFAULT '0' NOT NULL AFTER `value`;
	ALTER TABLE `tariffs` ADD `sww` VARCHAR(255) DEFAULT '' AFTER `taxvalue`;
	ALTER TABLE `assignments` ADD `invoice` TINYINT( 1 ) DEFAULT '0' NOT NULL;
	ALTER TABLE `cash` ADD `invoiceid` INT DEFAULT '0' NOT NULL ;
    PostgreSQL:
	ALTER TABLE tariffs ADD taxvalue integer;
	ALTER TABLE tariffs ALTER taxvalue SET DEFAULT 0;
	UPDATE tariffs SET taxvalue=0;
	ALTER TABLE tariffs ALTER taxvalue SET NOT NULL;
	ALTER TABLE tariffs ADD sww varchar(255);
	ALTER TABLE tariffs ALTER sww SET DEFAULT NULL;
	ALTER TABLE assignments ADD invoice smallint;
	ALTER TABLE assignments ALTER invoice SET DEFAULT 0;
	UPDATE assignments SET invoice=0;
	ALTER TABLE assignments ALTER invoice SET NOT NULL;
	ALTER TABLE cash ADD invoiceid;
	ALTER TABLE cash ALTER invoiceid SET DEFAULT 0;
	UPDATE cash SET invoiceid=0;
	ALTER TABLE cash ALTER invoiceid SET NOT NULL;
    MySQL:
	CREATE TABLE invoices (
    	    id INT NOT NULL AUTO_INCREMENT ,
    	    number INT NOT NULL ,
    	    cdate INT NOT NULL ,
    	    paytime TINYINT( 8 ) NOT NULL ,
    	    customerid INT NOT NULL ,
    	    name VARCHAR( 255 ) NOT NULL ,
    	    address VARCHAR( 255 ) NOT NULL ,
    	    nip VARCHAR( 16 )DEFAULT '' ,
    	    zip VARCHAR( 6 ) NOT NULL ,
    	    city VARCHAR( 32 ) NOT NULL ,
    	    phone VARCHAR( 255 ) NOT NULL ,
    	    finished TINYINT( 1 ) NOT NULL DEFAULT '0',
    	    PRIMARY KEY (id),
    	    UNIQUE KEY id (id),
    	    KEY id_2 (id)
	) TYPE=MyISAM;
	CREATE TABLE invoicecontents (
    	    invoiceid INT NOT NULL ,
    	    value DOUBLE NOT NULL ,
    	    taxvalue INT NOT NULL ,
	    sww VARCHAR( 255 ) DEFAULT '',
    	    content VARCHAR( 16 ) NOT NULL ,
    	    count INT NOT NULL ,
	    description VARCHAR( 255 ) NOT NULL ,
	    tariffid INT NOT NULL
	);
    PostgreSQL:
	CREATE SEQUENCE "invoices_id_seq";
	CREATE TABLE invoices (
	    id integer DEFAULT nextval('invoices_id_seq'::text) NOT NULL,
    	    number integer NOT NULL,
    	    cdate integer NOT NULL,
    	    paytime smallint NOT NULL,
    	    customerid integer NOT NULL,
    	    name varchar(255) NOT NULL,
    	    address varchar(255) NOT NULL,
    	    nip varchar(16) DEFAULT NULL,
    	    zip varchar(6) NOT NULL,
    	    city varchar(32) NOT NULL,
    	    phone varchar(255) NOT NULL,
    	    finished smallint DEFAULT 0 NOT NULL,
	    PRIMARY KEY (id)
	);
	CREATE TABLE invoicecontents (
	    invoiceid integer NOT NULL,
	    value float4 NOT NULL,
	    taxvalue integer NOT NULL,
	    sww varchar(255) DEFAULT NULL,
	    content varchar(16) NOT NULL,
	    count integer NOT NULL,
	    description varchar(255) NOT NULL,
	    tariffid integer NOT NULL
	);	 
    
    BTW. to jeszcze nie koniec, pozostaje mi dopisanie moliwoci rcznego
    wypisania faktury za pojedycz usug/zdarzenie. Za kilka godzin powinno
    by i to dostpne. Faktury s wystawiane przez lms-payments, o ile podczas
    dodawania 'assignmentu' do usera zaznaczyo si pole 'faktura'. Docelowo
    bdzie mona tworzy pojedycze faktury, ale to najwczeniej jutro.
  - z racji zmienionego kawaek czasu temu systemu finansw lms-mgc nie ma ju
    %TID i %TVAL (lukasz)
  - dodany PESEL do rekordu uytkownika, upgrade bazy (lukasz):
    MySQL:
	ALTER TABLE `users` ADD `pesel` VARCHAR(11) DEFAULT '' AFTER `nip`;
	ALTER TABLE `invoices` ADD `pesel` VARCHAR(11) DEFAULT '' AFTER `nip`;
    PostgreSQL:
	ALTER TABLE users ADD pesel varchar(11);
	ALTER TABLE users ALTER pesel SET DEFAULT NULL;
	ALTER TABLE invoices ADD pesel varchar(11);
	ALTER TABLE invoices ALTER pesel SET DEFAULT NULL;

    Jeeli uytkownik nie posiada NIPu, to wtedy na fakturze umieszczany jest
    PESEL.
  - do faktur zostao dodane miejsce wystawienia (lukasz);
  - zamiana nazewctwa w tabelach z 'sww' na 'pkwiu' (lukasz);
    MySQL:
	ALTER TABLE `tariffs` CHANGE `sww` `pkwiu` VARCHAR( 255 );
	ALTER TABLE `invoicecontents` CHANGE `sww` `pkwiu` VARCHAR( 255 );
    PostgreSQL:
	ALTER TABLE tariffs RENAME sww TO pkwiu;
	ALTER TABLE invoicecontents RENAME sww TO pkwiu;  

wersja 1.1.4 Tanith (03/10/2003):
  
  - lista taryf zliczaa take uytkownikw usunitych (lukasz)
  - do listy sieci dodane nowe pole: interfejs - bardzo przydatne przy
    budowaniu skryptw iptables/ipchains/htb gdy mamy sieci adresowe na
    rnych interfejsach, dostpne w lms-mgc jako %IFACE, %DIFACE i %NIFACE,
    co jak zwykle niesie upgrade formatu bazy (lukasz):
    MySQL:
        ALTER TABLE networks ADD interface VARCHAR(8) AFTER mask;
    PostgreSQL:
    	ALTER TABLE networks ADD interface VARCHAR(8);
  - usunita maa literwka powodujca to i driver od MySQL'a nie dostawa
    informacji o hocie do bazy danych z lms.ini, a co za tym idzie zawsze
    prbowa si czy z localhost'em (lukasz)    
  - reload.php uzywa sqlTSfmt() ktry jest obsolete (lexx/lukasz)
  - nowo dodawany komputer domylnie nie mia dostpu (lukasz)
  - ilo sieci w podsumowaniu bya zwikszana o 2 (lukasz)
  - kosmetyka kodu (s/this->ADB->/this->DB->/g i nie tylko) (lukasz)
  - dodany (przeniesiony z contrib) modu traffic-stats i bin/lms-traffic, 
    do korzystania z nich wymagane jest utworzenie tabeli 'stats' w bazie 
    danych (alec)
    MySQL:
	DROP TABLE IF EXISTS stats;
	CREATE TABLE stats (
	    nodeid int(11) NOT NULL DEFAULT '0',
	    dt int(11) NOT NULL DEFAULT '0',
	    upload int(11) DEFAULT '0',
	    download int(11) DEFAULT '0',
	    PRIMARY KEY (nodeid, dt)
	) TYPE=MyISAM;
    PostgreSQL:
	DROP TABLE stats;
	CREATE TABLE stats (
	    nodeid integer DEFAULT 0 NOT NULL,
	    dt integer DEFAULT 0 NOT NULL,
	    upload integer DEFAULT 0,
	    download integer DEFAULT 0,
	    PRIMARY KEY (nodeid, dt)
	);    
  - nowa dokumentacja (sgml/html/txt) (alec)
  - poprawiony bug pozwalajcy na zapisanie mac adresu ze znakiem '-' podczas
    edycji danych komputera - teraz podobnie jak podczas dodawania - zamienia
    wszystkie '-' na ':' (lukasz)
  - maa zmiana filozofii tablicy tariffs - 'NULL' to nie ustawiony limit, '0'
    to brak limitu - dlaczego? dowiecie si lada dzie ;-) (lukasz):
    MySQL:
	ALTER TABLE tariffs CHANGE uprate uprate INT(11), CHANGE downrate downrate INT(11); 
    PostgreSQL:
	ALTER TABLE tariffs ALTER uprate DROP NOT NULL;
	ALTER TABLE tariffs ALTER uprate DROP DEFAULT;
	ALTER TABLE tariffs ALTER downrate DROP NOT NULL;
	ALTER TABLE tariffs ALTER downrate DROP DEFAULT;
  - 'maa' rewolucja w finansach, a co za tym idzie 'duy' upgrade bazy, ale
    mam nadziej e sobie poradzicie (lukasz):
    
    0) Wykonaj BEZWZGLDNIE backup bazy danych.
    
    1) Stwrz tabel 'assignments':
    MySQL:
    DROP TABLE IF EXISTS assignments;
    CREATE TABLE assignments (
    	id int(11) NOT NULL auto_increment,
	tariffid int(11) NOT NULL default '0',
	userid int(11) NOT NULL default '0',
	period int(11) NOT NULL default '0',
	at int(11) NOT NULL default '0',
	PRIMARY KEY  (id),
	UNIQUE KEY id (id),
	KEY id_2 (id)
    ) TYPE=MyISAM;
    
    PostgreSQL:
    DROP SEQUENCE "assignments_id_seq";
    CREATE SEQUENCE "assignments_id_seq";
    DROP TABLE assignments;
    CREATE TABLE assignments (
    	id integer default nextval('assignments_id_seq'::text) NOT NULL,
	tariffid integer default 0 NOT NULL,
	userid integer default 0 NOT NULL,
	period integer default 0 NOT NULL,
	at integer default 0 NOT NULL,
	PRIMARY KEY (id)
    );
    2) Uruchom modu 'upgrade01' - czyli po zalogowaniu sie do LMS'a
    wpiszcie w url na kocu '?m=upgrade01', np.
    'http://serwer.pl/lms/?m=upgrade01'. UWAGA! Modu ten naley uruchomi
    TYLKO RAZ! Jak go uruchomisz wicej ni raz, popsujesz sobie ca baz
    danych.

    3) Teraz mona usun nieuywane pola z bazy danych:
    MySQL:
	ALTER TABLE users DROP tariff, DROP payday;
    PostgreSQL:
	ALTER TABLE users DROP tariff; ALTER TABLE users DROP payday;	

    4) Dopiszcie do crona lms-payments tak aby by uruchamiany codziennie o
       godzinie 0:00.

    5) Voila.

  - nowy skrypt w bin: lms-traffic-logiptables, loguje transfery do loga
    akceptowalnego przez lms-traffic alec'a, wicej info w sample/lms.ini
    (lukasz)
  - optymalizacja kodu w wielu miejscach (lukasz)
  - ewidencja sprztu sieciowego, narazie brzydka i gupia ale dziaa,
    oczywicie potrzebna nowa tabela (lexx)
    MySQL:
    DROP TABLE IF EXISTS netdevices;
    CREATE TABLE netdevices (
        id int(11) NOT NULL auto_increment,
        name varchar(32) default NULL,
        description varchar(255) default NULL,
        producer varchar(64) default NULL,
        model varchar(32) default NULL,
        serialnumber varchar(32) default NULL,
        ports int(10) default NULL,
        PRIMARY KEY  (id),
        KEY name (name)
    ) TYPE=MyISAM;

    PostgreSQL:
    DROP SEQUENCE "netdevices_id_seq";
    CREATE SEQUENCE "netdevices_id_seq";
    DROP TABLE netdevices;
    CREATE TABLE netdevices (
        id integer default nextval('netdevices_id_seq'::text) NOT NULL,
        name varchar(32) default NULL,
        description varchar(255) default NULL,
        producer varchar(64) default NULL,
        model varchar(32) default NULL,
        serialnumber varchar(32) default NULL,
        ports integer default NULL,
        PRIMARY KEY (id)
    );
  - Ewidencja urzdze sieciowych - dodano pole lokalizacja, oczywicie
    upgrade bazy (Lexx)
    MySql:
	ALTER TABLE `netdevices` ADD `location` VARCHAR( 255 ) AFTER `name` ;
    PosgreSQL:
	ALTER TABLE netdevices ADD COLUMN location varchar(255);
  - do moduu 'Statystyki' dodano moliwo kompaktowania bazy danych (alec)
  - poprawiony http://bts.rulez.pl/bug_view_page.php?bug_id=0000072 (lukasz)
  - od teraz wpisy w tablicy arp '00:00:00:00:00:00' nie s ignorowane, za to
    wpisy statyczne (0x6/PERM) s (lukasz)
  - dalej netdev, tym razem psujemy poczenia (Lexx)
    MySql:
	CREATE TABLE netlinks (
	  id int(11) NOT NULL auto_increment,
	  src int(11) NOT NULL default '0',
	  dst int(11) NOT NULL default '0',
	  PRIMARY KEY  (id)
	) TYPE=MyISAM;
    PosgreSQL"
	CREATE SEQUENCE "netlinks_id_seq";
	CREATE TABLE netlinks (
	  id integer default nextval('netlinks_id_seq'::text) NOT NULL,
	  src integer default 0 NOT NULL,
	  dst integer default 0 NOT NULL,
	  PRIMARY KEY  (id)
	);
  - komputery mog si lczy do urzdze sieciowych (Lexx)
    MySql:
	ALTER TABLE `nodes` ADD `netdev` INT(11) NOT NULL default '0' AFTER `modid` ;
    PosgreSQL:
	ALTER TABLE nodes ADD netdev integer;
	ALTER TABLE nodes ALTER COLUMN netdev SET default 0;
	UPDATE nodes SET netdev = 0;
	ALTER TABLE nodes ALTER COLUMN netdev SET NOT NULL;  	
  - update moduu 'nodesearch' wynikajcy ze zmiany sposobu zapisu
    adresw IP w bazie danych i inne drobne poprawki (alec)
  - poprawione bdy w GetTariff() wystpujce na postgresie (alec)
  - bdy teraz pokazuj si jako popupy (lukasz)
  - nowy skrypt - bin/lms-traffic-htbiptlimits - do limitowania pasma (lukasz)
  - nowe pliki doc/UPGRADE.mysql, doc/UPGRADE.pgsql do upgrade'u bazy z wersji
    1.0 do 1.1 (alec)
  - lms-payments nie zapisuje nic do tabeli cash jeeli warto obcienia
    jest zerowa (lukasz)
  - zmiany w dokumentacji (lukasz):
    - wyrzucenie INSTALL.*
    - zrobienie README i README.html - podrcznika uyszkodnika
    - posprztanie i inne
  - poprawiona (mam nadziej) obsuga bdw - teraz to s tooltipy (lukasz)
	
wersja 1.1.3 (29/08/2003):

  - zmieniona filozofia uytkownikw - teraz usunicie uytkownika tak
    naprawd go nie usuwa, a jedynie ukrywa - tj. mona dobra si do
    uytkownika po jego ID, mona go wyszuka, ale nie mona mu doda
    komputerw i nie wida go na licie uytkownikw, natomiast w informacji o
    nim jest informacja o tym e uytkownik jest usunity, co oczywicie
    wymaga modyfikacji bazy danych: (lukasz)
    MySQL:
	ALTER TABLE users ADD deleted BOOL DEFAULT '0' NOT NULL;
    PostgreSQL:
	ALTER TABLE users ADD deleted int2;
	UPDATE users SET deleted=0;
	ALTER TABLE users ALTER COLUMN deleted SET DEFAULT 0;
	ALTER TABLE users ALTER COLUMN deleted SET NOT NULL;
    (dla tych co zdyli zrobi to na ENUM
    MySQL:
 	ALTER TABLE users CHANGE deleted deleted CHAR(1) DEFAULT 'N' NOT NULL;
	UPDATE users SET deleted=1 WHERE deleted='Y';
	UPDATE users SET deleted=0 WHERE deleted='N';
	ALTER TABLE users CHANGE deleted deleted BOOL DEFAULT '0' NOT NULL;
    PostgreSQL: metoda taka sama jak z polem access w tabeli nodes, patrz niej;
    )
  - zmienione 'opata ab' na bardziej intuicyjne 'obcienie' (lukasz)
  - zmiana formatu zapisu adresu IP w bazie danych, wymagane upgrejdy bazy
    (lukasz):
    MySQL:
        UPDATE nodes SET ipaddr=INET_ATON(ipaddr);
	ALTER TABLE nodes CHANGE ipaddr ipaddr INT(16) UNSIGNED NOT NULL;
    PostgreSQL:
	UPDATE nodes SET ipaddr=(split_part(ipaddr,'.',1)::int4*(256^3)+
				split_part(ipaddr,'.',2)::int4*(256^2)+
				split_part(ipaddr,'.',3)::int4*256+
				split_part(ipaddr,'.',4)::int4);
	ALTER TABLE nodes ADD ipaddr2 BIGINT;
	UPDATE nodes SET ipaddr2 = ipaddr::text::int8; 
	ALTER TABLE nodes DROP COLUMN ipaddr;
	ALTER TABLE nodes RENAME COLUMN ipaddr2 to ipaddr;
	ALTER TABLE nodes ALTER COLUMN ipaddr set NOT NULL;

  - zmiana formatu zapisu czy komputer ma dostp czy te nie - teraz nie ma
    jakiego gupiego chara ale jest boolean (znaczy si stary MySQL udaje e
    to boolean i daje tinyint), a co za tym idzie kolejny upgrade (lukasz):
	UPDATE nodes SET access='1' WHERE access='Y';
	UPDATE nodes SET access='0' WHERE access='N';
	ALTER TABLE nodes CHANGE access access BOOL NOT NULL DEFAULT '1';
    a w PostgreSQL pola s typu int2 :
	UPDATE nodes SET access= CASE access WHEN 'Y' THEN '1' ELSE '0' END;
	ALTER TABLE nodes ADD access2 int2; 
	UPDATE nodes SET access2 = access::text::int2; 
	ALTER TABLE nodes DROP COLUMN access;
	ALTER TABLE nodes RENAME COLUMN access2 TO access;
	ALTER TABLE nodes ALTER COLUMN access SET NOT NULL;
	ALTER TABLE nodes ALTER COLUMN access SET DEFAULT 0;
    dodatkowe operacje poprawiajce baz (zalecane):
    MySQL:
	ALTER TABLE nodes CHANGE ownerid ownerid INT(11) DEFAULT '0' NOT NULL;
	ALTER TABLE nodes CHANGE mac mac VARCHAR(20) NOT NULL;
    PostgreSQL:
	ALTER TABLE nodes ALTER COLUMN ownerid SET DEFAULT '0'; 
	ALTER TABLE nodes ALTER COLUMN mac SET NOT NULL;
	
  - zoptymalizowany kod do wywietlania duych sieci (lukasz)
  - podawanie dnia naliczania opaty podczas dodawania usera nic dawao
    (lukasz)
  - wczone z powrotem transakcje przy adowaniu backupu bazy danych
    (lukasz)
  
wersja 1.1.2 (24/08/2003):

  - moliwo wystawiania faktur (Lexx)
  - Dodatkowa opcja %date_month_name w szablonach mailingu, rozwizywana do
    nazwy aktualnego miesica (w/g LC_NUMERIC? hunter)
  - pewne zmiany w dokumentacji dot. postgresa, aktualizacja lms.pgsql (alec)
  - zrobione po ludzku wykrywanie pustej tabeli admins - w tym momencie LMS
    przy pustej tablicy bdzie dozwala dostp do moduu adminadd (lukasz)
  - lms-mgc nie uwzgldnia adresu sieci i broadcasta przy generowaniu regu
    (lukasz)
  - podczas wyboru MAC'a ignorowane s wpisy '00:00:00:00:00:00' i
    'FF:FF:FF:FF:FF:FF' (lukasz)
  - nowa zabawka w contrib/ - bandlogger+htblimiter - w oparciu o HTB oraz
    iptables (lukasz)
  - i stalo si - LMS nie wymaga ju ADOdb - ma wasne biblioteki do obsugi
    mysql'a i postgresa (lukasz)
  - zamienione wszystkie '<?' (krtkie tagi PHP) na '<?php' - w sumie tak
    powinno by od pocztku, ale kto by na to wpad, co nie? (lukasz)

wersja 1.1.1 (09/08/2003):

  - moliwo wydruku osb ktre s zaduone (MichalZ)
  - dodane %TID (id taryfy) i %TVAL (warto taryfy) do lms-mgc (lukasz)
  - poprawione problemy ze zmian kolejnoci sortowania na licie osb
    odczonych bd zaduonych (lukasz)
  - naprawiony bug z oper (zamiana exit(0) na die) (lukasz)
  - wprowadzono moliwo ustawienia dnia zapaty, konieczne zmiany w SQL to:
    MySQL: ALTER TABLE `users` ADD `payday` INT DEFAULT '5' NOT NULL;
    PostgreSQL: ALTER TABLE users ADD payday integer;
		ALTER TABLE users ALTER COLUMN payday SET DEFAULT 0;
		ALTER TABLE users ALTER COLUMN payday SET NOT NULL;
    gdzie zamiast '5', moemy poda domylny dzie zapaty, tj. jeeli teraz
    opaty w Twojej sieci s naliczane kadego pitego dnia miesica, to
    wtedy spowoduje to przypisanie kademu uytkownikowi takiego dnia
    patnoci (lukasz)
  - w zwizku z powysz innowacj, nie istnieje lms-eachmonth, a
    lms-payments, ktry powinien by odpalany z crona codziennie! (lukasz)
  - cleanup kodu (wywalenie gwnie mieci i troch poprawnego kodowania...)
    (lukasz)

wersja 1.1.0 (23/06/2003):

  - support do drugiego serwera dns (w lms-mgc jako %DNS2)
    wymagany upgrade:
    MySQL: ALTER TABLE `networks` ADD `dns2` VARCHAR( 16 ) AFTER `dns`
    PostgreSQL: ALTER TABLE networks ADD dns2 VARCHAR(16);
  - jeeli w tym samym katalogu co index.php znajduje si plik, LMS wykorzysta
    go zamiast /etc/lms/lms.ini
  - mona ustawi domylne wartoci dla adresu, miasta i kodu pocztowego
    nowego uytkownika;
  - w zwizku z cigymi sprzeczkami nt. wprowadzenia nazwy klienta zmieniem
    teksty (dla przykadu) 'Nazwisko i imi' na 'Nazwisko/nazwa i imi'. Brzmi
    durnie ale kompromis niezy (lukasz)
  - dodany ChangeLog.en (warden)
  - usunita nieuywana tabela 'options' i wygenerowany od nowa lms.mysql
    (lukasz)
			
wersja 1.0.0 (18/05/2003):

  - poprawione ikonki (wiem, s obrzydliwe, ale nikt nie zrobi adniejszych)
  - dosy rozbudowana dokumentacja (niestety nadal uboga, ale lepszy rydz ni
    grzybki atomowe)
  - uff...

wersja 1.0.0rc1 (17/05/2003):

  - przymiarki do dokumentacji (Lexx)
  - porzdki w LMS.class.php (lukasz)
  - contrib/customers - prosta strona dla ciekawych uytkownikw - w zwizku z
    czym znikn obskurny button ze strony logowania z napisem 'Stan konta'
    (lukasz)
  - zrobione wstpnie rne poziomy dostpu (lukasz)
  - poprawione lms-notify (lukasz)
  - dodane 'uyteczne linki' do strony powitalnej (lukasz)
  - poprawione wydruki: listing wedug aktualnego sortowania oraz filtra (warden)
  - dodane 'skanuj' przy dodawaniu komputera - wyszukuje hosty przy uyciu
    programu nbtscan (kennyGRV/lukasz)
  - dodana informacja o producencie karty sieciowej w nodeinfobox (lukasz)
  - poprawione byki z wywietlaniem ostatnich 10 operacji finansowych
    uytkownika (lukasz)
  - wymieniona cz ikon (lukasz)
  - poprawki powrotnych redirectw (lukasz)
  - zabezpieczenie przed porbanymi przegldarkami ktre majstruj z refererem
    podczas wylogowywania si (lukasz)
  - dodane info o hocie na grze obok logo (warden & lukasz)
  - powrciy lms-scripts do katalogu bin/ (lexx & lukasz)
  - na stronie tytuowej zamiast ID zalogowanego admina jest teraz wersja PHP
  - finalnie poprawione lms-notify
  - poprawiony template maila (byko/lukasz)
  - poprawione sprawdzanie adresu email (repcio/lukasz)
  - sporo porzdkw
  
wersja 1.0pre10 (15/04/2003):

  - poprawki zgodnoci ze Smarty-2.5.0 (niestety, automatycznie 2.5.0 jest
    wymagane przez LMS'a)
  - usunite zbdne title w licie userw
  - poprawione wywietlanie nazwiska usera w popupie od usuwania usera
  - na stronie powitalnej troch statystyk
  - usunity dosy powany bd w lib/Session.class.php
  - jak zwykle kosmetyka (literwki i tym podobne)
  - logosy by Pierzak

wersja 1.0pre9 'CVS-Has-Been-Crashed-Edition' (13/04/2003):
  
  - wymaga Smarty-2.4.2
  - tooltips
  - force ssl
  - przy dodawaniu usera domylna taryfa to nie ta najdrosza, a ta
    najczciej uywana
  - nazwa sieci moe ju zawiera kropk
  - nazwa komputera moe zawiera _ (podkrelenie)
  - sporo kosmetyki (popupy i opisy pl formularzy)
  - logosy by Pierzak

wersja 1.0pre8 (30/03/2003):

  - poprawiony bug z edycj uytkownika i traceniem zawartoci pola z
    komentarzem
  - przeniesiony formularz dodawania sieci do oddzielnej strony
  - poprawione kilka innych bugw	

wersja 1.0pre7 (24/03/2003):

  - poprawiony powany bug w lms-mgc powodujcy traktowanie jako
    prywatnej sieci tylko 192.168.1.0/24 a nie 192.168.0.0/16
  - zrobiona lista uytkownikw odczonych i zaduonych
  - poprawione dodawanie userw (nie dodawali si lub imi nie zostawao
    zapisywane (BTS: 0000019)
  - w przypadku odrzucenia danych do dodania uytkownika gubio si miasto w
    fromularzu
  - poprawione templejty tak by LMS by zgodny ze Smarty'm 2.4.2

wersja 1.0pre6 (17/03/2003):

  - moliwo edycji imienia i nazwiska uytkownika
  - sporo kosmetyki, poprawek w sortowaniu i nie tylko
  - SetBalanceZERO w LMS.class.php zeruje saldo
  - %abonament zmienia si w kwot abo zapisan w tariffs.value
  - usunite polskie locales, sprawiao to wicej problemw
    ni poytku
  - may update dokumentacji
  - dodany katalog contrib z rnymi dodatkami do LMS
  - dodano lms.spec do contrib/ zgodnego ze specyfikacj PLD
  - atka usprawniajca odpalenie LMS w PLD
  - support do pustych hase
  - zrobiony usersearch, nodesearch i par innych rzeczy ;)
  - sprawdzenie stanu konta przez usera
  - czciowo wydruki
  - dodane adne cacune i sodkie README
  - poprawiony pagelimiter w licie uytkownikw
  - opcja wczajca sharing mac-addr
  - automagiczna instalacja domylnego admina z poziomu pliku lms.mysql
  - pole "Imi" moe by puste

wersja 1.0pre5 (26/01/2003):
 
  - PLIKI KONFIGURACYJNE PRZENIESIONE DO KATALOGU /etc/lms/ !!!
  - podzia listy uytkownikw na strony
  - poprawiony bug przy dodawaniu nowego usera
  - Pamitanie ostatniej wybranej podsieci i ostatniego wpisanego 
    komentarza do wpat
  - przykadowe configi przeniesione do sample
  - utworzony katalog ze skryptami perlowymi - bin - znadjduj si
    tam niektre skrypty z moduu lms-scripts
  - oddzielny formularz do dodawania nowych operacji finansowych
  - informacje o taryfie i moliwo jej edycji wreszcie.
  - poprawione parsowanie wprowadzanych danych w niektrych miejscach
    poprzez uycie regexpw (dziki mteg za podsunicie pomysu)
  - dodano nowe pola w tablicy z uytkownikami, aby je wykorzysta i
    bezproblemowo mc ich uywa naley wykona nastpujce komendy z
    poziomu klienta mysql:

    ALTER TABLE `users` ADD `gguin` INT AFTER `phone3`;
    ALTER TABLE `users` ADD `zip` VARCHAR(6) AFTER `address` ,
    ADD `city` VARCHAR(32) AFTER `zip`, ADD `nip` varchar(16) AFTER `city`;
  - dodano opcj do lms-notify:
      -D, --template-file=/etc/lms/another.template.txt
    uruchamia ona alternatywny plik template, przydatne przy wysyaniu
    upomnienia, etc.
  - Teraz %b we wzorcu wiadomoci rozwija si do - (saldo) (czyli jest to
    kwota do zapaty, ksigowi nie znaj liczb ujemnych :)
    %date-y %date-m %desc rozwijaj si odpowiednio do: aktualnego roku,
    nazwy miesica (set LANG=pl ?) i opisu pakietu z tariffs.
    %last_10_in_a_table zmienia si w maksymalnie 10 ostatnich operacji na
    koncie.
	  
wersja 1.0pre4 (21/01/2003):

  - pene przeportowanie obsugi SQL'a na ADODB
  - support do MySQL i PostgreSQL
  - pola uprate i downrate w taryfach. upgrade:
  
    ALTER TABLE tariffs ADD uprate INT DEFAULT '0' NOT NULL AFTER
    value , ADD downrate INT DEFAULT '0' NOT NULL AFTER uprate;

  - poprawka kolumny table na tablename w timestamps. upgrade:

    ALTER TABLE `timestamps` CHANGE `table` `tablename` VARCHAR( 255 ) 
    NOT NULL

  - lista uytkownikw: dodana kwota abonamentu miesicznego poniej
    aktualnego salda uytkownika (Goblin)
  - lista uytkownikw: uytkownik ktrego komputery s odczone
    jest pokazywany na szaro
  - wyszukiwanie uytkownikw;
  - oddzielny formularz dodawania uytkownikw;
  - wyszukiwanie uytkownikw;
  - moliwo zdefiniowania sposobu reloadu (albo via sql, albo exec
    jakiej komendy);
  - poprawki w dodawaniu taryf;
  
wersja 1.0pre3 (27/12/2002):

  - poprawione pobieranie hostname i uptime (Marcoos)
  - zmiana typu kolumny value w tabeli cash z float na double
  - zmiana typu kolumny value w tabeli tariffs z float na double
  - dodane blokowanie dostpu do aplikacji poza okrelonymi hostami
    lub klasami adresowymi
  - poprawka parsowania cieek do katalogw z configa

wersja 1.0pre2 (25/12/2002):

  - parsowanie configa nie zapisuje odrazu zmiennych odczytanych
    z ini jako globalnych, a do tablicy $_CONFIG (nie mona napisa 
    niczego poprzez plik ini)
  - dodane sprawdzanie czy istniej katalogi backups i templates_c 
    oraz czy mona do nich zapisywa
  - naprawiony modu od dodawania taryf
  - posprztane w niektrych plikach
  - poprawiony plik doc/lms.mysql i doc/INSTALL

wersja 1.0pre1 (24/12/2002):

  - przepisane obiektowo
  - napisane z wykorzystaniem engine'u template'owego Smarty
  - dodana opcja mailingu
  - bardzo fajne sortowanie (tm) :-)
  - wprowadzone cacheowanie wynikw (nawala, ale co tam dziaa)

wersja 0.4:

  - napisana od nowa, cakowicie z wykorzystaniem sesji, oraz
    paru uatwie jeeli chodzi o SQL'a
  - dodana moliwo definicji podsieci, nie ma ju
    koniecznoci dubania w rdach aby zmieni ustawienia
    podsieci
  - serwer jest konfigurowany poprzez demona w perlu, suchajcego
    na sockecie TCP/IP
  - rozbudowane sortowanie
  - dane administratorw s trzymane w bazie danych i nie trzeba
    rcznie ustawia hase w pliku .htpasswd

wersja 0.3:
   
  - obsuga finansw i rozlicze uytkownikw

wersja 0.2:

  - obsuga komputerw, generowanie plikw od maskarady na iptables i od
    DHCP
  - pomoc w wyszukiwaniu mac-adresw poprzez listowanie widocznych adresw w
    trakcie dodawania

wersja 0.1:

  - autoryzacja oparta o .htpasswd w serwerze www
  - prosta baza uytkownikw zawierajca dane osobowe oraz status
    uytkownikw
