PageRenderTime 65ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/backend/modules/users/model/DAO/users_dao.class.singleton.php

https://gitlab.com/boxnia/NFU_MOVIL
PHP | 278 lines | 180 code | 95 blank | 3 comment | 10 complexity | 4606e218426298353274440c23dc52af MD5 | raw file
  1. <?php
  2. class users_dao {
  3. static $_instance;
  4. private function __construct() {
  5. }
  6. public static function getInstance() {
  7. if (!(self::$_instance instanceof self))
  8. self::$_instance = new self();
  9. return self::$_instance;
  10. }
  11. public function update_user_DAO($db, $arrArgument) {
  12. $nombre = $arrArgument['nombre'];
  13. $pais = $arrArgument['pais'];
  14. $poblacion = $arrArgument['poblacion'];
  15. $provincia = $arrArgument['provincia'];
  16. $masculino = $arrArgument['masculino'];
  17. $femenino = $arrArgument['femenino'];
  18. $bajo = $arrArgument['bajo'];
  19. $medio = $arrArgument['medio'];
  20. $alto = $arrArgument['alto'];
  21. $telefono = $arrArgument['telefono'];
  22. $deportes = $arrArgument['deportes'];
  23. $deportes1 = 0;
  24. $deportes2 = 0;
  25. $deportes3 = 0;
  26. $deportes4 = 0;
  27. $deportes5 = 0;
  28. $deportes6 = 0;
  29. foreach ($deportes as $indice) {
  30. if ($indice === "todos") {
  31. $deportes1 = 1;
  32. }
  33. if ($indice === "futbol") {
  34. $deportes2 = 1;
  35. }
  36. if ($indice === "basket") {
  37. $deportes3 = 1;
  38. }
  39. if ($indice === "volei") {
  40. $deportes4 = 1;
  41. }
  42. if ($indice === "tenis") {
  43. $deportes5 = 1;
  44. }
  45. if ($indice === "padel") {
  46. $deportes6 = 1;
  47. }
  48. }
  49. $sexo = $arrArgument['sexo'];
  50. $email = $arrArgument['email'];
  51. // $password = $arrArgument['password'];
  52. $fecha_nac = $arrArgument['fecha_nac'];
  53. $avatar = $arrArgument['avatar'];
  54. $sql = "UPDATE users SET apellidos='$sexo',numero='$telefono',poblacion='$poblacion',provincia='$provincia',todos='$deportes1',futbol='$deportes2',baloncesto='$deportes3',voleibol='$deportes4',tenis='$deportes5',padel='$deportes6',"
  55. . "email='$email', fecha_nac='$fecha_nac', avatar='$avatar' , pais='$pais', masculino='$masculino', femenino='$femenino',bajo='$bajo',medio='$medio',alto='$alto' WHERE nombre ='$nombre'";
  56. return $db->ejecutar($sql);
  57. }
  58. public function update_pass_DAO($db, $arrArgument) {
  59. $password = $arrArgument['password'];
  60. $nombre = $arrArgument['nombre'];
  61. $sql = "UPDATE users SET password='$password' WHERE nombre ='$nombre'";
  62. return $db->ejecutar($sql);
  63. }
  64. public function details_users_DAO($db, $arrArgument) {
  65. $sql = "SELECT * FROM users WHERE nombre COLLATE utf8_bin ='$arrArgument'";
  66. $stmt = $db->ejecutar($sql);
  67. return $db->listar($stmt);
  68. }
  69. public function obtain_paises_DAO($url) {
  70. $ch = curl_init();
  71. curl_setopt($ch, CURLOPT_URL, $url);
  72. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  73. // curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  74. $file_contents = curl_exec($ch);
  75. curl_close($ch);
  76. return ($file_contents) ? $file_contents : FALSE;
  77. }
  78. public function obtain_provincias_DAO() {
  79. $json = array();
  80. $tmp = array();
  81. $provincias = simplexml_load_file(RESOURCES . "provinciasypoblaciones.xml");
  82. $result = $provincias->xpath("/lista/provincia/nombre | /lista/provincia/@id");
  83. for ($i = 0; $i < count($result); $i+=2) {
  84. $e = $i + 1;
  85. $provincia = $result[$e];
  86. $tmp = array(
  87. 'id' => (string) $result[$i], 'nombre' => (string) $provincia
  88. );
  89. array_push($json, $tmp);
  90. }
  91. return $json;
  92. }
  93. public function obtain_poblaciones_DAO($arrArgument) {
  94. $json = array();
  95. $tmp = array();
  96. $filter = (string) $arrArgument;
  97. $xml = simplexml_load_file(RESOURCES . "provinciasypoblaciones.xml");
  98. $result = $xml->xpath("/lista/provincia[@id='$filter']/localidades");
  99. for ($i = 0; $i < count($result[0]); $i++) {
  100. $tmp = array(
  101. 'poblacion' => (string) $result[0]->localidad[$i]
  102. );
  103. array_push($json, $tmp);
  104. }
  105. return $json;
  106. }
  107. public function activateUser_DAO($db, $token) {
  108. $sql = "SELECT * FROM users WHERE token='$token'";
  109. $stmt = $db->ejecutar($sql);
  110. if ($result = $db->obtener_fila($stmt, 0)) {
  111. $sql = "UPDATE users SET status='1' WHERE nombre COLLATE utf8_bin ='" . $result['nombre'] . "'";
  112. $stmt = $db->ejecutar($sql);
  113. };
  114. return $result;
  115. }
  116. public function obtain_coord_DAO($db) {
  117. $sql = "SELECT * FROM game JOIN installation ON game.id_install=installation.id";
  118. $stmt = $db->ejecutar($sql);
  119. return $db->listar($stmt);
  120. }
  121. public function obtain_users_DAO($db) {
  122. $sql = "SELECT * FROM users";
  123. $stmt = $db->ejecutar($sql);
  124. return $db->listar($stmt);
  125. }
  126. public function obtain_coord_near_DAO($db, $arrArgument) {
  127. $lat = $arrArgument['latitud'];
  128. $long = $arrArgument['longitud'];
  129. $start = $arrArgument['start'];
  130. $records_per_page = $arrArgument['records_per_page'];
  131. $minLat = $lat - 1;
  132. $maxLat = $lat + 1;
  133. $minLon = $long - 1;
  134. $maxLon = $long + 1;
  135. $sql = "SELECT * FROM game JOIN installation ON game.id_install=installation.id WHERE (installation.latitud between $minLat and $maxLat) and (installation.longitud between $minLon and $maxLon)LIMIT $start, $records_per_page";
  136. //$sql = "SELECT * FROM game JOIN installation ON game.id_install=installation.id LIMIT $start, $records_per_page";
  137. $stmt = $db->ejecutar($sql);
  138. return $db->listar($stmt);
  139. }
  140. public function obtain_coord_near_map_DAO($db, $arrArgument) {
  141. $lat = $arrArgument['latitud'];
  142. $long = $arrArgument['longitud'];
  143. $minLat = $lat - 1;
  144. $maxLat = $lat + 1;
  145. $minLon = $long - 1;
  146. $maxLon = $long + 1;
  147. $sql = "SELECT * FROM installation JOIN game ON game.id_install=installation.id WHERE (installation.latitud between $minLat and $maxLat) and (installation.longitud between $minLon and $maxLon)";
  148. $stmt = $db->ejecutar($sql);
  149. return $db->listar($stmt);
  150. }
  151. public function obtain_user_DAO($db, $arrArgument) {
  152. $sql = "SELECT * FROM users WHERE token='$arrArgument'";
  153. $stmt = $db->ejecutar($sql);
  154. return $db->listar($stmt);
  155. }
  156. public function count_games_DAO($db) {
  157. $sql = "SELECT COUNT(*) as total FROM game";
  158. $stmt = $db->ejecutar($sql);
  159. return $db->listar($stmt);
  160. }
  161. public function exist_users_email_DAO($db, $arrArgument) {
  162. $nombre = $arrArgument['nombre'];
  163. $email = $arrArgument['email'];
  164. $sql = "SELECT COUNT(*) AS total_email FROM users WHERE email = '$email' and nombre='$nombre' ";
  165. $stmt = $db->ejecutar($sql);
  166. return $db->listar($stmt);
  167. }
  168. public function obtain_password_DAO($db, $arrArgument) {
  169. $sql = "SELECT password FROM users where nombre COLLATE utf8_bin ='$arrArgument'";
  170. $stmt = $db->ejecutar($sql);
  171. return $db->listar($stmt);
  172. }
  173. public function delete_user_DAO($db, $arrArgument) {
  174. $sql = "DELETE FROM users WHERE nombre='$arrArgument'";
  175. return $db->ejecutar($sql);
  176. ;
  177. }
  178. public function exist_users_email_only_DAO($db, $arrArgument) {
  179. $sql = "SELECT COUNT(*) AS total_email FROM users WHERE email = '$arrArgument' ";
  180. $stmt = $db->ejecutar($sql);
  181. return $db->listar($stmt);
  182. }
  183. }