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.

Notatka

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.

Notatka

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

    Ostrzeżenie

    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:

Notatka

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.