71 lines
1.7 KiB
PHP
71 lines
1.7 KiB
PHP
<?php
|
|
include_once '../controller/DatabaseController.php';
|
|
include_once '../controller/DataController.php';
|
|
include_once __DIR__ . '/../modules/Mail.php';
|
|
|
|
header("Content-Type: application/json");
|
|
header("Access-Control-Allow-Origin: *");
|
|
header("Access-Control-Allow-Headers: Authorization, Function, Content-Type");
|
|
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
|
http_response_code(200);
|
|
exit();
|
|
}
|
|
|
|
$validTokens = [
|
|
"15a437d128c918633e57dc7d18118a073b807644f21731ed5a7ebcf3eca9e242",
|
|
];
|
|
|
|
$headers = getallheaders();
|
|
$token = $headers['Authorization'] ?? $headers['authorization'] ?? $_SERVER['HTTP_AUTHORIZATION'] ?? '';
|
|
$function = $headers['Function'] ?? $headers['function'] ?? '';
|
|
|
|
if (!in_array($token, $validTokens)) {
|
|
http_response_code(401);
|
|
$error = json_encode([
|
|
"error" => "Unauthorized",
|
|
"debug_received_token" => $token,
|
|
"debug_all_headers" => $headers
|
|
]);
|
|
errorMail(
|
|
"API Login failed",
|
|
$error,
|
|
true,
|
|
);
|
|
echo $error;
|
|
exit;
|
|
}
|
|
|
|
if (in_array($token, $validTokens)) {
|
|
DatabaseInsert(
|
|
"API",
|
|
"CLIENT_IP, TOKEN, API, FUNKTION",
|
|
(new getSpecificData())->getClientIP(),
|
|
$token,
|
|
(new getSpecificData())->getRequestURL(),
|
|
$function
|
|
);
|
|
|
|
if ($function === "IPs") {
|
|
$data = DatabaseShow(
|
|
"logs",
|
|
"CLIENT_IP"
|
|
);
|
|
}
|
|
|
|
if ($function === "Ueberstunden") {
|
|
$data = DatabaseShow(
|
|
"Ueberstunden",
|
|
"MINUTEN"
|
|
);
|
|
}
|
|
|
|
echo json_encode(
|
|
[
|
|
"success" => true,
|
|
"data" => $data,
|
|
]
|
|
);
|
|
exit;
|
|
} |