403, "errorCode" => 403, "errorDescription" => "Forbidden"]; $username = $_SERVER['PHP_AUTH_USER'] ?? ""; $password = $_SERVER['PHP_AUTH_PW'] ?? ""; header('Content-Type: application/json'); if (!empty($username) && !empty($password)) { $configPath = substr(__DIR__, 0, strpos(__DIR__, "/public_html")) . "/config.php"; include_once $configPath; if (!empty($_SESSION["ente"])) { $login = Utente::login($username, $password, "api"); if (isset($login) && is_a($login, "Utente")) { $_SESSION["utente"] = $login; if ($_SESSION["utente"]->permission("api")) { include_once __DIR__ . "/apiAdvancedManager.class.php"; $api = new apiAdvancedManager(); if ($api !== false) { $request = explode("?", $_SERVER['REQUEST_URI']); $urlFrag = explode("/", $request[0]); $found = false; $version = false; $method = ""; foreach($urlFrag AS $u) { if (!$found) { if ($u == "advanced") { $found = true; } } else { if (!$version) { $version = $u; } else { $method .= ucfirst(strtolower($u)); } } } $api->method = $method; $api->endPoint = "/api/rest/advanced/service.php"; $api->debug = false; $query = ""; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!empty($_POST)) { $query = $_POST; } else { $query = json_decode(file_get_contents("php://input"), true); } } else if (!empty($request[1])) { parse_str($request[1], $query); } $api->query = $query; $error = ""; $results = $api->handleRequest(); if ($results === false) { $error = ["errorHeader" => $api->errorHeader, "errorCode" => $api->errorCode, "errorDescription" => $api->errorDescription, "transactionID" => $api->codiceLog]; } else { echo json_encode($results); } } else { $error = ["errorHeader" => 403, "errorCode" => 403, "errorDescription" => "Impossibile accedere alle API"]; } } else { $error = ["errorHeader" => 403, "errorCode" => 403, "errorDescription" => "Impossibile accedere"]; } } else { $error = ["errorHeader" => 403, "errorCode" => 403, "errorDescription" => "Credenziali Errate"]; } } else { $error = ["errorHeader" => 500, "errorCode" => 500, "errorDescription" => "Errori nella sessione"]; } session_destroy(); } else { $error["errorDescription"] = "Credenziali Obbligatorie"; } if (!empty($error)) { header('HTTP/1.0 ' . $error["errorHeader"]); unset($error["errorHeader"]); echo json_encode($error); die(); }