Files
code-cegled/_class/class_page.php
2016-12-17 22:33:33 +01:00

247 lines
5.8 KiB
PHP
Executable File

<?php
/*
PAGE CLASS
url alapjan lekeri a template-et
http://badmintoncoach.hu/PAGE/SUBPAGE/ID
*/
class page {
private $page = null;
private $subpage = null;
private $id = null;
function __construct() {
if (isset($_GET['page'])) $this->set_page($_GET['page']);
if (isset($_GET['subpage'])) $this->set_subpage($_GET['subpage']);
if (isset($_GET['id'])) $this->set_id($_GET['id']);
}
public function get_page_nav() {
global $smarty, $sql;
//nem kell if, hanem page alapján beillesztük az id-t
if ($this->get_page() == 'admin') {
$menus_query = "SELECT * FROM subpage WHERE spage_page_id = 1;";
$menu_assoc_array = $sql->assoc_array($menus_query);
$smarty->assign('menus', $menu_assoc_array);
}
elseif ($this->get_page() == 'view') {
$menus_query = "SELECT * FROM subpage WHERE spage_page_id = 2;";
$menu_assoc_array = $sql->assoc_array($menus_query);
$smarty->assign('menus', $menu_assoc_array);
}
$smarty->assign('page', $this->get_page());
$smarty->display('nav.tpl');
}
public function get_page_content() {
global $sql, $user, $smarty;
//var_dump($user);
ini_set('include_path', '_include/');
//ini_set('include_path', '/var/www/badminton_coach/_include');
if (!empty($user) && $user->is_logged_in()) {
if ($this->is_page()) {
//TODO: mi van ha nincs page? átirányítás v 404?
//page alapján betölti a tpl-t
switch ($this->get_page()) {
case 'admin':
# ADMIN OLDALAK
switch ($this->get_subpage()) {
case 'members':
# TAGOK KEZELÉSE
$tpl = "edit";
include('include_members.php');
break;
case 'edit_member':
# TAG SZERKESZTÉSE
$tpl = "edit";
include('include_members.php');
break;
case 'delete_member':
# TAG TÖRLÉSE
# TODO: error kezelés
include('include_delete_member.php');
break;
case 'delete_parent':
# SZÜLŐ TÖRLÉSE
# TODO: error kezelés
include('include_delete_parent.php');
break;
case 'parents':
# SZÜLŐK SZERKESZTÉSE
include('include_parents.php');
break;
case 'coaches':
# EDZŐK SZERKESZTÉSE
include('include_coaches.php');
break;
case 'trainings':
# EDZÉSEK
# itt az edzések listája jelenik meg az aktuális hónapban
$tpl = "edit";
include('include_trainings.php');
break;
case 'shirts':
# PÓLÓK
include('include_shirts.php');
break;
case 'cities':
# PÓLÓK
include('include_cities.php');
break;
case 'edit_training':
# TAG SZERKESZTÉSE
$tpl = "edit";
include('include_trainings.php');
break;
case 'delete_training':
# EDZÉS TÖRLÉS
include('include_delete_training.php');
break;
case 'create':
# LÉTREHOZÓS OLDALAK
include('include_create.php');
break;
case 'presence':
# JELENLÉT
$tpl = "presence";
include('include_presence.php');
break;
case 'schools':
# ISKOLÁK
include('include_schools.php');
break;
case 'training_types':
# EDZÉS TÍPUSOK
include('include_training_types.php');
break;
case 'regions':
# DIÁKOLIMPIA KÖRZETEK
include('include_regions.php');
break;
case 'lock_training':
# EDZÉS ZÁROLÁS, FELOLDÁS
include('include_lock_training.php');
break;
case 'delete_training_type':
# EDZÉS TÍPUS TÖRLÉS
include('include_delete_training_type.php');
break;
case 'delete_coach':
# EDZŐ TÖRLÉS
include('include_delete_coach.php');
break;
case 'delete_shirt':
# PÓLÓ TÖRLÉS
include('include_delete_shirt.php');
break;
case 'delete_city':
# VÁROS TÖRLÉS
include('include_delete_city.php');
break;
case 'delete_region':
# KÖRZET TÖRLÉS
include('include_delete_region.php');
break;
case 'delete_school':
# ISKOLA TÖRLÉS
include('include_delete_school.php');
break;
case 'logout':
# kijelentkezés
$from = "coach";
include('include_logout.php');
break;
default:
# code...
break;
}
break;
case 'ajax':
if ($this->is_subpage()) {
include('ajax/'.$this->get_subpage());
}
break;
case 'view':
# SZÜLŐ FELÜLET
switch ($this->get_subpage()) {
case 'logout':
# kijelentkezés
$from = "parent";
include('include_logout.php');
break;
case 'overview':
# áttekintő oldal adatokkal
include('include_overview.php');
break;
case 'diary':
# napló, edzéslista
include('include_diary.php');
break;
default:
include('include_overview.php');
break;
}
break;
default:
# code...
break;
}
}
}
else {
//nincs bejelentkezve
$smarty->display("login.tpl");
}
}
private function set_page($_page) {
$this->page = $_page;
}
private function set_subpage($_subpage) {
$this->subpage = $_subpage;
}
private function set_id($_id) {
$this->id = $_id;
}
public function get_page() {
return $this->page;
}
public function get_subpage() {
return $this->subpage;
}
public function get_id() {
return $this->id;
}
public function is_page() {
return !empty($this->page);
}
public function is_subpage() {
return !empty($this->subpage);
}
public function is_id() {
return !empty($this->id);
}
}
?>