-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
72 lines (65 loc) · 1.51 KB
/
index.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
<?php
require __DIR__ . '/vendor/autoload.php';
use Dotenv\Dotenv,
AliceZontProxy\ZontClient;
try
{
if (file_exists(__DIR__.'/.env'))
{
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();
}
}
catch(Throwble $e)
{
}
if (!isset($_REQUEST['secret']) && $_REQUEST['secret'] != getenv('SECRET'))
{
header('HTTP/1.0 403 Forbidden');
die('Forbidden');
}
$zontClient = new ZontClient(
getenv('ZONT_API_URL'),
getenv('ZONT_LOGIN'),
getenv('ZONT_PASSWORD'),
getenv('ZONT_EMAIL'),
getenv('DEVICE_ID'),
getenv('DEBUG') == "true" ? true : false
);
$payload = json_decode(file_get_contents("php://input"), true) ?: [];
if (count($payload) && isset($payload['value']))
{
switch (intval($payload['value']))
{
//Открыть машину
case 1:
$zontClient->setGuardState(false);
break;
//Закрыть машину
case 2:
$zontClient->setGuardState(true);
break;
//Завести машину
case 3:
$zontClient->setEngineState(true);
break;
//Заглушить машину
case 4:
$zontClient->setEngineState(false);
break;
//Логируем на всякий случай неизвестные значения
default:
$tempFile = fopen(__DIR__ . '/log/alice_zont_unknown_values_log.log', 'a');
fwrite(
$tempFile,
__FILE__ . ':' . __LINE__ . PHP_EOL . '(' . date('Y-m-d H:i:s').')' . PHP_EOL
. print_r($payload, TRUE)
. PHP_EOL . PHP_EOL
);
fclose($tempFile);
}
}
else
{
echo json_encode(['healthcheck' => 'ok']);
}