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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
	require_once('UserRepositoryInterface.php');

	class UserRepository implements UserRepositoryInterface {
		protected $db;

		public function __construct($db) {
			$this->db = $db;
		}

		public function registerUser($user, $password) {
			$status = array();
			
			try {

				if (!$this->checkUserName($user)) {
					$status["id"] = -1;
					$status["return"] = 1;
					return $status;
				}

				if (!$this->checkEmail($user)) {
					$status["id"] = -1;
					$status["return"] = 2;
					return $status;
				}

				$hashedPwd = password_hash($password, PASSWORD_DEFAULT);

				$query = "INSERT INTO utente(username, password, nominativo, cell, email, is_owner)
	    				VALUES ('".$user->username."',
	    						'".$hashedPwd."',
	    						'".$user->nominativo."',
	    						'".$user->cell."',
	    						'".$user->email."',
	    						'".$user->is_owner."')";
				
				//echo "<br/>".$query."<br/>";	

				$this->db->exec($query);
				$status["id"] = $this->db->lastInsertId();
				$status["return"] = 0;
				return $status;
				//echo "New record created successfully";
			} catch (PDOException $e) {
				echo $e->getMessage();
				$status["id"] = -1;
				$status["return"] = 3;
				return $status;
			}

		}

		public function loginUser($username, $password) {
			$status = array();

			try {
				$query = "SELECT id, password FROM utente WHERE username='".$username."'";
				$result = $this->db->query($query);
				$row = ($result->rowCount()>0) ? $result->fetch() : null;

				if (!is_null($row) && password_verify($password, $row["password"])) {
					$status["return"] = 0;
					$status["id"] = $row["id"];
				} else {
					$status["return"] = 1;
					$status["id"] = -1;
				}

				return $status;

			} catch (PDOException $e) {
				echo $e->getMessage();
				$status["return"] = 2;
				$status["id"] = -1;
				return $status;
			}
		}

		//true se username è disponibile, false altrimenti
		protected function checkUserName($user) {
			$query = "SELECT count(*) from utente WHERE username='".$user->username."'";
			$result = $this->db->query($query);
			return ($result->fetchColumn() == "0");
		}

		//true se email è disponibile, false altrimenti
		protected function checkEmail($user) {
			$query = "SELECT count(*) from utente WHERE email='".$user->email."'";
			$result = $this->db->query($query);
			return ($result->fetchColumn() == "0");
		}

		public function setAvatar($user_id, $avatar_url) {
			$status = array();

			try {
				$query = "UPDATE utente
							SET avatar='".$avatar_url."'
	    					WHERE id=".$user_id;	

				$this->db->exec($query);
				$status["return"] = 0;
				$status["avatar_path"] = $avatar_url;
				return $status;
			} catch (PDOException $e) {
				echo $e->getMessage();
				$status["return"] = 1;
				$status["avatar_path"] = "";
				return $status;
			}
		}

	}

?>

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

Diff revisions: vs.
Revision Author Commited Message
354 Diff Diff FSallustio picture FSallustio Thu 16 Jul, 2015 10:20:42 +0000

Prima versione della login.php (effettua per ora solo il check dello username/password)

281 Diff Diff FSallustio picture FSallustio Mon 13 Jul, 2015 09:46:31 +0000

Inserito supporto all’upload degli avatar.

242 Diff Diff FSallustio picture FSallustio Thu 09 Jul, 2015 11:18:36 +0000

get_commenti.php implementata + bugfix

235 Diff Diff FSallustio picture FSallustio Thu 09 Jul, 2015 08:52:31 +0000

Reimplementati registrazione_utente.php e registrazione_locale.php

224 Diff Diff FSallustio picture FSallustio Wed 08 Jul, 2015 07:36:39 +0000

- Piccolo refactor (sia lato php che lato sql);
- set_position.php

222 FSallustio picture FSallustio Tue 07 Jul, 2015 15:51:51 +0000

- Prima versione di registrazione_utente.php e registrazione_locale.php
- Corretti i json degli stub (alcuni non erano corretti sintatticamente)