PATH:
var
/
www
/
vhosts
/
sandbox.dos-group.com
/
httpdocs
/
apilora-sdoppio
<?php header("Access-Control-Allow-Origin: *"); // importo le classi necessarie per l'api include_once('include/bootstrap.php'); // creo l'oggetto per loggare le operazioni $log = new Logging(); /** <----------- Controllo del tipo richiesta -----------> */ if ($_SERVER['REQUEST_METHOD'] === 'POST') { /* <----------- Richiesta POST -----------> */ $request = filter_input(INPUT_POST, "request", FILTER_SANITIZE_SPECIAL_CHARS); if (empty($request)) { /** <----------- Richiesta POST file JSON -----------> */ $data = json_decode(file_get_contents('php://input'), true); if (empty($data)) { echo Api::printMessage(400, "Richiesta POST non riconosciuta"); // salvataggio dell'errore sul log file $log->lwrite('<------------------------------>'); $log->lwrite('Errore riscontrato durante la lettura della variabile $data, contenuto vuoto'); $log->lclose(); die(); } else { //SE IL JSON IN ENTRATA E' UN ARRAY VUOL DIRE CHE SONO DATI ARRIVATI DALL'OBD DI POSIZIONE //@TODO SISTEMARE QUESTA SCHIFEZZA CON UNA STRUTTURA DEGNA if(is_array($data[0])){ $request='setPosition'; }else{ $request = $data['request']; } } } } elseif ($_SERVER['REQUEST_METHOD'] === 'GET') { /* <----------- Richiesta GET -----------> */ $request = trim(htmlentities(filter_input(INPUT_GET, "request", FILTER_SANITIZE_SPECIAL_CHARS))); if (empty($request)) { echo Api::printMessage(400, "Richiesta GET non riconosciuta"); // salvataggio dell'errore sul log file $log->lwrite('Errore riscontrato durante la lettura della variabile $request, contenuto vuoto o non presente nello switch case'); $log->lclose(); die(); } } else { /* <----------- Errore, richiesta non riconosciuta -----------> */ echo Api::printMessage(400, "Richiesta GET/POST non riconosciuta"); // salvataggio dell'errore sul log file $log->lwrite('Errore riscontrato nella richiesta effettuata non riconosciuta tra le richieste autorizzate (POST - GET)'); $log->lclose(); die(); } /** <----------- Ricerca del tipo di richiesta eseguita -----------> */ switch ($request) { // selezione di tutti i dispositivi tramite la classe Api e li restituisce in formato json case 'getAllTracker': echo Api::getAllTracker(); break; case 'getAllTarghe': echo Api::getAllTarghe(); break; // selezione di tutti i dispositivi tramite la classe Api e li restituisce in formato json case 'getAllAgent': $id_mission = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getAllAgent(); break; // selezione di tutti i dispositivi tramite la classe Api e li restituisce in formato json case 'getTrackerByMission': $id_mission = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getAllTrackerByIdMission($id_mission); break; // selezione delle posizioni del tracker tramite la classe Api e li restituisce in formato json case 'getPosition': $tracker_id = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); $interval = trim(htmlentities(filter_input(INPUT_GET, "interval", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getPosition($tracker_id, $interval); break; case 'getTarghePosition': $user_id = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); $interval = trim(htmlentities(filter_input(INPUT_GET, "interval", FILTER_SANITIZE_SPECIAL_CHARS))); $start_time = trim(htmlentities(filter_input(INPUT_GET, "start_time", FILTER_SANITIZE_SPECIAL_CHARS))); $end_time = trim(htmlentities(filter_input(INPUT_GET, "end_time", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getTarghePosition($user_id, $interval, $start_time, $end_time); break; case 'getTrackersWithData': $dateToCheck = trim(htmlentities(filter_input(INPUT_GET, "date_to_check", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getTrackersWithData($dateToCheck); break; // selezione delle posizioni del tracker tramite la classe Api e li restituisce in formato json case 'getMission': $mission_id = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getMission($mission_id); break; case 'getTracker': $tracker_id = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getTracker($tracker_id); break; case 'getAgent': $agent_id = trim(htmlentities(filter_input(INPUT_GET, "id_agent", FILTER_SANITIZE_SPECIAL_CHARS))); $id_mission = trim(htmlentities(filter_input(INPUT_GET, "id_mission", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getAgent($agent_id, $id_mission); break; // selezione dell'ultima posizione di ogni dispositivo tramite la classe Api e li restituisce in formato json case 'getLastPosition': $id_mission = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::getLastPosition($id_mission); break; // seleziona tutte le missioni attive e le restituisce in formato json case 'getAllActiveMission': echo Api::getAllActiveMission(); break; // seleziona tutte le missioni assegnate case 'getAllMissionAssigned': echo Api::getAllMissionAssigned(); break; // seleziona tutti i tracker liberi e li restituisce in formato json case 'getAllFreeTracker': echo Api::getAllFreeTracker(); break; // seleziona tutti gli agenti liberi e li restituisce in formato json case 'getAllFreeAgent': echo Api::getAllFreeAgent(); break; // seleziona tutti i tracker assegnati a missioni attive e li restituisce in formato json case 'getTrackerActiveOnMission': echo Api::getTrackerActiveOnMission(); break; // termina la missione relativa all'id_mission ricevuto tramite input GET case 'endMission': $id_mission = trim(htmlentities(filter_input(INPUT_GET, "id", FILTER_SANITIZE_SPECIAL_CHARS))); echo Api::endMission($id_mission); break; // inserimento di una nuova posizione contenuta nell'input json ricevuto case 'setPosition': if(is_array($data[0])){ $tracker_id = $data[0]['tracker_id']; $longitude = $data[0]['lng']; $latitude = $data[0]['lat']; $timestamp = $data[0]['timestamp']; Api::setPosition($longitude, $latitude, $timestamp, $tracker_id); /* for ($i = 0; $i < count( $data ); $i++) { $tracker_id = $data[$i]['tracker_id']; $longitude = $data[$i]['lng']; $latitude = $data[$i]['lat']; $timestamp = $data[$i]['timestamp']; Api::setPosition($longitude, $latitude, $timestamp, $tracker_id); }*/ /* foreach( $data as $jsonArray){ foreach( $jsonArray as $jsonItem){ $tracker_id = $jsonItem['tracker_id']; $longitude = $jsonItem['lng']; $latitude = $jsonItem['lat']; $timestamp = $jsonItem['timestamp']; Api::setPosition($longitude, $latitude, $timestamp, $tracker_id); } }*/ }else{ // input POST tramite JSON $tracker_id = $data['tracker_id']; $longitude = $data['lng']; $latitude = $data['lat']; $timestamp = $data['timestamp']; echo Api::setPosition($longitude, $latitude, $timestamp, $tracker_id); } break; // inserimento di un nuovo agente contenuto nell'input json ricevuto case 'setAgent': $agent_name = filter_input(INPUT_POST, "agent_name", FILTER_SANITIZE_SPECIAL_CHARS); $agent_identification = filter_input(INPUT_POST, "agent_identification", FILTER_SANITIZE_SPECIAL_CHARS); $agent_grade = filter_input(INPUT_POST, "agent_grade", FILTER_SANITIZE_SPECIAL_CHARS); echo Api::setAgent($agent_name, $agent_identification, $agent_grade); break; // inserimento di un nuovo tracker contenuto nell'input json ricevuto case 'setTracker': $tracker_id = intval(filter_input(INPUT_POST, "id_tracker", FILTER_SANITIZE_SPECIAL_CHARS)); echo Api::setTracker($tracker_id); break; // inserimento di un nuovo tracker contenuto nell'input json ricevuto case 'setMission': $mission_name = filter_input(INPUT_POST, "mission_name", FILTER_SANITIZE_SPECIAL_CHARS); $mission_description = filter_input(INPUT_POST, "mission_description", FILTER_SANITIZE_SPECIAL_CHARS); $mission_priority = filter_input(INPUT_POST, "mission_priority", FILTER_SANITIZE_SPECIAL_CHARS); echo Api::setMission($mission_name, $mission_description, $mission_priority); break; // inserimento dell'assegnazione della missione con user-tracker ricevuta tramite l'input json case 'assignMission': $mission_id = intval(filter_input(INPUT_POST, "mission_id", FILTER_SANITIZE_SPECIAL_CHARS)); $tracker_id = intval(filter_input(INPUT_POST, "tracker_id", FILTER_SANITIZE_SPECIAL_CHARS)); $agent_id = intval(filter_input(INPUT_POST, "agent_id", FILTER_SANITIZE_SPECIAL_CHARS)); echo Api::assignMission($mission_id, $tracker_id, $agent_id); break; // richiesta non presente nelle opzioni disponibili, errore default: echo Api::printMessage(400, "Richiesta GET/POST non riconosciuta"); break; } die();
[+]
vendor
[+]
class
[-] missions-control.html
[open]
[-] map.html
[open]
[+]
css
[+]
log
[+]
..
[-] api.php
[open]
[-] seeder.html
[open]
[+]
js
[+]
media
[-] index.html
[open]
[-] apilora.zip
[open]
[-] trackers-control.html
[open]
[-] agents-control.html
[open]
[+]
include
[-] index.html.old
[open]