//Proste zapytania do bazy danych
class PageData
{
function findPage()
{
return $GLOBALS['baza_xml'] -> page;
}
function findPageMenu($numberPage, $numberMenu)
{
return $GLOBALS['baza_xml'] -> page[$numberPage] -> menu[$numberMenu];
}
function findCountPage() //Funkcja pobiera ilość stron
{
return count($GLOBALS['baza_xml'] -> page); }
function findCountSubPage($numberPage) //Funkcja pobiera ilość podstron
{
return count($GLOBALS['baza_xml'] -> page[$numberPage] -> subpage); }
function findPageText($numberPage, $numberP) //Funkcja pobiera tekst ze strony
{
return $GLOBALS['baza_xml'] -> page[$numberPage] -> conent -> p[$numberP];
}
function findSubpageText($numberPage, $numberSubpage, $numberP) //Funkcja pobiera tekst z podstrony
{
return $GLOBALS['baza_xml'] -> page[$numberPage] -> subpage[$numberSubpage] -> conent -> p[$numberP];
}
function findPageImg($numberPage, $numberImg) //Funkcja pobiera obrazek ze strony
{
return $GLOBALS['baza_xml'] -> page[$numberPage] -> conent -> img[$numberImg];
}
function findSubpageImg($numberPage, $numberSubpage, $numberImg) //Funkcja pobiera obrazek z podstrony
{
return $GLOBALS['baza_xml'] -> page[$numberPage] -> subpage[$numberSubpage] -> conent -> img[$numberImg];
}
}
//controller, wszystkie funkcje w klasie zostały stworzone na podstawie zapytań z klasy PageData
class PageController
{
private $a; //Nazwa ścieżki dostępu jest kluczem w bazie "baza_xml".
private $topMenu;
private $bottomMenu;
private $text; //Tekst
private $img; //Zdjęcia
private $title; //tytuł
private $subpage; //temat
private $admission; //wstep
private $countPage; //liczba stron
private $countSubpage; //liczba podstron
private $data; //obiekt klasy DataPage (dane)
private $bottonHeading; //pod nagłówek, tablica
private $topic;
public function __construct()
{
$this -> data = new PageData(); //Utworzenie obiektu DataPage
$this -> setA(); //Ustawienie klucza do bazy danych
$this -> setText();
$this -> setTopic();
$this -> setTitle();
$this -> setBottomMenu();
$this -> setTopMenu();
$this -> setAdmission();
}
public function setA() //Funkcja ustawia scieżkę dostępu
{
$this -> a = $_SERVER["PHP_SELF"];
$this -> a = substr($this -> a, 1
); }
public function getA() //Funkcja zwraca ścieżkę dostępu
{
return $this -> a;
}
public function setText() //Funkcja Ustawia tekst
{
for($numberPage = 0; $numberPage < $this -> data -> findCountPage(); ++$numberPage) //Pętla przegląda strony
{
if($this -> data -> findPageA($numberPage) == $this -> getA())
for($numberP = 0; $this -> data -> findPageText($numberPage, $numberP); ++$numberP)
$this -> text[] = $this -> data -> findPageText($numberPage, $numberP);
else
for($numberSubpage = 0; $numberSubpage < $this -> data -> findCountSubPage($numberPage); ++$numberSubpage) //Pętla przegląda podstrony
if($this -> data -> findSubpageA($numberPage, $numberSubpage) == $this -> getA())
for($numberP2 = 0; $this -> data -> findSubpageText($numberPage, $numberSubpage, $numberP2); ++$numberP2)
$this -> text[] = $this -> data -> findSubpageText($numberPage, $numberSubpage, $numberP2);
}
}
public function getText()
{
return $this -> text;
}
public function setImg()
{
for($numberPage = 0; $numberPage < $this -> data -> findCountPage(); ++$numberPage) //Przeglądamy wszystkie strony
{
if($this -> data -> findPageA($numberPage) == $this -> getA())
for($numberImg = 0; $this -> data -> findPageImg($numberPage, $numberImg); ++$numberImg)
$this -> img[] = $this -> data -> findPageImg($numberPage, $numberImg);
else //pod strona
for($numberSubpage = 0; $numberSubpage < $this -> data -> findCountSubPage($numberPage); ++$numberSubpage)
if($this -> data -> findSubpageA($numberPage, $numberSubpage) == $this -> getA())
for($numberImg = 0; $this -> data -> findSubpageImg($numberPage, $numberSubpage, $numberImg); ++$numberImg)
$this -> img[] = $this -> data -> findSubpageImg($numberPage, $numberSubpage, $numberImg);
}
}
public function getImg()
{
return $this -> img;
}
}
//Klasa odpowiedzialna za wyświetlenie informacji
class PageView
{
private $pageView;
public function __construct()
{
$this -> pageView = new PageController();
}
public function viewText()
{
foreach($this -> pageView -> getText() as $table)
echo '<p>'.$table.'</p>'; }
public function viewImg() //nie dokończone, chyba do usunięcia
{
foreach($this -> pageView -> getImg() as $table)
}
}