Subversion Repository Public Repository

Nextrek

Diff Revisions 727 vs 728 for /Android/SmartCharging/endPoints/edit_commento.php

Diff revisions: vs.
  @@ -13,20 +13,46 @@
13 13 $risposta = array();
14 14 $repo;
15 15
16 + $user_id;
17 + $is_admin = false;
18 +
16 19 try {
17 20 $conn = new PDO("mysql:host=".DB_SERVERNAME.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD);
18 21 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
19 22 //echo "Connesso con successo al DB";
20 23
21 - if (!array_key_exists("token", $params) || !UserRepository::checkToken($params["token"], $conn)) {
24 + if (!array_key_exists("token", $params) || $params["token"] === "") {
22 25 //$risposta["return"] = -1;
23 - $risposta = createErrorMessage(-1, "Token non valido");
26 + $risposta = createErrorMessage(-1, "Parametro \"token\" non valido");
24 27 echo json_encode($risposta);
25 28 die();
26 29 }
27 30
31 + $user_id = UserRepository::getUserByToken($params["token"], $conn);
32 +
33 + if ($user_id == -1) {
34 + $is_admin = UserRepository::checkAdminByToken($params["token"], $conn);
35 + if (!$is_admin) { //controlla che l'utente sia amministratore
36 + $risposta = createErrorMessage(-1, "Token non valido");
37 + //$risposta["return"] = -1;
38 + echo json_encode($risposta);
39 + die();
40 + }
41 + }
42 +
28 43 $repo = new CommentRepository($conn);
29 44
45 + if (!$is_admin) { //nel caso non sia ammministratore --> effettua controllo sull'utente
46 + $oldComment = $repo->getCommentById($params["comment_id"])["comment"];
47 +
48 + if (is_null($oldComment) || $oldComment->id_user != $user_id) { //l'utente non ha postato quel commento
49 + $risposta = createErrorMessage(-1, "Token non valido");
50 + //$risposta["return"] = -1;
51 + echo json_encode($risposta);
52 + die();
53 + }
54 + }
55 +
30 56 $risposta = $repo->editComment($params["comment_id"], $params["content"]);
31 57 }
32 58 catch(PDOException $e)