-
Notifications
You must be signed in to change notification settings - Fork 0
/
feedback.php
97 lines (92 loc) · 2.27 KB
/
feedback.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
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
require_once "config/config.php"; // config db, etc
require_once "lib/error.php"; // error
require_once "lib/feedback_data.php"; // feedback data
// mysql
$db = new mysqli($config['dbhost'], $config['dbuser'], $config['dbpassword'], $config['dbname']);
if ($db->connect_error)
{
// log error
if($config['log'] > 0)
{
append_file("log/api.txt","\n".date(DATE_RFC822)." \t error \t db connect_error \t main()");
}
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo return_error();
}
else
{
if(isset($_GET['token']))
{
$token = $db->real_escape_string($_GET['token']);
if($token == "new")
{
echo return_new_token($db);
}
else
{
// illegal token
header($_SERVER["SERVER_PROTOCOL"]." 451 Unavailable For Legal Reasons");
echo return_error_unknown_key($token);
return;
}
}
else if (isset($_POST['token']))
{
$token = $db->real_escape_string($_POST['token']);
if(validate_key($db,$token))
{
if(isset($_POST['subject']))
{
if(isset($_POST['message']))
{
$subject = $db->real_escape_string($_POST['subject']);
$message = $db->real_escape_string($_POST['message']);
if(save_feedback($db,$subject,$message,$token))
{
echo json_encode(array('OK' => array('code' => 'save','info' => 'Message saved',),));
return;
}
else
{
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo return_error_feedback_faild();
}
}
else
{
// illegal message
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo return_error_illegal_feedback("message");
return;
}
}
else
{
// illegal subject
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo return_error_illegal_feedback("subject");
return;
}
}
else
{
// illegal token
header($_SERVER["SERVER_PROTOCOL"]." 451 Unavailable For Legal Reasons");
echo return_error_unknown_key($token);
return;
}
}
else
{
// no token
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo return_error_unknown_request();
return;
}
$db->close();
} // $db
?>