Nastavení

Z Freenetis Wiki
Verze z 1. 7. 2010, 08:55, kterou vytvořil Quimi (diskuse | příspěvky) (Metody)
Přejít na: navigace, hledání

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/libraries/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 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

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

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

voip_billing_partner

voip_billing_password

voip_number_exclude

voip_number_interval

voip_sip_server

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íč