<?php
require_once('./common_h.php');
require_once('../cfg.php');
require_once('../nacia/class.redExc.php'); // muszę dodawać tę linię, bo nie może też załadować tej klasy wyjątków :?
$path = '../';
try {
$db->setCacheDir('../_cache/');
$www = html::initialize();
try {
$session = new session(); // własna obsługa sesji, może zwrócić wyjątęk, więc lepiej to przechwycić
} catch(redExc $e) {
echo "Nie mogę utworzyć sesji!"; echo $e; die(); // jeżeli nie stworzy sesji to w ogóle nie ma po co dalej działać }
if(isset($_GET['logout'])) { session_destroy(); // jeżeli w adresie jest polecenie wylogowania, to właśnie tutaj to robimy }
$www->setDir('../tpl');
$www->setCdir('../tpl_c');
if(empty($_SESSION['admin'])) { // Sprawdzanie stanu zalogowania if(empty($_POST['login'])) { // Jeżeli nie został wysłany POST, to pokaże formularz $www->assign('logged', false);
}
else {
if($_POST['login'] == 'admin' && $_POST['password'] == 'abc') { // na razie w taki sposób stworzony admin, będzie z bazy
$www->assign('logged', true); // dane się zgadzają, więc zalogowany:)
$_SESSION['admin'] = $_POST['login']; // dodaj do sesji, że zalogowany
header('Location: index.php'); }
else {
$www->assign('logged', false); // złe dane -> formularz do logowania
}
}
$www->setFile('admin.tpl');
$www->show(); // pokaż szablon
} else { // Zalogowany
if($_GET['what'] == 'products') { // rozpoczynamy blok produktów
if($_GET['action'] == 'add') { // dodawanie produktu
if(empty($_POST['name'])) { // nie wysłany post, pokazujemy formularz $www->assign('form', true); // pokaż formularz
$sections = new sections();
$www->assign('sections', $sections->getAll()); // pokazuje wszystkie działy
} // empty(post[name])
else {
$www->assign('form', false); // nie pokazujemy formularza
$prod = new product(); // inicjujemy klasę produktu
try {
$prod->newProduct($_POST['name'], $_POST['descr'], $_POST['count'], $_POST['price'], sections::getByID($_POST['section'])); // tworzymy nowy produkt. może wystąpić wyjątek, a więc łapiemy to :)
$www->assign('success', true); // udało się
} catch (redExc $e){
$www->assign('success', false); // nie udało się
$www->assign('error', $e); // pokazujemy komunikat o błędzie
} // koniec łapania wyjątków
} // else empty(post[name])
} // get[action] == add
elseif($_GET['action'] == 'del') { // usuwanie produktu
if(empty($_GET['id'])) { // jeżeli nie jest podany jaki produkt usunąć $www->assign('list', true); // pokazujemy listę produktów
$products = new products();
$www->assign('prod_list', $products->getAll()); // przekazujemy listę produktów
} // if empty get[id]
else { // wiemy który usunąć
$product = new product($_GET['id']); // tworzymy dany produkt
$www->assign('list', false); // nie pokazujemy listy
try {
$product->deleteProduct(); // skasuj dany produkt
$www->assign('success', true); // udało się
} catch(redExc $e) {
$www->assign('success', false); // nie udało się
$www->assign('error', $e); // pokaż błąd
}
} // else if empty get[id]
} // elseif get[action] == del
} // get[what] == products
elseif($_GET['what'] == 'sections') { // blok działów
if($_GET['action'] == 'add') { // dodajemy dział
if(empty($_POST['name'])) { // nie przekazano nazwy $www->assign('form', true); //po prostu pokazujemy formularz
} // empty(post[name])
else {
$www->assign('form', false); // nie ma formularza
$sections = new sections();
try {
$sections->newSection($_POST['name']); // tworzymy nowy dział z podaną nazwą
$www->assign('success', true); // udało się
} catch (redExc $e){
$www->assign('success', false);// nie udało się
$www->assign('error', $e); // przekazujemy błąd
}
} // else empty(post[name])
} // if get[action] == add
elseif($_GET['action'] == 'del') { // usuwamy dział
if(empty($_GET['id'])) { // nie pokazano który $www->assign('list', true); // pokazujemy listę
$sections = new sections(); // tworzymy działy
$www->assign('sec_list', $sections->getAll()); // przekazujemy listę działów
} // if empty get[id]
else {
$www->assign('list', false); // nie pokazujemy listy
try {
$sections = new sections(); // tworzymy działy
$sections->delete($_GET['id']); // usuwamy podany dział
$www->assign('success', true); // udało się
} catch(redExc $e) {
$www->assign('success', false); // nie udało się
$www->assign('error', $e); // przekazujemy błąd
}
} // else if empty get[id]
}
} // elseif get[what] == sections
elseif($_GET['what'] == 'info') { // blok informacyjny
if($_GET['action'] == 'add') { // dodajemy informację
if(empty($_POST['info'])) { $www->assign('form', true); // pokazujemy formularz
} else {
try {
$info = new info_add($_POST['where'], $_POST['info']); //dodajemy
$www->assign('success', true); // udało się
} catch(redExc $e) {
$www->assign('success', false); // nie udało się
$www->assign('error', $e); // przekazujemy błąd
}
}
} // koniec bloku dodawania
elseif($_GET['action'] == 'del') { // rozpoczynamy blok kasowania
if(empty($_GET['id'])) { // nie pokazano który $www->assign('list', true); // pokazujemy listę
$info = new info_del(); // tworzymy działy
$www->assign('info_list', $info->getAll()); // przekazujemy listę informacji
} // if empty get[id]
else {
$www->assign('list', false); // nie pokazujemy listy
try {
$info = new info_del(); // tworzymy informacje
$info->delete($_GET['id']); // usuwamy podaną informację
$www->assign('success', true); // udało się
} catch(redExc $e) {
$www->assign('success', false); // nie udało się
$www->assign('error', $e); // przekazujemy błąd
}
} // else if empty get[id]
} // koniec bloku usuwania
}
// CONST
$www->assign('trace_where',$_GET['what']);
$www->assign('trace_action', $_GET['action']);
$www->assign('logged', true);
$www->assign('user', $_SESSION['admin']);
$www->setFile('admin.tpl');
if(empty($_GET['what'])) { $_GET['what'] = 'info';
}
$www->assign('what', 'adm_'.$_GET['what'].'_'.$_GET['action'].'.tpl');
$www->show();
// CONST END
}
} catch(redExc $e) {
} catch(Exception $e) {
}
?>