

Nextrek
@ HEAD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
<?php header("Access-Control-Allow-Origin: *"); header('Content-Type: application/json; charset=UTF-8'); require_once("constants.php"); require_once("repositories/CommentRepository.php"); require_once("repositories/UserRepository.php"); $params = json_decode(file_get_contents('php://input'), true); $conn; $risposta = array(); $repo; $user_id; $is_admin = false; try { $conn = new PDO("mysql:host=".DB_SERVERNAME.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connesso con successo al DB"; if (!array_key_exists("token", $params) || $params["token"] === "") { //$risposta["return"] = -1; $risposta = createErrorMessage(-1, "Parametro \"token\" non valido"); echo json_encode($risposta); die(); } $user_id = UserRepository::getUserByToken($params["token"], $conn); if ($user_id == -1) { $is_admin = UserRepository::checkAdminByToken($params["token"], $conn); if (!$is_admin) { //controlla che l'utente sia amministratore $risposta = createErrorMessage(-1, "Token non valido"); //$risposta["return"] = -1; echo json_encode($risposta); die(); } } $repo = new CommentRepository($conn); if (!$is_admin) { //nel caso non sia ammministratore --> effettua controllo sull'utente $oldComment = $repo->getCommentById($params["comment_id"])["comment"]; if (is_null($oldComment) || $oldComment->id_user != $user_id) { //l'utente non ha postato quel commento $risposta = createErrorMessage(-1, "Token non valido"); //$risposta["return"] = -1; echo json_encode($risposta); die(); } } $risposta = $repo->editComment($params["comment_id"], $params["content"]); } catch(PDOException $e) { echo $e->getMessage(); $risposta = createErrorMessage(1, "Errore DB"); //$risposta["return"] = 1; $risposta["content"] = ""; } echo json_encode($risposta); $conn = null; //Close the connection to the DBMS ?> |