Repository navigation
Expand file tree
/
Copy pathtogglebaker.php
More file actions
82 lines (63 loc) · 2.17 KB
/
Copy pathtogglebaker.php
File metadata and controls
82 lines (63 loc) · 2.17 KB
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
<?php
$debug = false;
require("include/config.inc.php");
require("include/classes/db/db.php");
date_default_timezone_set("Europe/Amsterdam");
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Connection received from ' . $_SERVER['REMOTE_ADDR']); }
if(isset($_GET['token']) || isset($_GET['user']) || isset($_GET['state'])) {
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Everything set for ' . $_SERVER['REMOTE_ADDR']); }
$token = $_GET['token'];
$user = $_GET['user'];
$state = $_GET['state'];
$ip = $_SERVER['REMOTE_ADDR'];
$currentstate = getState();
if($currentstate[0]->state === $state) {
echo "ALLREADY TOGGLED TO THIS STATE";
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Allready toggled to ' . $state . ' for client : ' .$_SERVER['REMOTE_ADDR']); }
} else {
$toggler = findToggler($token);
if($toggler[0]->ip == $ip) {
switch($state) {
case "open":
setState($user,$toggler[0]->method,"open");
echo "SUCCESS";
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Space is now open ' . $_SERVER['REMOTE_ADDR']); }
break;
case "closed":
setState($user,$toggler[0]->method,"closed");
echo "SUCCESS";
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Space is now closed ' . $_SERVER['REMOTE_ADDR']); }
break;
default:
header('Location: https://www.pixelbar.nl/');
break;
}
} else {
header('Location: https://www.pixelbar.nl/');
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Invalid Toggle from ' . $_SERVER['REMOTE_ADDR']); }
}
}
} else {
header('Location: https://www.pixelbar.nl/');
if($debug == true) { syslog(LOG_INFO, 'togglestate.php Not all variables set from ' . $_SERVER['REMOTE_ADDR']); }
}
function getState() {
$db = DB::get();
$state = $db->query("SELECT state FROM state ORDER BY id DESC LIMIT 1");
return $state;
}
function findToggler($token) {
$db = DB::get();
$toggler = $db->query("SELECT * FROM tokens WHERE token = '$token'");
return $toggler;
}
function setState($user,$method,$state) {
$db = DB::get();
$insert = array(
"state" => $state,
"user" => $user,
"method" => $method,
);
$db->insert("state", $insert);
}
?>