Advertisement
Guest User

Untitled

a guest
May 17th, 2016
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.48 KB | None | 0 0
  1. <?php
  2. require_once $_SERVER['DOCUMENT_ROOT'].'/myApp/application/models/connection/Connection.php';
  3. require_once 'IUsuario.php';
  4. require_once 'Usuario.php';
  5.  
  6. class UsuarioDAO implements UsuarioInterface
  7. {
  8. private static $instancia;
  9. private $db;
  10.  
  11. function __construct()
  12. {
  13. $this->db = Connection::singletonConexion();
  14. }
  15.  
  16. public function insertUsuario(Usuario $usuario)
  17. {
  18. try
  19. {
  20. $userName = mysql_real_escape_string($usuario->getUserName());
  21. $userMail = mysql_real_escape_string($usuario->getUserEmail());
  22. $userPass = mysql_real_escape_string($usuario->getUserPass());
  23.  
  24. $new_password = password_hash($userPass, PASSWORD_DEFAULT);
  25.  
  26. $stmt = $this->db->prepare("INSERT INTO users(user_name,user_email,user_pass)
  27. VALUES(:uname, :umail, :upass)");
  28.  
  29. $stmt->bindparam(":uname", $userName);
  30. $stmt->bindparam(":umail", $userMail);
  31. $stmt->bindparam(":upass", $new_password);
  32.  
  33. $stmt->execute();
  34.  
  35. return $stmt;
  36. }
  37. catch(PDOException $e)
  38. {
  39. echo $e->getMessage();
  40. }
  41. }
  42.  
  43. public function insertUsuarioCompleto(Usuario $usuario)
  44. {
  45. try
  46. {
  47. $uname = mysql_real_escape_string($usuario->getUserName());
  48. $ulname = mysql_real_escape_string($usuario->getUserLastname());
  49. $umname = mysql_real_escape_string($usuario->getUserMiddlename());
  50. $unationality = mysql_real_escape_string($usuario->getNacionalidad());
  51. $usex = mysql_real_escape_string($usuario->getUserSex());
  52. $umail = mysql_real_escape_string($usuario->getUserEmail());
  53. $upass = mysql_real_escape_string($usuario->getUserPass());
  54. $newPassword = password_hash($upass, PASSWORD_DEFAULT);
  55.  
  56. $stmt = $this->db->prepare("INSERT INTO users(user_name, user_lastname, user_middlename, nacionalidad, user_sex, user_email, user_pass)
  57. VALUES(:uname, :ulastname, :umiddlename, :unacionalidad, :usex, :umail, :upass)");
  58.  
  59. $stmt->bindparam(":uname", $uname);
  60. $stmt->bindparam(":ulastname", $ulname);
  61. $stmt->bindparam(":umiddlename", $umname);
  62. $stmt->bindparam(":unacionalidad", $unationality);
  63. $stmt->bindparam(":usex", $usex);
  64. $stmt->bindparam(":umail", $umail);
  65. $stmt->bindparam(":upass", $newPassword);
  66.  
  67. $stmt->execute();
  68.  
  69. return $stmt;
  70. }
  71. catch (PDOException $e) {
  72. echo $e->getMessage();
  73. }
  74.  
  75. }
  76.  
  77. public function selectUsuarios()
  78. {
  79. try
  80. {
  81.  
  82. $stmt = $this->db->prepare("SELECT * FROM users");
  83.  
  84. $stmt->execute();
  85.  
  86. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  87.  
  88. $usuario = null;
  89. $usuarios = array();
  90.  
  91. foreach ($rows as $clave => $valor) {
  92. $usuario = new Usuario();
  93. $usuario->setUserId( $rows[$clave]["user_id"] );
  94. $usuario->setUserName( $rows[$clave]["user_name"] );
  95. $usuario->setUserLastname( $rows[$clave]["user_lastname"] );
  96. $usuario->setUserMiddlename( $rows[$clave]["user_middlename"] );
  97. $usuario->setNacionalidad( $rows[$clave]["nacionalidad"] );
  98. $usuario->setUserSex( $rows[$clave]["user_sex"] );
  99. $usuario->setUserEmail( $rows[$clave]["user_email"] );
  100. $usuario->setUserPass( $rows[$clave]["user_pass"] );
  101. array_push($usuarios, $usuario);
  102. }
  103. return $rows;
  104. }
  105. catch(PDOException $e)
  106. {
  107. echo $e->getMessage();
  108. }
  109. }
  110.  
  111. public function deleteUsuario($userID)
  112. {
  113. try
  114. {
  115. $stmt = $this->db->prepare("DELETE FROM users WHERE user_id = :userID");
  116. $stmt->bindparam(":userID", $userID);
  117. $stmt->execute();
  118. $rows_affected = $stmt->rowCount();
  119. return $rows_affected;
  120. }
  121. catch (PDOException $e)
  122. {
  123. echo $e.getMessage();
  124. }
  125.  
  126. }
  127.  
  128. public function selectUsuarioById($idusuario)
  129. {
  130. try {
  131. $stmt = $this->db->prepare("SELECT * FROM users WHERE user_id = :userID");
  132. $stmt->bindparam(":userID", $idusuario);
  133. $stmt->execute();
  134.  
  135. $row = $stmt->fetchAll(PDO::FETCH_ASSOC);
  136.  
  137. $usuario = null;
  138. $usuarios = array();
  139.  
  140. foreach ($row as $clave => $valor) {
  141. $usuario = new Usuario();
  142. $usuario->setUserId( $row[$clave]["user_id"] );
  143. $usuario->setUserName( $row[$clave]["user_name"] );
  144. $usuario->setUserLastname( $row[$clave]["user_lastname"] );
  145. $usuario->setUserMiddlename( $row[$clave]["user_middlename"] );
  146. $usuario->setNacionalidad( $row[$clave]["nacionalidad"] );
  147. $usuario->setUserSex( $row[$clave]["user_sex"] );
  148. $usuario->setUserEmail( $row[$clave]["user_email"] );
  149. $usuario->setUserPass( $row[$clave]["user_pass"] );
  150. array_push($usuarios, $usuario);
  151. }
  152. return $row;
  153.  
  154. } catch (PDOException $e) {
  155. echo $e.getMessage();
  156. }
  157. }
  158.  
  159. public function login($json)
  160. {
  161. $ajson = json_decode($json);
  162.  
  163. $uname = mysql_real_escape_string($ajson->{'txt_uname_email'});
  164. $umail = mysql_real_escape_string($ajson->{'txt_uname_email'});
  165. $upass = mysql_real_escape_string($ajson->{'txt_password'});
  166.  
  167. try
  168. {
  169. $usuario = new Usuario();
  170.  
  171. $usuario->setUserName($uname);
  172. $usuario->setUserEmail($umail);
  173. $usuario->setUserPass($upass);
  174.  
  175. $stmt = $this->db->ejecutarConsulta("SELECT * FROM users
  176. WHERE user_name=:uname
  177. OR user_email=:umail LIMIT 1",
  178. array(
  179. ':uname'=>$usuario->getUserName(),
  180. ':umail'=>$usuario->getUserEmail()
  181. ));
  182.  
  183. if($stmt)
  184. {
  185. if(password_verify($usuario->getUserPass(), $stmt[0]['user_pass']))
  186. {
  187. $_SESSION['user_session'] = $stmt[0]['user_id'];
  188. $_SESSION['user_name'] = $stmt[0]['user_name'];
  189. $_SESSION['inicio_session'] = date('Y-n-j H:i:s');
  190. return true;
  191. }
  192. else
  193. {
  194. return false;
  195. }
  196. }
  197. }
  198. catch(PDOException $e)
  199. {
  200. echo $e->getMessage();
  201. }
  202. }
  203. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement