/
handler.php
110 lines (90 loc) · 2.81 KB
/
handler.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
session_start();
// Stop any calls not from the main page.
if (empty($_REQUEST)) {
header("Location: ./");
exit;
}
// Load PageManagement Class.
require_once 'lib/pm.php';
// Create a new PageManagement instance.
$pm = new PageManagement();
// Handle which function gets called.
switch ($_REQUEST['func']) {
case 'post':
// Make sure you're not trying to create when you want to update.
if (!empty($_POST['id'])) {
$_REQUEST['func'] = 'update';
// break;
} else {
unset($_POST['func']);
$id = $pm->postNewContent($_POST);
if ($id) {
$message = "Content create.";
} else {
$message = "Content NOT created. Try again in a few minutes.";
}
echo json_encode(array("id" => $id, "message" => $message));
break;
}
case 'update':
unset($_POST['func']);
$id = $pm->updateContent($_POST);
if ($id) {
$message = "Content updated.";
} else {
$message = "Content NOT updated. Try again in a few minutes.";
}
echo json_encode(array("id" => $id, "message" => $message));
break;
case 'delete':
unset($_POST['func']);
if ($pm->deleteContent((int)$_POST['id'])) {
$message = "Content deleted.";
$pass = true;
} else {
$message = "Content NOT deleted. Try again in a few minutes.";
$pass = false;
}
echo json_encode(array("pass" => $pass, "message" => $message));
break;
case 'menu':
if ($_GET) {
echo $pm->buildMenu();
break;
}
unset($_POST['func']);
if ($pm->updateMenu($_POST['data'])) {
$message = "Menu order updated.";
} else {
$message = "Menu order NOT updated. Try again in a few minutes.";
}
echo json_encode(array("message" => $message));
break;
case 'login':
unset($_POST['func']);
echo (string)$pm->login($_POST['password']);
if ($pm->login($_POST['password'])) {
$_SESSION['l_o_g_g_e_d__i_n'] = true;
} else {
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}
// Finally, destroy the session.
session_destroy();
}
break;
case 'load':
$item = $pm->loadContent($_GET['id']);
if ($item) {
$message = "Content loaded.";
} else {
$message = "Content NOT loaded. Try again in a few minutes.";
}
echo json_encode(array('item' => $item, 'message' => $message));
break;
}