Subversion Repository Public Repository

Nextrek

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

Diff revisions: vs.
  @@ -20,19 +20,45 @@
20 20 $risposta = array();
21 21 $local_repo;
22 22
23 + $user_id;
24 + $is_admin = false;
25 +
23 26 try {
24 27 $conn = new PDO("mysql:host=".DB_SERVERNAME.";dbname=".DB_NAME, DB_USERNAME, DB_PASSWORD);
25 28 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
26 29 //echo "Connesso con successo al DB";
27 30
28 - if (!array_key_exists("token", $params) || !UserRepository::checkToken($params["token"], $conn)) {
31 + if (!array_key_exists("token", $params) || $params["token"] === "") {
32 + $risposta = createErrorMessage(-1, "Parametro \"token\" non valido");
29 33 //$risposta["return"] = -1;
30 - $risposta = createErrorMessage(-1, "Token non valido");
31 34 echo json_encode($risposta);
32 35 die();
33 36 }
34 37
35 - $local_repo = new LocalRepository($conn);
38 + $user_id = UserRepository::getUserByToken($params["token"], $conn);
39 +
40 + if ($user_id == -1) {
41 + $is_admin = UserRepository::checkAdminByToken($params["token"], $conn);
42 + if (!$is_admin) { //controlla che l'utente sia amministratore
43 + $risposta = createErrorMessage(-1, "Token non valido");
44 + //$risposta["return"] = -1;
45 + echo json_encode($risposta);
46 + die();
47 + }
48 + }
49 +
50 + $local_repo = new LocalRepository($conn);
51 +
52 + if (!$is_admin) { //nel caso non sia ammministratore --> effettua controllo sull'utente
53 + $oldContent = $repo->getFullLocalInfo($params["id"]);
54 +
55 + if ($oldContent->id_utente_owner != $user_id) { //l'utente non gestisce il locale
56 + $risposta = createErrorMessage(-1, "Token non valido");
57 + //$risposta["return"] = -1;
58 + echo json_encode($risposta);
59 + die();
60 + }
61 + }
36 62
37 63 $query_status = $local_repo->setLocalName($params["id"], $params["nomelocale"]);
38 64