PageRenderTime 51ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 1ms

/clases/dlm_usuarios.php

https://bitbucket.org/weddcam/develop_weddcam
PHP | 535 lines | 453 code | 61 blank | 21 comment | 55 complexity | 473523541446cd353fe2c8c3e7226885 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0, MIT, LGPL-3.0, LGPL-2.1
  1. <?php
  2. include 'conexion_publico.php';
  3. class usuario{
  4. //constructor
  5. var $conexion;
  6. function usuario(){
  7. include 'conexion_publico.php';
  8. }
  9. //function graba_usuario($id_cliente,$nom_usuario, $email, $usuario, $password,$d_password,$id_perfil,$controller, $usuarioWebConcurso)
  10. function graba_usuario( $user)
  11. {
  12. $result=true;
  13. $campos=""; $valores="";
  14. foreach ($user as $key=>$value){
  15. $campos .= "" .$key .",";
  16. $valores .= "'" .$user[$key] ."'," ;
  17. }
  18. $dml = " INSERT INTO usuarios (" .substr($campos,0,-1) .") VALUES (". substr($valores,0,-1) .")" ;
  19. $result=mysql_query($dml) or die("error3-altausuario".mysql_error());
  20. if (!$result)
  21. {
  22. return false;
  23. }
  24. mysql_close();
  25. return true;
  26. }
  27. function graba_usuario_con_id( $user, &$id_usuario)
  28. {
  29. $result=true;
  30. $campos=""; $valores="";
  31. foreach ($user as $key=>$value){
  32. $campos .= "" .$key .",";
  33. $valores .= "'" .$user[$key] ."'," ;
  34. }
  35. $dml = " INSERT INTO usuarios (" .substr($campos,0,-1) .") VALUES (". substr($valores,0,-1) .")" ;
  36. $result=mysql_query($dml) or die("error3-altausuario".mysql_error());
  37. if (!$result)
  38. {
  39. return false;
  40. }
  41. $id_usuario=mysql_insert_id();
  42. mysql_close();
  43. return true;
  44. }
  45. function actualiza_usuario($user)
  46. {
  47. $result=true;
  48. $campos=""; $valores="";
  49. foreach ($user as $key=>$value){
  50. $campos .= "" . $key ."= '". $user[$key] ."'," ;
  51. }
  52. $dml = " UPDATE usuarios SET " .substr($campos,0,-1) ." WHERE id_usuario='" . $user['id_usuario'] ."'";
  53. $result=true;
  54. $result=mysql_query($dml) or die("error-actualizando-usuario".mysql_error());
  55. if (!$result)
  56. return false;
  57. mysql_close();
  58. return true;
  59. }
  60. function graba_perfil(&$id_perfil)
  61. {
  62. $dml = " INSERT INTO perfil ( nombre_priv ) VALUES ('0')" ;
  63. $result=mysql_query($dml) or die("error3-altaperfil".mysql_error());
  64. if (!$result)
  65. {
  66. return false;
  67. }
  68. $id_perfil=mysql_insert_id();
  69. return true;
  70. }
  71. function borra_usuario($usuario)
  72. {
  73. $result=true;
  74. $result=mysql_query("DELETE from wc_usuarios WHERE id_usuario='".$usuario."'") or die("error-borrar-usr".mysql_error());
  75. if (!$result)
  76. return false;
  77. return true;
  78. }
  79. function comprueba_email($dato){
  80. $total = mysql_num_rows(mysql_query("SELECT e_mail from usuarios where e_mail='".$dato."'"));
  81. if($total==0)
  82. {
  83. $respuesta="NO";
  84. }
  85. else
  86. {
  87. $respuesta="SI";
  88. }
  89. mysql_close();
  90. return $respuesta;
  91. }
  92. function valida_usuario($usuario,$clave,&$id_usuario,&$tipo_usuario,&$nick,&$nombre,&$id_empresa,&$nombre_foto_perfil,&$edad,&$tipo_modalidad,&$id_provincia,&$id_comunidad,&$sexo,&$estado_weddcam,&$id_evento,&$estado_evento)
  93. {
  94. $clave = md5($clave);
  95. $dml = " SELECT "
  96. ." * FROM "
  97. ." v_user "
  98. ." WHERE "
  99. ." e_mail='".$usuario."' "
  100. ." AND password='".$clave."'"
  101. ." AND estado='0'"
  102. ;
  103. $result = mysql_query($dml) or die("errorlogin".mysql_error());
  104. if($row = mysql_fetch_array($result)) {
  105. $id_usuario = $row['id_usuario'];
  106. $nick = $row['nick'];
  107. $nombre_foto_perfil = $row['nombre_foto_perfil'];
  108. $id_empresa = $row['id_empresa'];
  109. $nombre = $row['nombre'];
  110. $tipo_usuario = $row['tipo_usuario'];
  111. $edad=$row['fecha_nacimiento'];
  112. $tipo_modalidad=$row['tipo_modalidad'];
  113. $id_provincia=$row['id_provincia'];
  114. $id_comunidad=$row['id_comunidad'];
  115. $sexo=$row['sexo'];
  116. $estado_weddcam=$row['estado_weddcam'];
  117. $id_evento=$row['id_evento'];
  118. $estado_evento="";
  119. if ($id_evento!="0") {
  120. $sql= "SELECT estado from eventos where id_evento='".$row['id_evento']."'";
  121. $result2 = mysql_query($sql) or die("errorlogin".mysql_error());
  122. $row2 = mysql_fetch_array($result2);
  123. $estado_evento=$row2['estado'];
  124. }
  125. mysql_close();
  126. return true;
  127. }
  128. mysql_close();
  129. return false;
  130. }
  131. function comprueba_nick($dato){
  132. $total = mysql_num_rows(mysql_query("SELECT nick from usuarios where nick='".$dato."'"));
  133. if($total==0)
  134. {
  135. $respuesta="NO";
  136. }
  137. else
  138. {
  139. $respuesta="SI";
  140. }
  141. mysql_close();
  142. return $respuesta;
  143. }
  144. function recupera_password($usuario)
  145. {
  146. $dml = " SELECT password "
  147. ." FROM "
  148. ." v_user "
  149. ." WHERE "
  150. ." e_mail='".$_POST['usuario']."' "
  151. ;
  152. $result = mysql_query($dml) or die("errorlogin".mysql_error());
  153. if (!$result) { // no hay ese email en weddcam
  154. mysql_close();
  155. return -3;
  156. }
  157. if (!$row = mysql_fetch_array($result)) {
  158. mysql_close();
  159. return -3;
  160. }
  161. $dml = "SELECT cabecera,cuerpo,pie FROM plantillas WHERE nombre='recordar_password'";
  162. $result2 = mysql_query($dml) or die("error-leer_plantilla".mysql_error());
  163. if($row2 = mysql_fetch_array($result2)) {
  164. // $url='<p><a href="http://www.web4base.com:8443/weddcam/registro2.php?u='.$_POST['usuario'].'&c='.$row['password'].'">http://www.web4base.com:8443/weddcam/registro2.php?u='.$_POST['usuario'].'&c='. $row['password'].'</a>';
  165. $url='<p><a href="http:localhost/registro2.php?u='.$_POST['usuario'].'&c='. $row['password'].'">http://www.web4base.com:8443/weddcam/registro2.php?u='.$_POST['usuario'].'&c='. $row['password'].'</a>';
  166. $cabecera=$row2['cabecera'];
  167. $cabecera=str_replace('[link]',$url,$cabecera);
  168. require "class.weddmailer.php";
  169. $mail = new weddmailer();
  170. $mail->From = "notificaciones@cr-essencial.com";
  171. $mail->FromName = "WeddCam";
  172. $mail->AddAddress($_POST['usuario']);
  173. $mail->setAsunto("WeddCam: Cambio Contraseña ");
  174. $mail->setCuerpo($cabecera);
  175. $exito = $mail->Send();
  176. $intentos=1;
  177. while ((!$exito) && ($intentos < 5))
  178. {
  179. sleep(5);
  180. // echo "error : ".$mail->ErrorInfo;
  181. $exito = $mail->Send();
  182. $intentos=$intentos+1;
  183. }
  184. if(!$exito) {
  185. //echo "Problemas enviando correo electrónico a ".$valor;
  186. //echo "<br/>".$mail->ErrorInfo;
  187. mysql_close();
  188. return -1; // No se ha podido enviar el croreo
  189. } else {
  190. //echo "Mensaje enviado correctamente prueba 3";
  191. return 0;
  192. }
  193. mysql_close();
  194. } else { // error en plantillas
  195. return -3;
  196. }
  197. }
  198. function trae_usuario($dato)
  199. {
  200. return mysql_query("SELECT * from usuarios where id_usuario='".$dato."'");
  201. }
  202. function trae_paises()
  203. {
  204. return mysql_query("SELECT * from paises order by pais");
  205. }
  206. function trae_provincias()
  207. {
  208. return mysql_query("SELECT * from provincias order by provincia");
  209. }
  210. function trae_comunidades()
  211. {
  212. return mysql_query("SELECT * from comunidades order by comunidad");
  213. }
  214. function dame_actividades()
  215. {
  216. return mysql_query("SELECT * from actividades");
  217. }
  218. function dame_tipos_actividades($dato)
  219. {
  220. return mysql_query("SELECT * from actividades_tipos where id_actividad='".$dato."'");
  221. }
  222. function dame_comunidad($dato)
  223. {
  224. $result= mysql_query("SELECT id_comunidad from v_provincias_comunidades where id_provincia='".$dato."'");
  225. if($row = mysql_fetch_array($result)) {
  226. return $row['id_comunidad'];
  227. }
  228. else {
  229. return '0';
  230. }
  231. }
  232. function dame_modalidad_activa()
  233. {
  234. $result= mysql_query("SELECT id_modalidad_contratacion from modalidad_contratacion_activa where id_modalidad_contratacion_activa='1'");
  235. if($row = mysql_fetch_array($result)) {
  236. return $row['id_modalidad_contratacion'];
  237. }
  238. else {
  239. return '0';
  240. }
  241. }
  242. function dame_tipo_modalidad($dato,&$tipo_modalidad,&$n_meses,&$n_fichas,&$modalidad_contratacion)
  243. {
  244. $result= mysql_query("SELECT tipo_modalidad,n_meses,n_fichas, modalidad_contratacion from modalidad_contratacion where id_modalidad_contratacion='".$dato."'");
  245. if($row = mysql_fetch_array($result)) {
  246. $tipo_modalidad = $row['tipo_modalidad'];
  247. $n_meses = $row['n_meses'];
  248. $n_fichas = $row['n_fichas'];
  249. $modalidad_contratacion = $row['modalidad_contratacion'];
  250. }
  251. else {
  252. return false;
  253. }
  254. return true;
  255. }
  256. function dame_provincia_geo($dato)
  257. {
  258. $result= mysql_query("SELECT id_provincia from provincias where provincia like '".$dato."'");
  259. if($row = mysql_fetch_array($result)) {
  260. return $row['id_provincia'];
  261. }
  262. else {
  263. return '0';
  264. }
  265. }
  266. function dame_comunidad_geo($dato)
  267. {
  268. $result= mysql_query("SELECT id_comunidad from comunidades where comunidad like '".$dato."'");
  269. if($row = mysql_fetch_array($result)) {
  270. return $row['id_comunidad'];
  271. }
  272. else {
  273. return '0';
  274. }
  275. }
  276. function trae_poblaciones($dato)
  277. {
  278. return mysql_query("SELECT id_poblacion, poblacion from poblaciones where id_provincia='".$dato."' order by poblacion");
  279. }
  280. function get_plantilla($plantilla)
  281. {
  282. $dml = "SELECT cabecera,cuerpo,pie FROM plantillas WHERE nombre='". $plantilla ."'";
  283. $result = mysql_query($dml) or die("error-leer_plantilla".mysql_error());
  284. if($row = mysql_fetch_array($result)) {
  285. return $row;
  286. }
  287. else {
  288. return 0;
  289. }
  290. }
  291. function graba_empresa_usuario( $user, &$empresa, &$id_empresa,&$id_contrato)
  292. {
  293. $result=true;
  294. // empiezo transaccion
  295. mysql_query("BEGIN");
  296. $campos=""; $valores="";
  297. foreach ($user as $key=>$value){
  298. $campos .= "" .$key .",";
  299. $valores .= "'" .$user[$key] ."'," ;
  300. }
  301. $dml = " INSERT INTO usuarios (" .substr($campos,0,-1) .") VALUES (". substr($valores,0,-1) .")" ;
  302. $result=mysql_query($dml) or die("error3-alta usuarios-empresa".mysql_error());
  303. if (!$result) { return false;}
  304. $id_usuario=mysql_insert_id();
  305. $empresa['id_usuario']=$id_usuario;
  306. $campos2=""; $valores2="";
  307. foreach ($empresa as $key=>$value){
  308. $campos2 .= "" .$key .",";
  309. $valores2 .= "'" .$empresa[$key] ."'," ;
  310. }
  311. $dml = " INSERT INTO empresas (" .substr($campos2,0,-1) .") VALUES (". substr($valores2,0,-1) .")" ;
  312. $result=mysql_query($dml);
  313. if (!$result) {
  314. echo $dml."</br>error4-alta usuarios-empresa".$dml.mysql_error();
  315. mysql_query("ROLLBACK");
  316. return false; }
  317. $id_empresa=mysql_insert_id();
  318. $dml = " UPDATE usuarios SET id_empresa='".$id_empresa."' where id_usuario='".$id_usuario."' ";
  319. $result=mysql_query($dml);
  320. if (!$result){ mysql_query("ROLLBACK"); return false; }
  321. // if (!$this->graba_contrato($id_empresa,$id_contrato,null,"Básico","0")) {
  322. // echo $dml."</br>error5-alta empresa-contratos".$dml.mysql_error(); mysql_query("ROLLBACK"); return false; }
  323. // if (!$this->graba_lineas_contrato($id_empresa,$id_contrato,null,"Básico","0")) {
  324. // echo $dml."</br>error6-alta empresa-contratos".$dml.mysql_error(); mysql_query("ROLLBACK"); return false; }
  325. mysql_query("COMMIT");
  326. return true;
  327. }
  328. function graba_ficha( $tipo_modalidad, $ficha,$ficha_actividad, &$id_ficha_empresa, &$id_ficha_actividad, $ntipos,$tipos_actividad,$es_basico,$ficha_primera)
  329. {
  330. $result=true;
  331. // empiezo transaccion
  332. mysql_query("BEGIN");
  333. $campos3=""; $valores3="";
  334. foreach ($ficha as $key=>$value){
  335. $campos3 .= "" .$key .",";
  336. $valores3 .= "'" .$ficha[$key] ."'," ;
  337. }
  338. $dml = " INSERT INTO empresas_fichas (" .substr($campos3,0,-1) .") VALUES (". substr($valores3,0,-1) .")" ;
  339. $result=mysql_query($dml) or die("error145alta usuarios-empresa-fichas".mysql_error());
  340. if (!$result) { mysql_query("ROLLBACK"); return false; }
  341. $id_ficha_empresa=mysql_insert_id();
  342. if ($ficha_primera==="S") {
  343. $dml = " UPDATE empresas SET id_ficha_empresa='".$id_ficha_empresa."' where id_empresa='".$ficha['id_empresa']."' ";
  344. $result=mysql_query($dml);
  345. if (!$result){ mysql_query("ROLLBACK"); return false; }
  346. }
  347. $ficha_actividad['id_ficha_empresa']=$id_ficha_empresa;
  348. $ficha_actividad['estado']='0'; // 0 activa - 1 inactiva (la primera actividad siempre es activa)
  349. $ficha_actividad['tipo']='0'; // tipo actividad de la ficha 0 es la ficha asociada a la empresa
  350. $campos=""; $valores="";
  351. foreach ($ficha_actividad as $key=>$value){
  352. $campos .= "" .$key .",";
  353. $valores .= "'" .$ficha_actividad[$key] ."'," ;
  354. }
  355. $dml = " INSERT INTO empresas_fichas_actividades (" .substr($campos,0,-1) .") VALUES (". substr($valores,0,-1) .")" ;
  356. $result=mysql_query($dml) or die("error24-alta usuarios-empresa-actividades".mysql_error());
  357. if (!$result) { mysql_query("ROLLBACK"); return false; }
  358. $id_ficha_actividad=mysql_insert_id();
  359. // grabo el id de la actividad a la ficha. queda como actividad de la empresa
  360. $dml = " UPDATE empresas_fichas SET id_ficha_actividad='".$id_ficha_actividad."' where id_ficha_empresa='".$id_ficha_empresa."' ";
  361. $result=mysql_query($dml);
  362. if (!$result){ mysql_query("ROLLBACK"); return false; }
  363. for ($i=0;$i<=$ntipos;$i++) {
  364. if (!$this->graba_tipo_actividad($id_ficha_actividad,$tipos_actividad[$i])) {
  365. mysql_query("ROLLBACK"); return false;}
  366. }
  367. // creo dos actividades adicionales con la misma información
  368. $ficha_actividad['tipo']='1'; // tipo actividad adicionales de la ficha
  369. if ($es_basico==="S") {
  370. $ficha_actividad['estado']="1";
  371. $campos=""; $valores="";
  372. } else { // es premium
  373. $ficha_actividad['estado']="0";
  374. }
  375. $campos=""; $valores="";
  376. foreach ($ficha_actividad as $key=>$value){
  377. $campos .= "" .$key .",";
  378. $valores .= "'" .$ficha_actividad[$key] ."'," ;
  379. }
  380. $dml = " INSERT INTO empresas_fichas_actividades (" .substr($campos,0,-1) .") VALUES (". substr($valores,0,-1) .")" ;
  381. $result=mysql_query($dml) or die("error54-alta usuarios-empresa-actividades".mysql_error());
  382. if (!$result) { mysql_query("ROLLBACK"); return false; }
  383. $id_ficha_actividad=mysql_insert_id();
  384. for ($i=0;$i<=$ntipos;$i++) {
  385. if (!$this->graba_tipo_actividad($id_ficha_actividad,$tipos_actividad[$i])) {
  386. mysql_query("ROLLBACK"); return false;}
  387. }
  388. $dml = " INSERT INTO empresas_fichas_actividades (" .substr($campos,0,-1) .") VALUES (". substr($valores,0,-1) .")" ;
  389. $result=mysql_query($dml) or die("error355-alta usuarios-empresa-actividades".mysql_error());
  390. if (!$result) { mysql_query("ROLLBACK"); return false; }
  391. $id_ficha_actividad=mysql_insert_id();
  392. for ($i=0;$i<=$ntipos;$i++) {
  393. if (!$this->graba_tipo_actividad($id_ficha_actividad,$tipos_actividad[$i])) {
  394. mysql_query("ROLLBACK"); return false;}
  395. }
  396. mysql_query("COMMIT");
  397. return true;
  398. }
  399. function graba_tipo_actividad($id_ficha_actividad,$id_tipo_actividad) {
  400. $dml = " INSERT INTO empresas_fichas_actividades_tipos ( id_ficha_actividad, id_tipo_actividad) VALUES ('".$id_ficha_actividad."','".$id_tipo_actividad."')" ;
  401. $result=mysql_query($dml);
  402. if (!$result) { echo $dml."</br>error366-alta tipos_actividad".mysql_error(); return false; }
  403. return true;
  404. }
  405. function graba_contrato($contrato,&$id_contrato,&$num_contrato)
  406. {
  407. // grabo contador para el numero de contrato
  408. $dml = " INSERT INTO empresas_contador_contratos (id_empresa) VALUES ('".$contrato['id_empresa']."')" ;
  409. $result=mysql_query($dml);
  410. if (!$result) { echo $dml."</br>error388-alta empresa-contador".mysql_error(); return false; }
  411. $id_contador=mysql_insert_id();
  412. $num_contrato=date('Y')."-".$contrato['id_empresa']."-".$id_contador;
  413. $contrato['num_contrato']=$num_contrato;
  414. $campos3=""; $valores3="";
  415. foreach ($contrato as $key=>$value){
  416. $campos3 .= "" .$key .",";
  417. $valores3 .= "'" .$contrato[$key] ."'," ;
  418. }
  419. $dml = "INSERT INTO empresas_contratos (" .substr($campos3,0,-1) .") VALUES (". substr($valores3,0,-1) .")" ;
  420. $result=mysql_query($dml);
  421. if (!$result) { echo $dml."</br>error399-alta empresa-contratos".$dml.mysql_error(); return false; }
  422. $id_contrato=mysql_insert_id();
  423. return true;
  424. }
  425. function graba_lineas_contrato($contrato_linea)
  426. {
  427. // grabo contador para el numero de contrato
  428. // tipos: 0-basico, 1-premium, 2-ficha, 3-publi, 4-pos,5-des
  429. $campos3=""; $valores3="";
  430. foreach ($contrato_linea as $key=>$value){
  431. $campos3 .= "" .$key .",";
  432. $valores3 .= "'" .$contrato_linea[$key] ."'," ;
  433. }
  434. $dml = "INSERT INTO empresas_contratos_lineas (" .substr($campos3,0,-1) .") VALUES (". substr($valores3,0,-1) .")" ;
  435. $result=mysql_query($dml);
  436. if (!$result) { echo $dml."</br>error399-alta empresa-contratos_lineas".$dml.mysql_error(); return false; }
  437. return true;
  438. }
  439. function trae_rango_edad()
  440. {
  441. return mysql_query("SELECT * from rango_edad");
  442. }
  443. function encriptar($cadena, $clave)
  444. {
  445. // uso
  446. // $valorEncriptado = base64_encode(encriptar("Losdiasdelassemanasonsierte", "I=P/(1.73*U*cosfi)=610/("));
  447. // $valorOriginal = desencriptar(base64_decode($valorEncriptado), "I=P/(1.73*U*cosfi)=610/(");
  448. $cifrado = MCRYPT_RIJNDAEL_256;
  449. $modo = MCRYPT_MODE_ECB;
  450. return mcrypt_encrypt($cifrado, $clave, $cadena, $modo, mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND));
  451. }
  452. function desencriptar($cadena, $clave)
  453. {
  454. $cifrado = MCRYPT_RIJNDAEL_256;
  455. $modo = MCRYPT_MODE_ECB;
  456. return mcrypt_decrypt($cifrado, $clave, $cadena, $modo, mcrypt_create_iv(mcrypt_get_iv_size($cifrado, $modo), MCRYPT_RAND));
  457. }
  458. function dame_edad($date)
  459. {
  460. $fecha=strftime('%d/%m/%Y',strtotime($date));
  461. $part=explode("/",$fecha);
  462. $b_day=$part[0];
  463. $b_month=$part[1];
  464. $b_year=$part[2];
  465. $time=time();
  466. $day=date("d",$time);
  467. $month=date("m",$time);
  468. $year=date("Y",$time);
  469. if ( $month >= $b_month AND $day >= $b_day ) $age = $year-$b_year;
  470. else $age = $year-$b_year-1;
  471. return $age;
  472. }
  473. }
  474. ?>