System posiada możliwość pracy za innym rozszerzeniu uznawanym za plik ze skryptem PHP. Rozszerzenie (bez kropki) jest zawarte w zmiennej “$phpExt” i odwołania do plików należy konstruować w sposób:
"modules.".$phpExt
co jest równoznaczne z zapisem
modules.php
Skrypt posiada funkcje automatycznie dzielące wpisy na strony i wyświetlający łącza do przechodzenia pomiędzy nimi (łącza pojawiają się jeżeli z podziału wynika że jest więcej niż jedna strona).
Funkcja dzieląca dane na strony:
echo PageSplit(p1,p2,p3,p4);
p1 – url do którego należy przejść. System automatycznie doda zmienne potrzebne do orientowania się która to strona z podziału
p2 – ilość wpisów która ma być pokazywana na jednej stronie
p3 – suma wpisów uzyskanych w wyniku zapytania do bazy
p4 – obecny wpis początkowy od którego należy zacząć wyświetlanie
Przykład podziału
echo
PageSplit("modules.{$phpExt}?name=module",$SiteConfig["GuestBookPage"],$Rows,$start)
Warstwa abstrakcji SQL zawiera już przetworzone dane w postaci tablicy indeksowanej liczbami i nie trzeba przetwarzać wyników. Aby wykonać zapytanie do bazy (wykonać pytanie i pobrać jego wyniki) należy użyć konstrukcji:
$sql = "SELECT * FROM ".$DBTablePrefix."guestbook ORDER BY id DESC";
<>if(!$DragonDBKernel -> query($sql))$Result = $DragonDBKernel -> fetch_array();
$Rows = $DragonDBKernel -> fetch_num_array();
W zmiennej “$Result” jest tablica asosjacyjna z wynikami zapytania, W zmiennej “$Rows” jest ilość otrzymanych rekordów.
Zmienna “$DragonDBKernel” to klasa która jest odpowiedzialna za wykonanie zapytania.
Wywołanie funkcji:
EchoWarning("DE", "Can not exec query",__FILE__,__LINE__,$sql);
to pokazanie błędu jeżeli pytanie nie zostanie wykonane poprawnie.
W zmiennej “$DBTablePrefix” jest zawarty prefix
tabelki w bazie danych.
Plikiem zawierającym dane potrzebne do konfiguracji jest plik db_config.php z katalogu głównego systemu.
$DragonKernelMode = "MySQL"; // rodzaj sterowników dla bazy danych
$DragonDBHost = "localhost"; // host z bazą
$DragonDBName = "public_1_1_0"; // nazwa bazy
$DragonDBUser = "root"; // login użytkownika do bazy
$DragonDBPassword = ""; // hasło do bazy
$DBTablePrefix = "pbdcms_"; // prefix tabelek w bazie
System tworzy datę na podstawie znacznika czasu i ustala jej wygląd i czas lokalny na podstawie podanej strefy czasowej.
echo GetMyFormatedDate(“p1”,”p2”,”p3”);
p1 – format dany zgodny z funkcją date();
p2 – strefa czasowa w zapise + lub – godzina, np.: +1
p3 – znacznik czasu
Przykład formatowania daty
echo
GetMyFormatedDate($SesDateFormat,$SesTimePlace,$Result[$a]["date_in"]);
"METODA_WYSŁANIA",
"ADRES_ZE_SKRYPTEM",
"CZY_FORMULARZ_BĘDZIE_PRZESYŁAŁ_INNE_DANE_NIŻ_TEKST"
);
Następnie deklarujemy pola formularza w tablicy
$FormFields[] = array();
Wywołujemy funkcje tworzącą pola na podstawie przekazanej tablicy
$NewForm->CreateField($FormFields);
Zamykamy tworzenie formularza
$NewForm->StopForm();
Zapewne fragment “Następnie deklarujemy pola formularza w tablicy” nie jest zbyt jasny i nie podałem jego składni. Deklaracja pól polega na stworzeniu tablicy wielowymiarowej. Każdy element to jedno pole a w drugim wymiarze tablicy deklarujemy rodzaj pola i jego właściwości. Pola i ich deklaracja zostały opisana poniżej według typu pól formularzy HTML.
$FormFields[] = array(
"INPUT",
"klasa_komórki_napisu",
"napis",
"czy_wymagane",
"klasa_komórki_pola",
"nazwa_pola",
"typ_input (input,button,hidden)",
"wartość_pola",
"szerokość_w_html",
"szerokość_w_px",
"klasa_pola_input"
);
"TEXTAREA",
"klasa_komórki_napisu",
"napis",
"czy_wymagane",
"klasa_komórki_pola",
"nazwa_pola",
"ilość_znaków (COLS)",
"ilość_wierszy (ROWS)",
"klasa_pola_textarea",
"wartość_pola"
);
Deklaracja listy:
$FormFields[] = array(
"SELECT",
"clasa_komórki_napisu",
"napis" ,
"czy_wymagane",
"klasa_komórki_pola",
"nazwa_pola ",
"$tablica_z_option",
"klasa_pola_select"
);
Deklaracja elementu:
$tablica_z_option [] = array(
"wartość_option",
"czy_wybrane(selected)",
"napis_w_option"
);
Deklaracja listy:
$FormFields[] = array(
"RADIO",
"klasa_komórki_napisu",
"napis" ,
"czy_wymagane",
"klasa_komórki_pola",
"nazwa_pola",
"$tablica_z_radiolist");
Deklaracja elementu:
$tablica_z_radiolist [] = array(
"nazwa_pola",
"wartość_pola",
"czy_wymagane",
"klasa_pola_radio",
"napis"
);
Definicja pola:
$FormFields[] = array(
"CHECKBOX",
"klasa_komórki_napisu",
"napis",
"czy_wymagane",
"klasa_pola",
"nazwa_pola",
"$tablica_z_chckboxlist"
);
Deklaracja elementu listy:
$tablica_z_chckboxlist [] = array(
"nazwa_pola",
"wartość_pola",
"czy_zaznaczone",
"klasa_pola_checkbox",
"napis"
);
Pole pozwalające na dodanie dowolne zawartości w środku formularza.
$FormFields[] = array(
"MYFIELD",
"klasa_pola",
"napis"
);
System automatycznie tworzy stopkę pozwalającą na jego wysłanie i wyczyszczenie.
$FormFields[] = array(
"FOOTFORM",
"klasa_komórki_napisu",
"napis_na_przycisku_reset",
"napis_na_przycisku_submit",
"klasa_przycisku_reset",
"klasa_przycisku_submit"
);