Nastavení: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
m (Quimi přesunul stránku Nastavení na Nastavení bez založení přesměrování)
 
(Není zobrazeno 77 mezilehlých verzí od 5 dalších uživatelů.)
Řádek 1: Řádek 1:
Jako každý jiný informační systém i Freenetis musí mít možnost různých nastavení, jak uživatelských, tak i systémových. V současné době se o to starají dvě knihovny:
+
[[en:Settings]]
 +
[[ru:Настройки]]
 +
 
 +
Jako každý jiný informační systém i FreenetIS musí mít možnost různých nastavení, jak uživatelských, tak i systémových. V současné době se o to starají dvě knihovny:
  
 
  application/libraries/settings.php (pro nastavení skrze databázi)
 
  application/libraries/settings.php (pro nastavení skrze databázi)
  system/libraries/config.php (pro nastavení skrze konfigurační soubor)
+
  system/core/config.php (pro nastavení skrze konfigurační soubor)
  
 
= Původní stav =
 
= Původní stav =
  
 
V původním stavu framework Kohana podporoval pouze nastavení přes konfigurační soubory, žádné nastavení přes databázi neexistovaly. Z toho plyne, že v systému nešly vytvářet formulář pro nastavení - ty by pak totiž musely tyto soubory přegenerovávat => velké bezpečnostní riziko.
 
V původním stavu framework Kohana podporoval pouze nastavení přes konfigurační soubory, žádné nastavení přes databázi neexistovaly. Z toho plyne, že v systému nešly vytvářet formulář pro nastavení - ty by pak totiž musely tyto soubory přegenerovávat => velké bezpečnostní riziko.
 +
 +
= Současný stav =
 +
 +
Takřka veškerá nastavení byla přesunuta do databáze, v konfiguračním souboru zůstaly pouze přístupové údaje k databázi.
 +
 +
= Samotná implementace =
 +
 +
== Knihovna Settings ==
 +
 +
Všechna nastavení se ukládají do databázové tabulky Config.
 +
 +
=== Proměnné ===
 +
 +
====contact====
 +
 +
====currency====
 +
 +
- měna, které se bude používat v systému
 +
 +
- nastavuje se v Nastavení - Systém - Měna
 +
 +
- '''výchozí hodnota''': CZK
 +
 +
====db_schema_version====
 +
 +
- zřejmě nejdůležitější proměnná - určuje aktuální revizi databázového schématu, používá se pří [[Autoupdate DB struktury]]
 +
 +
- '''nelze nastavit uživatelem v systému, určuje se sama'''
 +
 +
====debtor====
 +
====default_country====
 +
- základní země užívaná v systému (id z tabulky countries)
 +
 +
- '''výchozí hodnota''': 55 (Czech Republic)
 +
====domain====
 +
 +
- doména, na kterém poběží FreenetIS
 +
 +
- pokud je vaše adresa FreenetISu <nowiki>http://www.mojedomena.cz/freenetis/</nowiki>, bude tato proměnná <nowiki>www.mojedomena.cz</nowiki>
 +
 +
- '''výchozí hodnota''': prázdná (pro vytvoření URL se pak používá server::http_host())
 +
 +
====email_default_email====
 +
 +
- výchozí e-mail - na všech e-mailech odeslaných z FreenetISu bude jako odesílatel uvedena tato adresa
 +
 +
- nastavuje se v Nastavení - Systém - Výchozí e-mail
 +
 +
- '''výchozí hodnota''': no-reply@freenetis.org
 +
 +
====email_driver====
 +
 +
- ovladač posílání e-mailu - způsob, jakým se budou odesílat e-maily
 +
 +
- možné možnosti - nativní (pomocí funkce php mail), SMTP a Sendmail
 +
 +
- nastavuje se v Nastavení - E-mail - Ovladač
 +
 +
- '''výchozí hodnota''': nativní
 +
 +
====email_hostname====
 +
 +
- hostitel SMTP serveru
 +
 +
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP
 +
 +
- nastavuje se v Nastavení - E-mail - Název hostitele
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====email_port====
 +
 +
- port SMTP serveru
 +
 +
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP
 +
 +
- nastavuje se v Nastavení - E-mail - Port
 +
 +
- '''výchozí hodnota''': 25
 +
 +
====email_password====
 +
 +
- heslo pro přístup na hostitele SMTP serveru
 +
 +
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP
 +
 +
- nastavuje se v Nastavení - E-mail - Heslo
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====email_username====
 +
 +
- uživatelské jméno pro přístup na hostitele SMTP serveru
 +
 +
- bere se v potaz, pouze pokud je email_driver nastaven na SMTP
 +
 +
- nastavuje se v Nastavení - E-mail - Uživatelské jméno
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====gateway====
 +
 +
====index_page====
 +
 +
- logická proměnná, zda-se má v URL zobrazovat index.php
 +
 +
- 1 => bude se zobrazovat, 0=> nebude se zobrazit
 +
 +
- nastavuje se v Nastavení - Systém - Čistá URL (přes negaci)
 +
 +
- '''výchozí hodnota''': 1
 +
 +
====info====
 +
 +
====interrupt====
 +
 +
====map_google_maps_api_key====
 +
 +
- klíč pro Google maps API, které se v is využívají.
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====optional_message====
 +
 +
====payment_notice====
 +
 +
====protocol====
 +
 +
- protokol, na kterém poběží FreenetIS
 +
 +
- pokud je vaše adresa FreenetISu <nowiki>http://www.mojedomena.cz/freenetis/</nowiki>, bude tato proměnná <nowiki>http</nowiki>
 +
 +
- '''výchozí hodnota''': prázdná (pro vytvoření URL se pak používá hodnota http)
 +
 +
====registration_info====
 +
 +
- informace, které se zobrazí na vyexportované přihlášce na horní části
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====registration_license====
 +
 +
- licenční podmínky, které se zobrazí na vyexportované přihlášce na dolní části
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====self_registration====
 +
 +
- logické proměnná, zda-li povolit samo-registraci zájemců o členství
 +
 +
- nastavuje se v Nastavení - Systém - Samo-registrace
 +
 +
- '''výchozí hodnota''': 1
 +
 +
====suffix====
 +
 +
- přípona za doménou v URL, na které běží FreenetIS
 +
 +
- pokud je vaše adresa FreenetISu <nowiki>http://www.mojedomena.cz/freenetis/</nowiki>, bude tato proměnná <nowiki>/freenetis/</nowiki>
 +
 +
- vždy musí začínat i končit lomítkem (může být i /)
 +
 +
- '''výchozí hodnota''': prázdná (pro vytvoření URL se pak používá substr(server::script_name(),0,-9))
 +
 +
====title====
 +
 +
- titulek stránky, který se zobrazuje v hlavičce (uvnitř HTML atributu title)
 +
 +
- nastavuje se v Nastavení - Systém - Titulek stránky
 +
 +
- '''výchozí hodnota''': FreenetIS
 +
 +
====unknown_device====
 +
 +
====upload_directory====
 +
 +
- určuje adresář, do kterého se budou nehrávat soubory (importy, atd.)
 +
 +
- '''výchozí hodnota:''' upload
 +
 +
====use_javascript====
 +
 +
- logická proměnná, zda-li je používán javascript
 +
 +
- zastaralé, v budoucnu bude odstraněno
 +
 +
- '''výchozí hodnota''': 1
 +
 +
====voip_billing_driver====
 +
- proměnná obsahuje aktuálně zvolený driver pro VoIP
 +
 +
- momentálně je podporovaný pouze drver pro řešení VOIP od NFX z.s.p.o.
 +
 +
- '''výchozí hodnota:''' 0
 +
 +
====voip_billing_partner====
 +
 +
- proměnná obsahuje uživatelské jméno k přihlášení k billingu
 +
 +
- '''výchozí hodnota:''' prázdná
 +
 +
====voip_billing_password====
 +
- proměnná obsahuje uživatelské heslo k přihlášení k billingu
 +
 +
- '''výchozí hodnota:''' prázdná
 +
 +
====voip_number_exclude====
 +
- proměnná obsahuje devíti-místné čísla oddělená středníkem(;)
 +
 +
- čísla uvedená v tomto seznamu nebudou nabídnuta k výberu pro registraci VoIP účtu
 +
 +
- '''výchozí hodnota:''' prázdná
 +
 +
====voip_number_interval====
 +
- proměnná obsahuje rozsah devítimístných čísel ve tvaru XXXXXXXXX-XXXXXXXXX
 +
 +
- čísla uvedená v tomto seznamu budou nabídnuta k výbeřu pro registraci VoIP ůčtu
 +
 +
- '''výchozí hodnota:''' prázdná
 +
 +
====voip_sip_server====
 +
- proměnná uchovává řetezec s hostname SIP serveru. Např. sip.slfree.czf
 +
 +
- zobrazuje se v nastavení VoIP účtu jako doplňující informace. Nemá vliv na funkci ústředny.
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
====website_after_redirection====
 +
 +
===Metody===
 +
 +
Celá knihovna obsahuje pouze dvě metody - set a get.
 +
 +
V kontrolerech a v pohledech (ve views) se používá dynamický přístup - v záhlaví hlavního kontroleru se vytvoří instance knihovny:
 +
 +
$this->settings = new Settings();
 +
 +
a pak např. hodnotu proměnné suffix získáme takto:
 +
 +
$this->settings->get('suffix');
 +
 +
V ostatních místech aplikace (helpers, atd.) se pak musí používat statický přístup:
 +
 +
$suffix = Settings::get('suffix');
 +
 +
====get====
 +
 +
- vrací hodnotu podle zadaného klíče
 +
 +
- pokud nalezne neprázdnou hodnotu, vrátí ji
 +
 +
- pokud nalezne prázdnou hodnotu nebo nestane neočekávaná chyba, zkontroluje, zda-li existuje stejnojmenný privátní atribut (tj. defaultní hodnota)
 +
 +
- pokud existuje, vrátí jej
 +
 +
- pokud neexistuje, zkusí vrátit stejnojmennou proměnnou z Configu (z konfiguračního souboru)
 +
 +
====set====
 +
 +
- nastaví proměnnou zadanou pomocí klíče na zadanou hodnotu
 +
 +
- pokud nastane neočekávaná chyba, vrátí neúspěch
 +
 +
- jinak pokud proměnná již v databázi existuje, aktualizuje ji
 +
 +
- pokus proměnná v databázi neexistuje, vytvoří ji
 +
 +
== Knihovna Config ==
 +
 +
Jedná se o nastavení, které se zapisují do konfiguračního souboru config.php.
 +
 +
Jde však pouze o proměnné s údaji pro připojení k databázi.
 +
 +
===Proměnné===
 +
 +
====db_type====
 +
 +
- typ databáze (mysql, pgsql)
 +
 +
- zatím je podporováno pouze mysql
 +
 +
- '''výchozí hodnota''': mysql
 +
 +
====db_name====
 +
 +
- název databáze, na které poběží FreenetIS
 +
 +
- '''výchozí hodnota''': freenetis
 +
 +
====db_host====
 +
 +
- adresa hostitele, na kterém poběží FreenetIS
 +
 +
- '''výchozí hodnota''': localhost
 +
 +
====db_user====
 +
 +
- uživatelské jméno pro připojení k databázi
 +
 +
- '''výchozí hodnota''': freenetis
 +
 +
====db_password====
 +
 +
- uživatelské heslo pro připojení k databázi
 +
 +
- '''výchozí hodnota''': freenetis
 +
 +
====db_table_prefix====
 +
 +
- předpona pro tabulky FreenetISu
 +
 +
- užitečné, pokud chcete používat společnou databázi pro FreenetIS a jiný projekt
 +
 +
- '''výchozí hodnota''': prázdná
 +
 +
===Metody===
 +
 +
Na rozdíl od knihovny Settings se u této knihovny používá pouze statický přístup:
 +
 +
$db_name = Config::get('db_name')
 +
 +
====get====
 +
 +
- vrací hodnotu z konfiguračního souboru podle zadaného klíče
 +
 +
====set====
 +
 +
- nastaví zadanou hodnotu na zadaný klíč

Aktuální verze z 31. 1. 2018, 14:14


Jako každý jiný informační systém i FreenetIS musí mít možnost různých nastavení, jak uživatelských, tak i systémových. V současné době se o to starají dvě knihovny:

application/libraries/settings.php (pro nastavení skrze databázi)
system/core/config.php (pro nastavení skrze konfigurační soubor)

Původní stav

V původním stavu framework Kohana podporoval pouze nastavení přes konfigurační soubory, žádné nastavení přes databázi neexistovaly. Z toho plyne, že v systému nešly vytvářet formulář pro nastavení - ty by pak totiž musely tyto soubory přegenerovávat => velké bezpečnostní riziko.

Současný stav

Takřka veškerá nastavení byla přesunuta do databáze, v konfiguračním souboru zůstaly pouze přístupové údaje k databázi.

Samotná implementace

Knihovna Settings

Všechna nastavení se ukládají do databázové tabulky Config.

Proměnné

contact

currency

- měna, které se bude používat v systému

- nastavuje se v Nastavení - Systém - Měna

- výchozí hodnota: CZK

db_schema_version

- zřejmě nejdůležitější proměnná - určuje aktuální revizi databázového schématu, používá se pří Autoupdate DB struktury

- nelze nastavit uživatelem v systému, určuje se sama

debtor

default_country

- základní země užívaná v systému (id z tabulky countries)

- výchozí hodnota: 55 (Czech Republic)

domain

- doména, na kterém poběží FreenetIS

- pokud je vaše adresa FreenetISu http://www.mojedomena.cz/freenetis/, bude tato proměnná www.mojedomena.cz

- výchozí hodnota: prázdná (pro vytvoření URL se pak používá server::http_host())

email_default_email

- výchozí e-mail - na všech e-mailech odeslaných z FreenetISu bude jako odesílatel uvedena tato adresa

- nastavuje se v Nastavení - Systém - Výchozí e-mail

- výchozí hodnota: no-reply@freenetis.org

email_driver

- ovladač posílání e-mailu - způsob, jakým se budou odesílat e-maily

- možné možnosti - nativní (pomocí funkce php mail), SMTP a Sendmail

- nastavuje se v Nastavení - E-mail - Ovladač

- výchozí hodnota: nativní

email_hostname

- hostitel SMTP serveru

- bere se v potaz, pouze pokud je email_driver nastaven na SMTP

- nastavuje se v Nastavení - E-mail - Název hostitele

- výchozí hodnota: prázdná

email_port

- port SMTP serveru

- bere se v potaz, pouze pokud je email_driver nastaven na SMTP

- nastavuje se v Nastavení - E-mail - Port

- výchozí hodnota: 25

email_password

- heslo pro přístup na hostitele SMTP serveru

- bere se v potaz, pouze pokud je email_driver nastaven na SMTP

- nastavuje se v Nastavení - E-mail - Heslo

- výchozí hodnota: prázdná

email_username

- uživatelské jméno pro přístup na hostitele SMTP serveru

- bere se v potaz, pouze pokud je email_driver nastaven na SMTP

- nastavuje se v Nastavení - E-mail - Uživatelské jméno

- výchozí hodnota: prázdná

gateway

index_page

- logická proměnná, zda-se má v URL zobrazovat index.php

- 1 => bude se zobrazovat, 0=> nebude se zobrazit

- nastavuje se v Nastavení - Systém - Čistá URL (přes negaci)

- výchozí hodnota: 1

info

interrupt

map_google_maps_api_key

- klíč pro Google maps API, které se v is využívají.

- výchozí hodnota: prázdná

optional_message

payment_notice

protocol

- protokol, na kterém poběží FreenetIS

- pokud je vaše adresa FreenetISu http://www.mojedomena.cz/freenetis/, bude tato proměnná http

- výchozí hodnota: prázdná (pro vytvoření URL se pak používá hodnota http)

registration_info

- informace, které se zobrazí na vyexportované přihlášce na horní části

- výchozí hodnota: prázdná

registration_license

- licenční podmínky, které se zobrazí na vyexportované přihlášce na dolní části

- výchozí hodnota: prázdná

self_registration

- logické proměnná, zda-li povolit samo-registraci zájemců o členství

- nastavuje se v Nastavení - Systém - Samo-registrace

- výchozí hodnota: 1

suffix

- přípona za doménou v URL, na které běží FreenetIS

- pokud je vaše adresa FreenetISu http://www.mojedomena.cz/freenetis/, bude tato proměnná /freenetis/

- vždy musí začínat i končit lomítkem (může být i /)

- výchozí hodnota: prázdná (pro vytvoření URL se pak používá substr(server::script_name(),0,-9))

title

- titulek stránky, který se zobrazuje v hlavičce (uvnitř HTML atributu title)

- nastavuje se v Nastavení - Systém - Titulek stránky

- výchozí hodnota: FreenetIS

unknown_device

upload_directory

- určuje adresář, do kterého se budou nehrávat soubory (importy, atd.)

- výchozí hodnota: upload

use_javascript

- logická proměnná, zda-li je používán javascript

- zastaralé, v budoucnu bude odstraněno

- výchozí hodnota: 1

voip_billing_driver

- proměnná obsahuje aktuálně zvolený driver pro VoIP

- momentálně je podporovaný pouze drver pro řešení VOIP od NFX z.s.p.o.

- výchozí hodnota: 0

voip_billing_partner

- proměnná obsahuje uživatelské jméno k přihlášení k billingu

- výchozí hodnota: prázdná

voip_billing_password

- proměnná obsahuje uživatelské heslo k přihlášení k billingu

- výchozí hodnota: prázdná

voip_number_exclude

- proměnná obsahuje devíti-místné čísla oddělená středníkem(;)

- čísla uvedená v tomto seznamu nebudou nabídnuta k výberu pro registraci VoIP účtu

- výchozí hodnota: prázdná

voip_number_interval

- proměnná obsahuje rozsah devítimístných čísel ve tvaru XXXXXXXXX-XXXXXXXXX

- čísla uvedená v tomto seznamu budou nabídnuta k výbeřu pro registraci VoIP ůčtu

- výchozí hodnota: prázdná

voip_sip_server

- proměnná uchovává řetezec s hostname SIP serveru. Např. sip.slfree.czf

- zobrazuje se v nastavení VoIP účtu jako doplňující informace. Nemá vliv na funkci ústředny.

- výchozí hodnota: prázdná

website_after_redirection

Metody

Celá knihovna obsahuje pouze dvě metody - set a get.

V kontrolerech a v pohledech (ve views) se používá dynamický přístup - v záhlaví hlavního kontroleru se vytvoří instance knihovny:

$this->settings = new Settings();

a pak např. hodnotu proměnné suffix získáme takto:

$this->settings->get('suffix');

V ostatních místech aplikace (helpers, atd.) se pak musí používat statický přístup:

$suffix = Settings::get('suffix');

get

- vrací hodnotu podle zadaného klíče

- pokud nalezne neprázdnou hodnotu, vrátí ji

- pokud nalezne prázdnou hodnotu nebo nestane neočekávaná chyba, zkontroluje, zda-li existuje stejnojmenný privátní atribut (tj. defaultní hodnota)

- pokud existuje, vrátí jej

- pokud neexistuje, zkusí vrátit stejnojmennou proměnnou z Configu (z konfiguračního souboru)

set

- nastaví proměnnou zadanou pomocí klíče na zadanou hodnotu

- pokud nastane neočekávaná chyba, vrátí neúspěch

- jinak pokud proměnná již v databázi existuje, aktualizuje ji

- pokus proměnná v databázi neexistuje, vytvoří ji

Knihovna Config

Jedná se o nastavení, které se zapisují do konfiguračního souboru config.php.

Jde však pouze o proměnné s údaji pro připojení k databázi.

Proměnné

db_type

- typ databáze (mysql, pgsql)

- zatím je podporováno pouze mysql

- výchozí hodnota: mysql

db_name

- název databáze, na které poběží FreenetIS

- výchozí hodnota: freenetis

db_host

- adresa hostitele, na kterém poběží FreenetIS

- výchozí hodnota: localhost

db_user

- uživatelské jméno pro připojení k databázi

- výchozí hodnota: freenetis

db_password

- uživatelské heslo pro připojení k databázi

- výchozí hodnota: freenetis

db_table_prefix

- předpona pro tabulky FreenetISu

- užitečné, pokud chcete používat společnou databázi pro FreenetIS a jiný projekt

- výchozí hodnota: prázdná

Metody

Na rozdíl od knihovny Settings se u této knihovny používá pouze statický přístup:

$db_name = Config::get('db_name')

get

- vrací hodnotu z konfiguračního souboru podle zadaného klíče

set

- nastaví zadanou hodnotu na zadaný klíč