5.2
Controller zastupce
Zástupcovská třída obsahuje mnohem více funkcí, které nebudu popisovat celé, protože jsou podobné jako v controlleru student, ale vypíšu jen to nejdůležitější. Důležité funkce v tomto controlleru jsou index, omluvit, verifysms. 5.2.1
Výpis
Funkce index je podobný výpis jako u studenta, doplněný o možnost odstranění a ověření omluvy. Pro odstranění je využit ajax, aby se celá stránka nemusela při odstranění absence obnovovat. Po kliknutí na tlačítko odstranit je zavolána javascriptová funkce, která odešle požadavek k odstranění. Funkce má tento zdrojový kód: function smazat(id) { $.post(’http://absence.hudebnizkusebny.cz/zastupce/odstranit’, {id: id}, function(data) { if(data=="ok") { $(’#omluva’+id).hide(); $(’#hlasky’).html(’
Úspěšně odebráno!
’);
16
} }); }
Funkce tedy zabezpečí, aby se zneviditelnil řádek tabulky s omluvou, která byla smazána, a oznámilo se uživateli, že absence byla smazána. Zde je mimo jiné využito JQuery. 5.2.2
Omlouvání absencí
Jak už bylo uvedeno, omlouvání absencí je ověřeno pomocí sms kódu odeslaného na telefon zákonného zástupce. Proto se po odeslání formuláře zobrazí další formulář pro zadání přijatého kódu. Tento kód má 5 čísel a generuje se náhodně. Potom, co se vygeneruje, je vložen do databáze. Aby bylo zamezeno případným útokům, kdyby útočník vyzkoušel všechny kódy od 1 do 99999, jsem i tento formulář zabezpečil recaptchou. Formulář pro omluvu absence
17
Formulář pro ověření
Ověření formuláře Formulář pro omluvu absencí se ověřuje pomocí funkcí, které jsou zakomponovány v CodeIgniteru. Třída form_validation umožňuje kontrolovat položky podle určitých pravidel. $this->form_validation->set_rules(’polozka’, ’Jmnéno položky’, ’required|xss_clean’);
Každá položka má svoje jméno (name HTML formuláři) a jméno, které se zobrazí, pokud nastane chyba. K takovýmto položkám můžeme přiřadit pravidla předdefinovaná nebo vlastní, která nadefinujeme jako takzvanou callback funkci, ta se definuje v rámci třídy daného controlleru, jako public function. V tomto příkladu jsou uvedena pravidla required a xss_clean. Required znamená, že pole musí být povinně vyplněno, a xss_clean znamená, že se obsah proměnné převede to takového formátu, aby nijak nenarušil stránku nebo databázi. Odesílání sms Odesílání sms zajišťuje sms.sluzba.cz, která dodala i API pro odesílání sms. Toto API jsem implmentoval a vytvořil jsem si model pro odesílání sms. Zdrojový kód modelu vypadá takto: Class Sms extends CI_Model { function poslat($cislo, $kod) { define(’LOGIN’,’ucet’); define(’PASSWORD’,’heslo’); require_once("smsgateapi_sluzba_cz/apipost30.php"); $apipost = new ApiPost30(LOGIN, PASSWORD); $apipost->set_recipient($cislo); 18
Část III
Manuál
20
V části Manuál uvádím, jak celý systém ovládat ať už jste student, zákonný zástupce, profesor, či administrátor.
8
Přihlášení
Před prvním přihlášením do systému by měl každý uživatel obdržet uživatelské jméno a heslo. Pokud jste takové uživatelské jméno obdrželi i vy, můžete se nyní přihlásit tak, že vyplníte políčka uživatelské jméno a heslo a kliknete na přihlásit. Přihlašovací formulář
A nyní byste měli být přihlášeni. Dále přeskočte na kategorii, do které patříte (student, zákonný zástupce, profesor nebo administrátor)
9
Student
Jako student nemáte právo jakkoli manipulovat se svými absencemi, můžete je pouze zobrazovat.
21
9.1
Výpis absencí Výpis absencí
Sloupec počet udává počet zameškaných hodin, Ověření udává, zda byla již ověřena totožnost zákonného zástupce pomocí sms kódu. Zaznamenáno určuje, zda byla absence již zaznamenána v třídní knize.
9.2
Nastavení Osobní nastavení studenta
Student si může nastavovat pouze svoje uživatelské jméno a heslo. Pro změnu 22
uživatelského jména napište do kolonky „Nové uživatelské“ jméno uživatelské jméno, na které chcete to staré změnit, a klikněte na odeslat. Uživatelské jméno musí být unikátní, takže je možné, že si nebudete moci zvolit to, které napoprvé chcete. Při zmeně hesla je nutné zadat staré heslo, nové heslo a nové heslo opsat pro kontrolu. Heslo musí obsahovat alespoň jedno písmeno, jedno číslo a musí obsahovat nejméňě 6 znaků. Po vyplnění všech tří položek kliněte na tlačítko upravit a heslo se změní.
10
Zákonný zástupce
Zákonný zástupce může omlouvat absence a absence zobrazovat.
10.1
Omlouvání absencí Formulář pro omluvu absence
Pro omluvení absence vyberte v menu položku omluvit absenci a vyplňte formulář. Položka více dní vám umožní omlouvat itervaly delší než jeden den. Jako datum absence můžete zvolit pouze dny, které jsou v letošním školním roce. Do položky důvod zadejte stručný důvod absence. Dále vyberte telefonní číslo, na které má přijít sms kód pro ověření absence. Z bezpečnostních důvodů (aby někdo opakovaně neodesílal sms kódy) obsahuje formulář ještě obrázek s textem, který je potřeba opsat. Po vyplnění všech údajů klikněte na tlačítko omluvit.
23
Formulář pro ověření
Po odeslání formuláře vám příjde na vybrané číslo sms zpráva obsahující kód, ten opište v dalším kroku. Z bezpečnostních důvodů opište také kontrolní text z obrázku a klikněte na tlačítko ověřit. Nyní by měla být omluva ověřena a měla by se zobrazit ve výpisu omluv.
10.2
Odstranění absence Odstranění absence
Pokud absence ještě nebyla zaznamenána do třídní knihy, lze ji odstranit kliknutím na tlačítko odstranit ve výpisu absencí.
10.3
Nastavení
Zástupce si může nastavovat pouze svoje uživatelské jméno, heslo a telefonní čísla.
24
10.3.1
Osobní nastavení Osoní nastavení zákonného zástupce
Pro změnu uživatelského jména napište do kolonky „Nové uživatelské jméno“ uživatelské jméno, na které chcete to staré změnit, a klikněte na odeslat. Uživatelské jméno musí být unikátní, takže je možné, že si nebudete moci zvolit to, které na poprvé chcete. Při zmeně hesla je nutné zadat staré heslo, nové heslo a nové heslo opsat pro kontrolu. Heslo musí obsahovat alespoň jedno písmeno, jedno číslo a musí obsahovat minimálně 6 znaků. Po vyplnění všech tří položek kliněte na tlačítko upravit a heslo se změní. 10.3.2
Změna telefoních čísel
Pro změnu telefonínch čísel vyberte v menu nastavení položku telefonní čísla.
25
Formulář pro změnu telefonního čísla
Ve formuláři vyplňte tolik telefoních čísel, kolik chcete používat, vyberte jedno z původních telefonních čísel pro odeslání ověřovacího sms kódu, opište text z obrázku a klikněte na tlačítko změnit. Následně vám na zvolené číslo příjde sms kód, který opište do kolonky v následujícím formuláři. Také budete muset z bezpečnostních důvodů opět obsat kód z obrázku. Po odeslání formuláře by se měla telefonní čísla změnit. Pokud se tak nestane systém, vás sám obeznámí s chybou.
11
Profesor
Profesor má v systému právo označovat absence za znamenané, a také upravovat záznamy o studentech a zákonných zástupcích a resetovat jejich hesla. Má také možnost zobrazit si absence pro jednotlivé studenty.
11.1
Zaznamenávání absencí
Ihned po přihlášení se jako profesor dostanete na stránku neověřených omluv (nezaznamenaných v třídní knize). Na této stránce lze absence označovat za zaznamenané.
26
Tabulka s nezaznamenanými omluvami
Pro označení absence za zaznamenanou klikněte na tlačítko zaznamenat pro příslušnou omluvu.
11.2
Výpis všech ověřených omluv
Pro výpis všech ověřených omluv vyberte v menu položku "výpis ověřených omluv". V tabulce uvidíte všechny dosavadní zannamenané omluvy pro danou třídu. Výpis může být rozdělen na více stránek, ve kterých můžete listovat ve spodní části.
11.3
Jednotliví studenti
Po kliknutí na položku "jednotliví studenti"vyberte studenta, jehož omluvy chcete zobrazit. Po výběru daného studenta se zobrazí seznam se všemi jeho omluvami.
11.4
Nastavení
Profesor může nastavovat svoje uživatelské jméno, heslo, také může spravovat údaje studentů ve své třídě. 11.4.1
osobní nastavení Osob ní nastavení profesora
27
Pro změnu uživatelského jména napište do kolonky „Nové uživatelské jméno“ uživatelské jméno, na které chcete to staré změnit, a klikněte na odeslat. Uživatelské jméno musí být unikátní, takže je možné, že si nebudete moci zvolit, to které napoprvé chcete. Při zmeně hesla je nutné zadat staré heslo, nové heslo a nové heslo opsat pro kontrolu. Heslo musí obsahovat alespoň jedno písmeno, jedno číslo a musí obsahovat alespoň 6 znaků. Po vyplnění všech tří položek kliněte na tlačítko upravit a heslo se změní. 11.4.2
Nastavení údajů studentů
Pro nastavování záznamů o studentech vyberte v menu nastavení (na levo) položku nastavení studentů. Nastavení záznamů o studentech studentů
Měla by se zobrazit takováto tabulka. V této tabulce je seznam všech studentů ve vaší třídě. Záznamy těchto studentů a jejich zákonných zástupců můžete upravovat, mazat nebo studentům a jejich zákonným zástupcům resetovat heslo. Úprava záznamů studenta Pro upravování údajů studenta vyberte položku upravit v řádku s daným studentem.
28
Úprava údajů studenta
Změnte údaje, které chcete upravovat a klikněte na tlačítko upravit. Odstranění záznamu o studentovi Pro odstranění záznamu studenta a jeho zákoneho zástupce vyberte položku odebrat. Odebrání poté potvrďte. Záznam o studentovi bude odstraněn včetně zákonného zástupce, telefoních čísel i absencí. Resetování hesla Pokud zákonný zástupce nebo student zapomene svoje heslo, lze jeho heslo resetovat (vygeneruje se nové heslo).
29
Dialogové okno pro resetování hesla
Po kliknutí na možnost resetovat heslo se zobrazí okno, k teré se zeptá, zda chcete resetovat heslo zákonnému zástupci nebo studentovi. Po vybrání jedné z možností se v dalším okně oběví nové heslo, které můžete danému uživateli předat. 11.4.3
Přidávání záznamů studentů
Pro přidávání studentů vyberte v menu nastavení položku „Přidat studenty“. Přidávání studentů obsahuje jednoduchý formulář a tabulku. Formulář pro přidávání záznamů o studentech
Pro přidání studenta vyplňte Jméno a Příjmení a zadejte alespoň jedno kontaktní číslo na zákonného zástupce. Systém sám vygeneruje uživatelské 30
Seznam studentů
jméno pro studenta a zákonného zástuce, také vygeneruje náhodné heslo pro oba uživatele. Student se přidá do tabulky pod formulářem. Tisk nově přidaných záznamů o studentech Pro vytištění nových studentských údajů je pod tabulkou možnost tisk. Tímto způsobem lze vytisknout údaje pro zákonné zástupce a studenty a předat jim je. Po vytištění a předání údajů studentům a zákonným zástupcům prosím z bezpečnostních důvodů odstraňte hesla pomocí odkazu „odstranit hesla“ pod formulářem.
12
Administrátor
Administrátor má právo upravovat všechny uživatelské účty celeho systému.
12.1
Třídy/Třídní profesoři
Pokud chcete do systému přidat třídu, musíte vytvořit záznam třídního profesora, tak se zároveň vytvoří záznam o třídě. Pro editaci údajů tříd/třídních profesorů vyberte v menu položku třídní profesoři. 12.1.1
Vytvoření záznamu profesora/třídy
Pro vytvoření záznamu profesora vyplňte formulář a klikněte na přidat. Systém vás bude sám informovat o chybách, pokud nějaká nastane. 12.1.2
Úprava údajů třídních profesorů
Záznamy Třídních profesorů můžete odstraňovat, upravovat nebo jim resetovat hesla. Tyto možnosti najdete v seznamu studentů pod formulářem
31