true, "messages" => $messages]; //TODO: tout poster dans la BDD } public function POST_emergency($argv){ extract($argv); /* (1) Get ID_USER if connected ---------------------------------------------------------*/ $id_user = null; $name = null; if( count($_SESSION['ADMIN']) > 0 ) $id_user = $_SESSION['ADMIN']['id']; elseif( count($_SESSION['USER']) > 0 ) $id_user = $_SESSION['USER']['id']; else $name = $_SESSION['NAME']; /* (2) Create emergenct ---------------------------------------------------------*/ /* (1) Try to create entry */ $id_created = Repo::request('emergency', 'create', $id_user, $name, $message, 0, $location[0], $location[1], $URL_0 ); /* (2) If cannot create -> dispatch error */ if( $id_created === false ) return ['error' => new Error(Err::RepoError)]; /* (3) Send to WebSocket ---------------------------------------------------------*/ /* (1) Open socket */ $wsi = new wsinterop('localhost', 9998); /* (2) Send data */ $wsi->send([ 'operation' => 'PostMessage', 'message' => $message, 'username' => $_SESSION['NAME'], 'location' => $location, 'id' => $id_created, 'channelType' => 'Emergency', 'channelName' => "$URL_0" ]); /* (3) Close socket */ $wsi->close(); return ['sent' => intval($id_created) ]; } public function DELETE_emergency($argv){ extract($argv); /* (1) Create emergenct ---------------------------------------------------------*/ /* (1) Try to create entry */ $deleted = Repo::request('emergency', 'remove', $id); /* (2) If cannot create -> dispatch error */ if( $deleted === false ) return ['error' => new Error(Err::RepoError)]; /* (2) Send to WebSocket ---------------------------------------------------------*/ $wsi = new wsinterop("localhost",9998); $wsi->send([ 'operation' => 'DelMessage', 'id' => "$id", 'channelType' => 'Emergency', 'channelName' => "$URL_0" ]); $wsi->close(); return ["deleted" => true]; } public function PUT_emergency($argv){ extract($argv); $wsi = new wsinterop("localhost",9998); $wsi->send([ "operation" => "UpdMessage", "id" => $id, "message" => $message, "channelType" => "Emergency", "channelName" => is_null($URL_0) ? "" : "$URL_0" ]); $wsi->close(); return ["sent" => true]; //TODO: tout poster dans la BDD } public function POST_event($argv){ extract($argv); $wsi = new wsinterop("localhost",9998); $wsi->send([ "operation" => "PostMessage", "message" => $message, "username" => $_SESSION['NAME'], "location" => $location, "type" => $type, //TODO implémenter la récupération d'id depuis la bdd "id" => uniqid(), "channelType" => "Event", "channelName" => is_null($URL_0) ? "" : "$URL_0" ]); $wsi->close(); return ["sent" => true]; //TODO: tout poster dans la BDD } public function DELETE_event($argv){ extract($argv); $wsi = new wsinterop("localhost",9998); $wsi->send([ "operation" => "DelMessage", "id" => $id, "channelType" => "Event", "channelName" => is_null($URL_0) ? "" : "$URL_0" ]); $wsi->close(); return ["sent" => true]; //TODO: tout poster dans la BDD } public function PUT_event($argv){ extract($argv); $wsi = new wsinterop("localhost",9998); $wsi->send([ "operation" => "UpdMessage", "id" => $id, "message" => $message, "channelType" => "Event", "channelName" => is_null($URL_0) ? "" : "$URL_0" ]); $wsi->close(); return ["sent" => true]; //TODO: tout poster dans la BDD } }