Nextrek
@ 354
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
Revision | Author | Commited | Message |
---|---|---|---|
354 Diff | 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 | FSallustio | Mon 13 Jul, 2015 09:46:31 +0000 | Inserito supporto all’upload degli avatar. |
242 Diff | FSallustio | Thu 09 Jul, 2015 11:18:36 +0000 | get_commenti.php implementata + bugfix |
235 Diff | FSallustio | Thu 09 Jul, 2015 08:52:31 +0000 | Reimplementati registrazione_utente.php e registrazione_locale.php |
224 Diff | FSallustio | Wed 08 Jul, 2015 07:36:39 +0000 | - Piccolo refactor (sia lato php che lato sql); |
222 | FSallustio | Tue 07 Jul, 2015 15:51:51 +0000 | - Prima versione di registrazione_utente.php e registrazione_locale.php |