-
Notifications
You must be signed in to change notification settings - Fork 0
/
addBeacon.php
138 lines (110 loc) · 3.51 KB
/
addBeacon.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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// define variables and set to empty values
$major = $minor = 0;
$name = "";
$latBeacon = $lonBeacon = 0.000000;
$majorErr = $minorErr = $nameErr = $latBeaconErr = $lonBeaconErr = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["major"])) {
$majorErr = "Major is required";
} else {
$major = test_input($_POST["major"]);
}
if (empty($_POST["minor"])) {
$minorErr = "Minor is required";
} else {
$minor = test_input($_POST["minor"]);
}
if (empty($_POST["latBeacon"])) {
$latBeaconErr = "latBeacon is required";
} else {
$latBeacon = test_input($_POST["latBeacon"]);
}
if (empty($_POST["lonBeacon"])) {
$lonBeaconErr = "lonBeacon is required";
} else {
$lonBeacon = test_input($_POST["lonBeacon"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>Add Beacon</h2>
<p>
<h5> Insert the values for the Beacon that you want to insert in the Web Server: </h5>
<p>
<form method="post" action="<?php echo htmlspecialchars("/addBeacon");?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?>
* Required Fields</span>
<br><br>
Major: <input type="number" min = 1 name="major">
<span class="error">* <?php echo $majorErr;?></span>
<br><br>
Minor: <input type="number" min = 1 name="minor">
<span class="error">* <?php echo $minorErr;?></span>
<br><br>
Latitude ° : <input type="number" min = -90 max = 90 step="0.000001" name="latBeacon">
<span class="error">* <?php echo $latBeaconErr;?></span>
<br><br>
Longitude ° : <input type="number" min = -180 max = 180 step="0.000001" name="lonBeacon">
<span class="error">* <?php echo $lonBeaconErr;?></span>
<br><br>
<input type="submit" class="button"
name="add_beacon" value="Add Beacon">
</form>
<?php
use GuzzleHttp\Psr7;
use GuzzleHttp\Exception\RequestException;
if (isset($_POST['add_beacon'])) {
// Instantiates a new guzzle client.
$client = new GuzzleHttp\Client();
try {
// Send POST request to our server with the JSON beacon
$response = $client->request('POST', 'http://amaca.ga:8080/beacon',
['json' =>
[
"major" => intval($major),
"minor" => intval($minor),
"name" => $name,
"latBeacon" => floatval($latBeacon),
"lonBeacon" => floatval($lonBeacon)
]
]);
$body = $response->getBody();
if($body) {
$done = "<p> <h3> The Beacon $name is successfully added to the server!</h2>";
echo $done;
}
} catch (RequestException $e) {
echo Psr7\str($e->getRequest());
if ($e->hasResponse()) {
echo Psr7\str($e->getResponse());
}
}
}
?>
</body>
</html>