Subversion Repository Public Repository

Nextrek

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
    session_start();

    header("Access-Control-Allow-Origin: *");
    header('Content-Type: application/json; charset=UTF-8');

    require_once("constants.php");

	require_once("repositories/LocalRepository.php");
    require_once("repositories/UserRepository.php");
	require_once("classes/Local.php");

    require_once("utilities.php");

	/*$servername = "localhost";
	$username = "smartcharging";
	$password = "LXRLBaEAuRr7M7jY";*/

	//$params = json_decode($_REQUEST["params"], true);

    //$input = file_get_contents('php://input');
    $params = json_decode(file_get_contents('php://input'), true);

	$conn;
	$risposta = array();
    $statusLocal;
	$local = new Local();
	$local_repo;

    $user_id;
    $is_admin = false;

    if (array_key_exists("email", $params) && $params["email"] !== "" && !filter_var($params["email"], FILTER_VALIDATE_EMAIL)) {
        $risposta = createErrorMessage(-1, "Parametro \"email\" non valido");
        echo json_encode($risposta);
        die();
    }

	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 = createErrorMessage(-1, "Parametro \"token\" non valido");
            //$risposta["return"] = -1;
            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();
            }
        }
        
        $local_repo = new LocalRepository($conn);

        if (!$is_admin) { //nel caso non sia ammministratore --> effettua controllo sull'utente
            $oldLocal = $local_repo->getFullLocalInfo($params["local_id"]);
            if ($oldLocal->id_utente_owner != $user_id) { //l'utente non gestisce il locale
                $risposta = createErrorMessage(-1, "Token non valido");
                //$risposta["return"] = -1;
                echo json_encode($risposta);
                die();
            }
        }

        $local->id                  = $params["local_id"];
        $local->nomelocale          = array_key_exists("nomelocale", $params)       ? $params["nomelocale"] : null;
        $local->descrizione         = array_key_exists("descrizione", $params)      ? $params["descrizione"] : null;
        $local->tipologia           = array_key_exists("tipologia", $params)        ? $params["tipologia"] : null;
        $local->lat                 = array_key_exists("lat", $params)              ? $params["lat"] : null;
        $local->lon                 = array_key_exists("lon", $params)              ? $params["lon"] : null;
        $local->indirizzo           = array_key_exists("indirizzo", $params)        ? $params["indirizzo"] : null;
        $local->email               = array_key_exists("email", $params)            ? $params["email"] : null;
        $local->telefono            = array_key_exists("telefono", $params)         ? $params["telefono"] : null;
        $local->sito                = array_key_exists("sito", $params)             ? $params["sito"] : null;
        $local->n_punti_ricarica    = array_key_exists("n_punti_ricarica", $params) ? $params["n_punti_ricarica"] : null;

        $risposta = $local_repo->editLocal($local);

    }
	catch(PDOException $e)
    {
   		echo $e->getMessage();
        $risposta = createErrorMessage(1, "Errore DB");
        //$risposta["return"] = 1;
    } finally {
        echo json_encode($risposta);
        $conn = null; //Close the connection to the DBMS    
    }
	

?>

Commits for Nextrek/Android/SmartCharging/endPoints/edit_locale.php

Diff revisions: vs.
Revision Author Commited Message
728 Diff Diff FSallustio picture FSallustio Mon 14 Sep, 2015 06:08:22 +0000
681 Diff Diff FSallustio picture FSallustio Fri 04 Sep, 2015 14:32:50 +0000
678 Diff Diff FSallustio picture FSallustio Fri 04 Sep, 2015 14:15:12 +0000
581 Diff Diff FSallustio picture FSallustio Thu 27 Aug, 2015 08:48:49 +0000
579 Diff Diff FSallustio picture FSallustio Thu 27 Aug, 2015 08:25:11 +0000
507 FSallustio picture FSallustio Thu 20 Aug, 2015 07:51:22 +0000

Merge ramo stable con la nightly.