Tehniline kirjledus

Allikas: ArveWiki

Sisukord

Kirjeldus

Programm veebipõhine keskkond, mis on loodud kui spetsiifiline programm autokooli infosüsteemiks. Programm on ligi pääsetav kõikjal, kus on internetiühendus ning kaasaegne veebibrauser javascripti toega. Parima kasutusmugavuse saamiseks on soovitatav kasutada Internet Explorer 7, Firefox 2 või Opera 9 brausereid. Olenevalt konfiguratsioonist on vajalik ID-kaardi lugeja. Programm on ligipääsetav ID-kaardiga või kasutajatunnuse ja parooliga, kusjuures ID-kaardiga sisselogimisel tuvastatakse esmalt kasutaja juurserveris ning positiivse vastuse saamisel viiakse kasutaja isikukood vastavusse Programmi andmebaasis oleva isikukoodiga. Kasutajatunnuse ja parooliga sisselogimisel võrreldakse kasutajatunnust ning parooli hashe (SHA1) andmebaasi kasutajatunnuste ning hashidega.

Nõuded

Programmile vajaliku tarkvara kirjeldus

Operatsioonisüsteem

Programm on mõeldud töötama UNIXi põhisel ning LAMP lahendusega serveril.

Apache

Programm töötab Apache 2.2.x versioonil, võimalik, et töötab ka Apache <2.2.x, kuid soovitav on mitte kasutada Apache 1.x versiooni.

MySQL

Programm on mõeldud töötama ainult MySQL 5.x> versiooniga, soovitavalt võimalikult uue MySQL 5.0.x versiooniga. MySQL 5.x versioon on vajalik, kuna Programm kasutab vaateid (VIEWS), alampäringuid jms funktsioone, mis puuduvad MySQL <5.x versioonides.

PHP

Programm on mõeldud töötama ainult PHP 5.x> versiooniga, soovitavalt võimalikult uue PHP 5.2.x versiooniga. PHP 5.x versioon on vajalik, kuna Programm kasutab objekt-orienteeritust ja funktsioone, mis on kasutusel vaid PHP 5.x> versioonides.

FPDF

Programmi oluliseks funktsiooniks on PDF failide genereerimine, milleks on vajalik FPDF nimeline skript, mille ülesandeks on PDF failide ettevalmistamine Kasutajale allalaadimiseks.

Smarty Template Engine

Smarty Template Engine on PHP põhine HTML’I ette valmistamise vabalt allalaetav tarkvara.

Init

Init faili eesmärgiks on edaspidi välja kutsuda vajalikud failid lehe loomiseks ning ette valmistada kasutatav info.

  • Välja kutsuda fail config.DOMAIN.php kus on domeenipõhised seadistused.
  • Analüüsida ning töödelda $_GET ning $_POST muutujad, vajadusel teavitada rünnakust.
  • Välja kutsuda Smarty klass.
  • Juhul kui kasutaja valitud alammooduli jaoks on loodud eriklass, kutsuda see välja, vastasel korral kutsuda välja domeenipõhine klass „main_domain“, mõlemad asuvad kaustas PATH.fclasses.DOMAIN.
  • Toimetada süsteemis kasutatavate keelte ning valuutadega, defineerida sel hetkel kasutatav (kasutaja poolt defineeritud või vaikimisi).
  • Juhul kui kasutaja on soovinud csv või pdf väljatrükki, kutsuda välja need failid.
  • Kutsuda välja domeeni kasutatav header fail kaustast PATH.ftemplates.DOMAIN.
  • Juhul kui kasutaja on soovinud tavalist alammooduli vaadet, kutsuda välja alammooduli fail kaustast PATH.fmodules.DOMAIN.
  • Kutsuda välja domeeni kasutatav footer fail kaustast PATH.ftemplates.DOMAIN.
  • Kasutajainfo serialiseerimine.

Config

Iga domeeni config fail asub kaustas PATH.finit. Iga domeeni jaoks on oma config fail nimega config.DOMAIN.php. Config failis kindlasti defineeritavad muutujad:

  • DEFAULT_CURRENCY_ID – näitab ära vaikimisi kasutatava keele ID.
  • DEFAULT_CURRENCY_NAME – rahvusvaheline lühend, mida keel kasutab.
  • DEFAULT_CURRENCY_SHORT – üldine lühend, mida keel kasutab.
  • DEFAULT_CURRENCY_VALUE – väärtus võrreldes euroga.
  • DEFAULT_LANGUAGE_ID – vaikimisi keele ID.
  • DEFAULT_LANGUAGE – vaikimisi keel.
  • DEFAULT_LANGUAGE_SHORT – lühend vaikimisi keelel.
  • DATE_FORMAT – kuupäevaformaat.
  • TIME_FORMAT – kellaaja formaat.
  • TABLE_CACHE_TIME – vaikimisi cache’i kestvus.
  • DEBUG – TRUE/FALSE, kas näidata erinevat statistikat lehe genereerimise kohta, päringute mittetoimimise kohta jne. Mõjutab ainult administraatorist kasutajaid.
  • LOGGING – TRUE/FALSE, kas süsteemis toimub logimist.
  • LOGDB – andmetabel, millest logitav info võtta.
  • LOGID – juhul kui otsitav info on ID kujul, siis selle nimetus.
  • LOGVAL – väärtus, mis võtta vastavalt ID-le andmetabelist.
  • CLASSES – kõik eriklassid, mida domeen kasutab.
  • SMARTY_CLASS – kus asub kasutatav Smarty klass.
  • TEMPLATE_DIR – Smarty template’ide kaust.
  • COMPILE_DIR – Smarty kompileerimise kaust.
  • CACHE_DIR – Smarty cache’i kaust.
  • CONFIG_DIR – Smarty config kaust.
  • ADMIN_MAIL – administraatori meiliaadress, kuhu saadetakse näiteks häkkimisteated jms.
  • TEMPLATE_HEADER – header faili asukoht domeenile.
  • TEMPLATE_FOORT – footer faili asukoht domeenile.
  • DB_HOSTNAME – andmebaasi aadress.
  • DB_USERNAME – kasutajanimi andmebaasile.
  • DB_PASSWORD – parool andmebaasile.
  • DB_DATABASE – kasutatav andmebaas.

Klass mysql

Klassi eesmärgiks on:

  • Andmebaasiühenduse loomine.
  • Päringute eeltöötlemine, läbi viimine ning järeltöötlemine.
  • Cache’iga tegelemine.
  • Logimise läbiviimine.

Klass main

Klassi eesmärgiks on:

  • Sisselogimise kontroll ja läbiviimine.
  • Menüüde koostamine.
  • Ligipääsuõiguste reguleerimine.
  • Vaikimisi lisamise, muutmise ja kustutamise läbiviimine.

Alammooduli eriklass

Alammooduli eriklass koondab endasse funktsioone, mis võivad erineda klassides „main“ ja „main_domain“ olevatest ning kirjutab need vajadusel üle. Reeglina kirjutatakse üle lisamise, muutmise või kustutamise funktsioonid klassist „main“. Alammooduli eriklassid asuvad kaustas PATH.fclasses.DOMAIN.

Alammoodul

Alammoodul on fail, mis asub kaustas PATH.fmodules.DOMAIN ning mis koondab endas alammooduli visuaalse poole ettevalmistamist – tabeli koostamiseks vajalike päringu läbiviimist, andmete formaatimist, lisamises/muutmise vormi ettevalmistamist jne. Alammooduli fail määrab muutujad ning kutsub välja template faili.

Template

Domeeni template failid asuvad kaustas PATH.ftemplates.DOMAIN, template süsteem on üles ehitatud vabavaralisele Smarty template süsteemile.

Personaalsed tööriistad