LMS - LAN Management System 1.11-git
Poprzedni | Rozdział 3. Interfejs Użytkownika (LMS-UI) | Następny

# 3.15. Konfiguracja

## 3.15.1. Interfejs Użytkownika

### 3.15.1.1. Podstawy

Począwszy od wersji 1.5.3 możliwa jest konfiguracja interfejsu użytkownika także poprzez LMS-UI. Opcje przechowywane są w bazie danych i należy je przenieść z pliku `lms.ini`. W celu automatycznego przeniesienia konfiguracji do bazy danych kliknij na linku znajdującym się na pustej liście opcji konfiguracyjnych.

| Opcje konfigurowane w LMS-UI mają większy priorytet od tych zapisanych w `lms.ini`, co oznacza, że plik konfiguracyjny jest także odczytywany, ale wartości zmiennych z tego pliku nadpisywane są wartościami zapisanymi w bazie danych.

| Demon odczytuje niektóre opcje konfiguracyjne UI tylko z bazy danych, dlatego zaleca się przechowywanie konfiguracji w bazie zamiast w pliku ini.

Aby dodać nową opcję kliknij link 'Dodaj opcję'. Aby wyedytować parametry opcji kliknij na jej rekord. Zostaniesz przeniesiony do formularza edycyjnego. Zmiana statusu opcji oznacza włączenie/wyłączenie jej działania, co polega na przypisaniu jej wartości domyślnej (jeżeli taką posiada).

### 3.15.1.2. Lista opcji konfiguracyjnych

Poniżej przedstawiamy listę opcji konfiguracyjnych interfejsu użytkownika. Opcje te należy umieścić w sekcji [phpui]. Pozostałe opcje zostały omówione w odpowiednich rozdziałach ich dotyczących.

- lang

  Ustawia język interfejsu użytkownika. Jeśli nie podano, język zostanie ustawiony na podstawie ustawień przeglądarki. Domyślnie: en.

  Przykład: `lang = pl`

- allow_from

  Lista sieci i adresów IP które mają dostęp do LMS. Jeżeli puste, każdy adres IP ma dostęp do LMS'a, jeżeli wpiszemy tutaj listę adresów bądź pul adresowych, LMS odrzuci błędem HTTP 403 każdego niechcianego użytkownika.

  Przykład: `allow_from = 192.168.0.0/16, 213.25.209.224/27, 213.241.77.29`

- timeout

  Timeout sesji www. Po tym czasie (w sekundach) użytkownik zostanie wylogowany jeżeli nie podejmie żadnej akcji. Domyślnie 600 sekund.

  Przykład: `timeout = 900`

  | Nie ma możliwości ustawienia braku timeoutu. Jeżeli ustawisz tą wartość na zero, nie będziesz mógł korzystać z LMS!

- default_module

  Nazwa modułu startowego (nazwa pliku z katalogu `/modules` bez rozszerzenia .php). Domyślnie: welcome.

  Przykład: `default_module = copyrights`

- customerlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście klientów. Domyślnie: 100.

  Przykład: `customerlist_pagelimit = 10`

- nodelist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście komputerów. Domyślnie: 100.

  Przykład: `nodelist_pagelimit = 10`

- balancelist_pagelimit

  Limit wyświetlanych pozycji na stronie na rachunku klienta. Domyślnie: 100.

  Przykład: `balancelist_pagelimit = 50`

- invoicelist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście faktur. Domyślnie: 100

  Przykład: `invoicelist_pagelimit = 50`

- ticketlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście zgłoszeń. Domyślnie: 100

  Przykład: `ticketlist_pagelimit = 50`

- networkhosts_pagelimit

  Ilość komputerów wyświetlanych na jednej stronie w informacjach o sieci. Domyślnie: 256.

  Przykład: `networkhosts_pagelimit = 1024`

- accountlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście kont. Domyślnie: 100.

  Przykład: `accountlist_pagelimit = 25`

- domainlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście domen. Domyślnie: 100.

  Przykład: `domainlist_pagelimit = 25`

- aliaslist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście aliasów. Domyślnie: 100.

  Przykład: `aliaslist_pagelimit = 25`

- configlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście opcji konfiguracyjnych. Domyślnie: 100.

  Przykład: `configlist_pagelimit = 50`

- taxratelist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście stawek podatkowych. Domyślnie: 100.

  Przykład: `taxratelist_pagelimit = 10`

- numberplanlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście planów numeracyjnych. Domyślnie: 100.

  Przykład: `numberplanlist_pagelimit = 10`

- divisionlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście firm. Domyślnie: 100.

  Przykład: `divisionlist_pagelimit = 10`

- documentlist_pagelimit

  Limit wyświetlanych pozycji na stronie w liście dokumentów. Domyślnie: 100.

  Przykład: `documentlist_pagelimit = 10`

- reload_type

  Typ reloadu. Dozwolone wartości:

  exec - wywoływanie jakiejś komendy (najczęściej coś przez sudo, jakiś skrypt lub coś, konfigurowalny poniżej)

  sql - zrobienie wpisów w SQL'u (też można ustawić konkretne query SQL'a)

  Domyślna wartość to 'sql'.

  Przykład: `reload_type = exec`

- reload_execcmd

  Komenda do wykonania podczas reloadu jeżeli reload_type jest ustawione na 'exec'. Domyślnie `/bin/true`. String ten puszczany do komendy system() więc proponuję rozwagę i pomyślenie co się robi i jak :) Generalnie średniki powinny być parsowane przez bash'a, ale z paru względów LMS sam dzieli poniższy ciąg pod względem średników i wykonuje komendy pojedynczo. W poleceniach można używać zmiennej '%host', która zostanie zamieniona na nazwę zdefiniowanego hosta (Konfiguracja -> Hosty).

  Przykład: `reload_execcmd = "sudo /usr/bin/reload_lms.sh"`

- reload_sqlquery

  Zapytanie SQL wykonywane podczas reloadu, jeśli `reload_type = sql`. Domyślnie zapytanie ustawia w bazie polecenie przeładowania dla demona lmsd. W zapytaniu można użyć zmiennej '%host' oraz '%TIME%' jako podstawki pod aktualny timestamp unixowy. UWAGA! Znak średnika jest traktowany jako separator kwerend, tzn. oddzielając znakiem średnika możesz wpisać kilka zapytań SQL.

  Przykład: `reload_sqlquery = "INSERT INTO reload VALUES ('1','%TIME%')"`

- force_ssl

  Wymuszanie SSL'a. Ustawienie tej zmiennej na 1 spowoduje że LMS będzie wymuszał połączenie SSL powodując redirect do 'https://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI] przy każdej próbie dostępu bez SSL. Domyślnie wyłączone.

  Przykład: `force_ssl = 0`

- allow_mac_sharing

  Przyzwolenie na dodawanie rekordów komputerów z adresami MAC już istniejącymi (nie sprawdza czy jakiś inny komputer posiada taki adres MAC). Domyślnie wyłączone

  Przykład: `allow_mac_sharing = 1`

- smarty_debug

  Włączenie konsoli debugowej Smarty-ego, przydatne do śledzenia wartości przekazywanych z PHP do Smarty-ego. Domyślnie wyłączone.

  Przykład: `smarty_debug = 1`

- default_zip, default_city, default_address

  Domyślny kod pocztowy, miasto, ulica, stosowane podczas wstawiania nowego klienta. Przydatne gdy mamy do wpisania wielu klientów z tej samej ulicy.

  Przykład: `default_zip = 39-300`

- use_current_payday

  Określa, czy ma być użyta aktualna data jako dzień zapłaty podczas przypisywania zobowiązań klientom. Domyślnie wyłączone.

  Przykład: `use_current_payday = 1`

- default_monthly_payday

  Określa domyślny dzień miesiąca odpowiadający dniom zapłaty podczas przypisywania zobowiązań klientom. Domyślnie niezdefiniowany.

  Przykład: `default_monthly_payday = 1`

- use_invoices

  Powoduje zaznaczenie opcji "z fakturą" w formularzu dodawania zobowiązania. Domyślnie wyłączona.

  Przykład: `use_invoices = tak`

- lastonline_limit

  Określa czas (w sekundach), po którym komputer zostaje uznany za nieaktywny. Powinien odpowiadać częstotliwości uruchamiania skryptu badającego aktywność komputerów (np.lms-fping). Domyślnie: 600.

  Przykład: `lastonline_limit = 300`

- timetable_days_forward

  Określa ilość dni (łącznie z bieżącym) jaka ma być wyświetlana w terminarzu. Domyślnie: 7.

  Przykład: `timetable_days_forward = 2`

- arpd_servers

  Lista serwerów arpd do sczytywania MAC'adresów z odległych sieci. Lista ta powinna zawierać wpisy w postaci adresIP[:port] oddzielone spacjami. Domyślnie pusta.

  Przykład: `arpd_servers = 192.168.1.1 192.168.2.1`

- helpdesk_backend_mode

  Włączenie tej opcji spowoduje, że wszystkie wiadomości w systemie helpdesk (oprócz tych skierowanych do zgłaszającego) będą wysyłane do serwera pocztowego na adres odpowiedniej kolejki. Na serwerze tym powinien być uruchomiony skrypt lms-rtparser, który zajmie się zapisem wiadomości do bazy danych. Domyślnie: wyłączona.

  Przykład: `helpdesk_backend_mode = 1`

- helpdesk_sender_name

  Nazwa nadawcy wiadomości albo predefiniowane wartości: 'queue' - nazwa kolejki do której należy zgłoszenie, 'user' - nazwa zalogowanego użytkownika (nadawcy). Domyślnie: pusta.

  Przykład: `helpdesk_sender_name = Helpdesk`

- newticket_notify

  Włączenie tej opcji spowoduje, że wszyscy użytkownicy z prawami do kolejki dostaną powiadomienie (mailem i/lub smsem) o dodaniu do niej nowego zgłoszenia. Domyślnie: wyłączona.

  Przykład: `newticket_notify = 1`

- helpdesk_stats

  Dodaje statystyki przyczyn zgłoszeń na stronie informacji o zgłoszeniu oraz na jego wydruku. Domyślnie: włączona.

  Przykład: `helpdesk_stats = 0`

- helpdesk_customerinfo

  Dodaje podstawowe informacje o kliencie na stronie informacji o zgłoszeniu oraz w treści powiadomienia. Domyślnie: włączona.

  Przykład: `helpdesk_customerinfo = 0`

- ticketlist_status

  Domyślne ustawienie filtra statusu na liście zgłoszeń. Dozwolonych wartości szukaj w kodzie strony html. Domyślnie: nie ustawiona.

  Przykład: `ticketlist_status = -1`

- ticket_template_file

  Szablon wydruku zgłoszenia. Domyślnie: rtticketprint.html.

  Przykład: `ticket_template_file = ../mytemplates/ticket.html`

- to_words_short_version

  Określa format reprezentacji słownej kwot (na fakturach). Dla wartości "1" rozwinięciem kwoty 123,15 będzie "jed dwa trz 15/100". Domyślnie: 0.

  Przykład: `to_words_short_version = 1`

- nodepassword_length

  Domyślna długość hasła (generowanego automatycznie) dla komputera. Maksymalnie 32. Domyślnie: 16.

  Przykład: `nodepassword_length = 8`

- gd_translate_to

  Kodowanie danych dla biblioteki GD (przydatne jeśli GD wymaga ISO-8859-2 zamiast UTF-8 dla funkcji imagetext). Domyślnie: ISO-8859-2.

  Przykład: `gd_translate_to =`

- check_for_updates_period

  Jak często sprawdzać czy są dostępne poprawki LMS-a (w sekundach). Domyślnie: 86400.

  Przykład: `check_for_updates_period = 604800`

- default_taxrate

  Określa wartość (nie etykietę) stawki podatkowej, która będzie domyślnie zaznaczona na listach wyboru. Domyślnie: 22

  Przykład: `default_taxrate = 7`

- big_networks

  Wsparcie dla dużych ISPów, np. ukrywanie list wyboru klientów. Domyślnie: wyłączona

  Przykład: `big_networks = true`

- short_pagescroller

  Zmienia wygląd pól wyboru strony, ułatwiając nawigację na listach z bardzo dużą liczbą stron. Domyślnie: wyłączona

  Przykład: `short_pagescroller = tak`

- ewx_support

  Wsparcie dla urządzeń EtherWerX. Domyślnie: wyłączona

  Przykład: `ewx_support = tak`

- account_type

  Zmienia domyślnego zaznaczenie checkboxów w dodwaniu kont. shell = 1 (0000000000000001) mail = 2 (0000000000000010) www = 4 (0000000000000100) ftp = 8 (0000000000001000) sql = 16 (0000000000010000) Domyślnie: 32767

  Przykład: `account_type = 2`

- default_assignment_period

  Domyślnie wybrana z listy rozwijanej wartość okresu obciążenia, przy dodawaniu zobowiązania dla klienta. Możliwe wartości: jednorazowo - 0 codziennie - 1 co tydzień - 2 co miesiąc - 3 co kwartał - 4 co rok - 5 Domyślnie: 0

  Przykład: `default_assignment_period = 3`

## 3.15.2. Stawki podatkowe

Przed rozpoczęciem pracy z systemem finansowym należy zdefiniować stawki podatkowe jakich będziemy używać. Na liście znajdują się wszystkie dane stawek. Możliwa jest edycja stawki podatkowej, przy czym należy pamiętać, że system nie pozwoli na zmianę wartości stawki, jeżeli została ona użyta w przeszłości. Nie możliwe jest także usunięcie takiej stawki.

Link 'Dodaj stawkę' przenosi do formularza definiowania nowej stawki procentowej. Etykieta stawki jest wyświetlana na listach wyboru oraz w szablonie faktury. Wartość stawki to liczba od 0 do 100 z dokładnością do dwóch miejsc po przecinku. Status opodatkowania jest wykorzystywany do wyróżnienia stawki zwolnionej z podatku, czyli wszystkie pozostałe stawki powinny mieć włączone 'opodatkowanie'.

Stawkę, która będzie domyślnie zaznaczona na listach wyboru można zdefiniować przy pomocy opcji `default_taxrate` w sekcji [phpui]

## 3.15.3. Plany numeracyjne

Wszystkim dokumentom generowanym przez system LMS można nadawać dowolną numerację wg zdefiniowanych wzorów (planów). Możliwe jest używanie różnych numeracji w obrębie jednego typu dokumentów. Dla każdego typu można zdefiniować jeden plan domyślny (ważne w przypadku faktur wystawianych automatycznie, skrypty/demon muszą wiedzieć na jakiej numeracji mają być oparte nowo tworzone dokumenty).

Do każdego planu należy przypisać także okres numeracyjny, czyli przedział czasowy w jakim zachowywana jest ciągłość numeracji. Przy przejściu do nowego okresu numeracja zostanie wyzerowana. Można zdefiniować numerację jednodniową, tygodniową (od poniedziałku do niedzieli), miesięczną, kwartalną oraz roczną.

Na liście planów numeracyjnych znajdują się wszystkie niezbędne informacje o planach wraz z przykładowym numerem oraz liczbą dokumentów utworzonych przy ich użyciu. Poprzez link 'Dodaj plan' przechodzi się do interfejsu dodawania planu. Edycji można dokonać klikając na wybrany rekord na liście. Usunięcie planu numeracyjnego jest możliwe tylko wtedy gdy nie dotyczy on żadnego istniejącego dokumentu.

Szablon numeru to dowolny ciąg znaków, który zawiera specjalne symbole (specyfikatory) znane z funkcji strftime. Szczegóły użycia oraz wykaz wszystkich symboli można znaleźć w manualu PHP. Podstawowym i jedynym wymaganym symbolem w szablonie jest symbol '%N', za który zostanie podstawiony numer wewnętrzny dokumentu. Pozostałe symbole wynikają z daty wystawienia dokumentu. A oto najczęściej używane z nich:

- %N - liczba dziesiętna określająca numer dokumentu

- %[1-9]N - j.w. ale z zerami wiodącymi, np. '%4N' dla liczby 12 zwróci '0012'

- %I - dodatkowy numer (działa tylko z dokumentami kasowymi)

- %Y - rok jako liczba dziesiętna z wiekiem włącznie

- %y - rok jako liczba dziesiętna bez uwzględnienia wieku (00 do 99)

- %m - miesiąc jako liczba dziesiętna (01 do 12)

- %b - skrótowa nazwa miesiąca zgodnie z lokalizacją

| Jeżeli w systemie nie zdefiniowano planów numeracyjnych dokumenty będą numerowane wg wzorca '%N/LMS/%Y' z okresem rocznym.

## 3.15.4. Firmy (Oddziały)

Firmy (Oddziały) służą do grupowania klientów. Powinieneś zdefiniować przynajmniej jedną firmę. Masz możliwość podania nazwy skróconej i pełnej firmy, jej adresu, konta bankowego (lub prefiksu konta płatności masowych) oraz danych do fakturowania. Zablokowanie firmy uniemożliwia jej przypisanie do klienta.

## 3.15.5. Hosty

Tutaj definiuje się hosty które będą współpracowały z LMSem, czyli komputery (routery, serwery) pobierające konfigurację z bazy LMSa, na których będą uruchamiane skrypty lub demon lmsd.

Nazwa każdego hosta musi być unikalna i zaleca się aby odpowiadała rzeczywistej nazwie maszyny, którą można uzyskać uruchamiając polecenie `hostname` na każdej z tych maszyn (zakładając, że są to komputery z u*ixem).

## 3.15.6. Demon

Po zdefiniowaniu hostów można rozpocząć konfigurację demona lmsd. Konfiguracja jest bardziej szczegółowo opisana w rozdziale dotyczącym demona.

## 3.15.7. Źródła importu

Import płatności może odbywać się z wielu źródeł (banków). W tym miejscu definiuje się ich nazwy, co umożliwia późniejsze przeszukiwanie wpłat wg źródła. Źródło można ustawić również dla wpłat klientów poza importem. Dokonując importu płatności masz możliwość wyboru źródła. Możliwe jest automatyczne określenie źródła, w tym celu należy przypisać identyfikator źródła do wzorca w konfiguracji importu.

## 3.15.8. Promocje

W tym miejscu mamy możliwość definiowania schematów promocji. Schemat określa kwotę oraz sposób płatności abonamentu przez cały okres trwania promocji. Definiujemy tutaj jeden lub wiele okresów o dowolnej długości i mamy możliwość określenia kwoty abonamentu oraz sposobu naliczania. Po okresie promocyjnym abonament będzie naliczany w normalnej (określonej w taryfie) kwocie. Ponadto możemy określić kwotę opłaty aktywacyjnej oraz dodatkowej taryfy doliczanej do abonamentu po okresie promocyjnym.

Zdefiniowane schematy/promocje będą widoczne na liście wyboru w formularzu nowego zobowiązania. Wybranie schematu i taryfy spowoduje utworzenie odpowiedniej liczby zobowiązań wynikającej ze zdefiniowanych w schemacie okresów.

Poprzedni | Spis treści | Następny
Terminarz | Początek rozdziału | Skrypty