PATH:
var
/
www
/
vhosts
/
sandbox.dos-group.com
/
httpdocs
/
apilora
/
class
<?php class Api { private function __construct() { } private function __clone() { } /** * Estrare tutti i tracker relativi ad una missione * Richiama e ritorna il metodo Tracker::getAllTracker * * @param $id_mission int, contiene l'id relativo alla missione * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getAllTrackerByIdMission($id_mission) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_mission)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta di estrazione di tutti i device, id non trasferito Api@getAllTrackerByIdMission"); } try { return Tracker::getAllTrackerByIdMission($id_mission); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrate una lista di tracker * Richiama e ritorna il metodo Tracker::getAllTracker * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getAllTracker() { try { return Tracker::getAllTracker(); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrate una lista di agenti * Richiama e ritorna il metodo Tracker::getAllAgent * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getAllAgent() { try { return Tracker::getAllAgent(); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getAllTarghe(){ try { return Tracker::getAllTarghe(); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrare tutte le posizioni relative all'id device e all'intervallo di tempo * Richiama e ritorna il metodo Tracker::getPosition * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $id_device int, contiene l'id relativo al device * @param $interval string, contiene l'intervallo di tempo (day, week, month, ever) * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getPosition($id_device, $interval) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_device) || empty($interval)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta delle posizioni del device, id non trasferito Api@getPosition"); } try { return Tracker::getPosition($id_device, $interval); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getTarghePosition($id_user, $interval, $start_time, $end_time) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_user) || empty($interval)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta delle posizioni del device, id non trasferito Api@getPosition"); } try { return Tracker::getTarghePosition($id_user, $interval, $start_time, $end_time); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getTrackersWithData($dateToCheck){ // controlla che siano presenti le informazioni all'interno della request if (empty($dateToCheck)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta delle posizioni del device, id non trasferito Api@getPosition"); } try { return Tracker::getTrackersWithData($dateToCheck); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getTracker($id_tracker) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_tracker)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta delle posizioni del device, id non trasferito Api@getTracker"); } try { return Tracker::getTracker($id_tracker); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getAgent($id_agent, $id_mission) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_agent) || empty($id_mission)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta delle posizioni del device, id non trasferito Api@getAgent"); } try { return Tracker::getAgent($id_agent, $id_mission); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getMission($id_mission) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_mission)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta delle posizioni del device, id non trasferito Api@getMission"); } try { return Tracker::getMission($id_mission); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrare tutte le ultime posizioni relative ali device in missione * Richiama e ritorna il metodo Tracker::getLastPosition * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $id_mission int, contiene l'id relativo alla missione * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getLastPosition($id_mission) { // controlla che siano presenti le informazioni all'interno della request if (empty($id_mission)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta della posizione del device, id non trasferito Api@getLastPosition"); } try { return Tracker::getLastPosition($id_mission); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrare tutte le missioni attive * Richiama e ritorna il metodo Tracker::getAllActiveMission * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getAllActiveMission() { try { return Tracker::getAllActiveMission(); } catch (Exception $e) { return Api::printMessage(400, $e); } } public static function getAllMissionAssigned() { try { return Tracker::getAllMissionAssigned(); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrare tutti i tracker liberi (non in missione) * Richiama e ritorna il metodo Tracker::getAllFreeTracker * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getAllFreeTracker() { try { return Tracker::getAllFreeTracker(); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrare tutti gli agenti liberi (non in missione) * Richiama e ritorna il metodo Tracker::getAllFreeAgent * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getAllFreeAgent() { try { return Tracker::getAllFreeAgent(); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Estrare tutti i tracker in missioni attive * Richiama e ritorna il metodo Tracker::getTrackerActiveOnMission * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @return string, ritorna un JSON contenente i dati estratti dal database */ public static function getTrackerActiveOnMission() { try { return Tracker::getTrackerActiveOnMission(); } catch (Exception $e) { return Api::printMessage(400, $e); } } /** * Inserisce un nuovo device e una nuova posizione * Richiama il metodo Tracker::setTrackerPosition * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $longitude float, contiene le longitudini del tracker * @param $latitude float, contiene la latitudine del tracker * @param $timestamp string, contiene la data del rilevamento della posizione * @param $tracker_id int, contiene l'id del dispositivo * @return string|mixed, ritorna un codice di inserimento riuscito */ public static function setPosition($longitude, $latitude, $timestamp, $tracker_id) { if (empty($timestamp)) { $timestamp = "1"; } // controlla che siano presenti le informazioni all'interno della request if (empty($tracker_id) || empty($longitude) || empty($latitude) || empty($timestamp)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta per inserire una nuova posizione Api@setPosition"); } try { Tracker::setTrackerPosition($longitude, $latitude, $timestamp, $tracker_id); } catch (Exception $e) { return Api::printMessage(400, $e); } return Api::printMessage(201, "Posizione inserita correttamente"); } /** * Inserisce un nuovo Tracker * Richiama il metodo Tracker::setTracker * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $tracker_id int, contiene l'id del dispositivo * @return string|mixed, ritorna un codice di inserimento riuscito */ public static function setTracker($tracker_id) { // controlla che siano presenti le informazioni all'interno della request if (empty($tracker_id)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta per inserire un nuovo tracker Api@setTracker"); } try { Tracker::setTracker($tracker_id); } catch (Exception $e) { return Api::printMessage(400, $e); } return Api::printMessage(201, "Posizione inserita correttamente"); } /** * Inserisce un nuovo agente * Richiama il metodo Tracker::setTracker * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $agent_name string, contiene il nominativo dell'agente * @param $agent_identification int, contiene il numero identificativo dell'agente * @param $agent_grade int, contiene il grado dell'agente * @return string|mixed, ritorna un codice di inserimento riuscito */ public static function setAgent($agent_name, $agent_identification, $agent_grade) { if (empty($agent_name) || empty($agent_identification) || empty($agent_grade)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta per inserire un nuovo agente Api@setAgent"); } try { Tracker::setAgent($agent_name, $agent_identification, $agent_grade); } catch (Exception $e) { return Api::printMessage(400, $e); } return Api::printMessage(201, "Posizione inserita correttamente"); } /** * Inserisce una nuova missione * Richiama il metodo Tracker::setMission * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $mission_name string, contiene il titolo della missione * @param $mission_description string, contiene la descrizione della missione * @param $mission_priority int, contiene il grado di priorita della missione * @return string|mixed, ritorna un codice di inserimento riuscito */ public static function setMission($mission_name, $mission_description, $mission_priority) { if (empty($mission_name) || empty($mission_description) || empty($mission_priority)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta"); } try { Tracker::setMission($mission_name, $mission_description, $mission_priority); } catch (Exception $e) { return Api::printMessage(400, $e); } return Api::printMessage(201, "Posizione inserita correttamente"); } /** * Inserisce una nuova associazione missione-agente-tracker * Richiama il metodo Tracker::assignMission * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $mission_id int, contiene l'id della missione * @param $tracker_id int, contiene l'id del tracker * @param $agent_id int, contiene l'id dell'agente * @return string|mixed, ritorna un codice di inserimento riuscito */ public static function assignMission($mission_id, $tracker_id, $agent_id) { // controlla che siano presenti le informazioni all'interno della request if (empty($mission_id) || empty($tracker_id) || empty($agent_id)) { return Api::printMessage(400, "Errore, nessun informazione trasferita tramite la richiesta"); } try { Tracker::assignMission($mission_id, $tracker_id, $agent_id); } catch (Exception $e) { return Api::printMessage(400, $e); } return Api::printMessage(201, "Posizione inserita correttamente"); } /** * Esegue un update sulla tabella "mission" assegnando un active=0 e inserendo un timestamp nel campo end_mission * Richiama il metodo Tracker::endMission * In caso di errori richiama la classe printMessage che rimandera il codice di errore come risposta * * @param $id_mission int, contiene l'id della missione * @return string|mixed, ritorna un codice di inserimento riuscito */ public static function endMission($id_mission) { try { Tracker::endMission($id_mission); } catch (Exception $e) { return Api::printMessage(400, $e); } return null; } /** * Riceve e rimanda un codice di errore * * @param $errorCode int, codice dell'errore * @param $errorMessage string, messaggio dell'errore * @return string string|mixed, ritorna l'errore */ public static function printMessage($errorCode, $errorMessage) { // $log = new Logging(); // // salvataggio dell'errore sul log file // $log->lwrite($errorMessage); // $log->lclose(); var_dump($errorCode); $error = (object)array(); if($errorCode === 201){ $error->status = false; } else { $error->status = true; } http_response_code($errorCode); $error->errorMessage = $errorMessage; return json_encode($error); } }
[-] Tracker.php
[open]
[+]
..
[-] Api.php
[open]
[-] Logging.php
[open]
[-] Db.php
[open]