Guest User

Untitled

a guest
Jan 23rd, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.43 KB | None | 0 0
  1. <?php
  2. //Incluyo la seguridad
  3. include_once("inc/sesion.php");
  4.  
  5. //me conecto a la BD
  6. include_once("inc/conexion.php");
  7.  
  8. //Incluyo el archivo de funciones
  9. include_once("inc/funciones.php");
  10.  
  11. //Guardo en variables los datos del formulario
  12. $usuario=$_SESSION["usuario"];
  13. $password=$_POST["password_txt"];
  14. $email=$_POST["email_txt"];
  15. $nombre=$_POST["nombre_txt"];
  16. $apellidos=$_POST["apellidos_txt"];
  17. $sexo=$_POST["sexo_rdo"];
  18. $fechaNacimiento=$_POST["fechaNacimiento_txt"];
  19. $estadoCivil=$_POST["estadoCivil_slc"];
  20. $ocupacion=$_POST["ocupacion_txt"];
  21. $pais=$_POST["pais_slc"];
  22. $ciudad=$_POST["ciudad_slc"];
  23. $telefono=$_POST["telefono_txt"];
  24. $movil=$_POST["movil_txt"];
  25. $web=$_POST["web_txt"];
  26. //Si la foto esta vacia le asigno el valor del campo oculto foto_hdn si no el nombre de la foto
  27. $foto= empty($_FILES["foto_fls"]["tmp_name"])?$_POST["foto_hdn"]:$_FILES["foto_fls"]["tmp_name"];
  28. //Si el cv esta vacio le asigno el valor del campo oculto cv_hdn si no el nombre del cv
  29. $cv= empty($_FILES["cv_fls"]["tmp_name"])?$_POST["cv_hdn"]:$_FILES["cv_fls"]["tmp_name"];
  30. $acerca=$_POST["acerca_txta"];
  31. $socialMedia=$_POST["socialMedia_chk"];
  32.  
  33. //Si se adjunto foto
  34. if(!empty($_FILES["foto_fls"]["tmp_name"])){
  35. //strstr($cadena1,$cadena2) sirve para evaluar si en la primer cadena de texto existe la segunda cadena de texto
  36. //Si dentro del tipo del archivo se encuentra la palabra image significa que el archivo es una imagen
  37. if(strstr($_FILES["foto_fls"]["type"],"image")){
  38.  
  39. //para saber de que tipo de extension es la imagen
  40. if(strstr($_FILES["foto_fls"]["type"],"jpeg")){
  41. $extension=".jpg";
  42. }else if(strstr($_FILES["foto_fls"]["type"],"gif")){
  43. $extension=".gif";
  44. }else if(strstr($_FILES["foto_fls"]["type"],"png")){
  45. $extension=".png";
  46. }
  47.  
  48. //para saber si la imagen tiene el ancho correcto que es de 420px
  49. $tamImg = getimagesize($_FILES["foto_fls"]["tmp_name"]);
  50. $anchoImg=$tamImg[0];
  51. $altoImg=$tamImg[1];
  52.  
  53. //Si la imagen es mayor en su ancho que 420px, reajusto su tamaño
  54. if($anchoImg>420){
  55. //Por una regla de 3 obtengo el alto de la imagen de manera proporcional al ancho nuevo que sera de 420
  56. $nAnchoImg=420;
  57. $nAltoImg= ($altoImg/$anchoImg)*$nAnchoImg;
  58.  
  59. //Creo una imagen en color real con las nuevas dimensiones
  60. $imgReajustada=imagecreatetruecolor($nAnchoImg,$nAltoImg);
  61.  
  62. //Creo una imagen basada en la original, dependiendo de su extension es el tipo que creare
  63. switch($extension){
  64. case ".jpg":
  65. $imgOriginal = imagecreatefromjpeg($_FILES["foto_fls"]["tmp_name"]);
  66. //Reajusto la imagen nueva con respecto a la original
  67. imagecopyresampled($imgReajustada, $imgOriginal, 0, 0, 0, 0, $nAnchoImg, $nAltoImg, $anchoImg, $altoImg);
  68. //Guardo la imagen reescalada en el servidor
  69. imagejpeg($imgReajustada,"../img/fotos/".$usuario.$extension,100);
  70.  
  71. //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
  72. borrarImagenes("../img/fotos/".$usuario,".jpg");
  73. break;
  74. case ".gif":
  75. $imgOriginal = imagecreatefromgif($_FILES["foto_fls"]["tmp_name"]);
  76. //Reajusto la imagen nueva con respecto a la original
  77. imagecopyresampled($imgReajustada, $imgOriginal, 0, 0, 0, 0, $nAnchoImg, $nAltoImg, $anchoImg, $altoImg);
  78. //Guardo la imagen reescalada en el servidor
  79. imagegif($imgReajustada,"../img/fotos/".$usuario.$extension);
  80.  
  81. //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
  82. borrarImagenes("../img/fotos/".$usuario,".gif");
  83. break;
  84. case ".png":
  85. $imgOriginal = imagecreatefrompng($_FILES["foto_fls"]["tmp_name"]);
  86. //Reajusto la imagen nueva con respecto a la original
  87. imagecopyresampled($imgReajustada, $imgOriginal, 0, 0, 0, 0, $nAnchoImg, $nAltoImg, $anchoImg, $altoImg);
  88. //Guardo la imagen reescalada en el servidor
  89. imagepng($imgReajustada,"../img/fotos/".$usuario.$extension);
  90.  
  91. //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
  92. borrarImagenes("../img/fotos/".$usuario,".png");
  93. break;
  94. }//cierra switch
  95.  
  96. }else{
  97.  
  98. //guarda el archivo temporal que se subira
  99. $imagen=$_FILES["foto_fls"]["tmp_name"];
  100.  
  101. //guardo la ruta que tendra en el servidor la imagen
  102. $destino="../img/fotos/".$usuario.$extension;
  103.  
  104. //Se sube la foto
  105. move_uploaded_file($imagen,$destino) or die("No se pudo subir la imagen al Servidor :(");
  106.  
  107. //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
  108. borrarImagenes("../img/fotos/".$usuario,$extension);
  109.  
  110. }//cierro if($anchoImg>420)
  111.  
  112. //Asigno el nombre de la foto que se guardará en la BD como cadena de texto
  113. $foto=$usuario.$extension;
  114.  
  115. }else{
  116.  
  117. $mensaje="El campo Foto solo admite archivos de imagen jpg, gif o png";
  118. header("Location: ../index.php?cat=editarPerfil&mensaje=$mensaje");
  119.  
  120. }//cierro if(strstr($_FILES["foto_fls"]["type"],"image"))
  121.  
  122. }//cierra if(!empty($foto))
  123.  
  124. //Si se adjunto un curriculum en pdf
  125. if(!empty($_FILES["cv_fls"]["tmp_name"])){
  126. //Si dentro del tipo del archivo se encuentra la palabra image significa que el archivo es una imagen
  127. if(strstr($_FILES["cv_fls"]["type"],"pdf")){
  128.  
  129. //guarda el archivo temporal que se subira
  130. $archivo=$_FILES["cv_fls"]["tmp_name"];
  131.  
  132. //guardo la ruta que tendra en el servidor el pdf
  133. $destino="../img/cvs/".$usuario.".pdf";
  134.  
  135. //Se sube el cv
  136. move_uploaded_file($archivo,$destino) or die("No se pudo subir el currículum al Servidor :(");
  137. $cv=$usuario.".pdf";
  138. }else{
  139. $mensaje="El campo Curriculum Vitae solo admite archivos pdf";
  140. header("Location: ../index.php?cat=editarPerfil&mensaje=$mensaje");
  141. }
  142. }//cierra if(!empty($cv))
  143.  
  144.  
  145. //Para que no mande error el query le asigno el valor de true o false al campo de socialMedia
  146. $socialMedia=($socialMedia)?1:0;
  147.  
  148. //Actualizo el registro
  149. $consulta="UPDATE contactos SET password='$password', email='$email', nombre='$nombre',apellidos='$apellidos', sexo='$sexo',fechaNacimiento='$fechaNacimiento',pais='$pais',ciudad='$ciudad',estadoCivil=$estadoCivil,ocupacion='$ocupacion',telefono='$telefono',movil='$movil',web='$web',foto='$foto',cv='$cv',acerca='$acerca',socialMedia=$socialMedia WHERE usuario='$usuario';";
  150.  
  151. $ejecutarConsulta=mysql_query($consulta,$conexion);
  152.  
  153. //Genero las variables dinámicas de las redes sociales haciendo un query a la tabla redesSociales
  154. $consulta="SELECT * FROM redesSociales;";
  155. $ejecutarConsulta=mysql_query($consulta,$conexion);
  156.  
  157. //por cada red que exista en la tabla hará lo siguiente:
  158. for($i=0;$registro=mysql_fetch_array($ejecutarConsulta);$i++){
  159.  
  160. //Esta variable me guarda el nombre de la caja de texto html de la red social que viene del formulario, como el nombre en el formulario y el nombre en la tabla de redesSociales es el mismo solo le agrego la extension _txt para formarlo correctamente.
  161. $cajaText=$registro["nombre"]."_txt";
  162. //Esta variable me guarda el valor de la caja de texto html de la red social que viene por post del formulario
  163. $valorRed=$_POST["$cajaText"];
  164.  
  165. $idRedSocial[$i]=$registro["idred"];
  166. $loginRedSocial[$i]=$valorRed;
  167.  
  168. //Si el valor no esta vacio guardo tanto el idred de la red social correspondiente a la tabla de redesSociales como el login de red que escribio el usuario en el formulario si el valor esta vacio elimino el registro de la red social correspondiente al usuario
  169. if(!empty($valorRed)){
  170.  
  171. //Ingreso los datos de las redes sociales para este usuario en la tabla redXContacto si el registro del usuario existe para la red social lo actualizo en caso contrario lo inserto por primera vez
  172. $consulta2="SELECT * FROM redXContacto WHERE usuario='$usuario' and idred=$idRedSocial[$i];";
  173. $ejecutarConsulta2=mysql_query($consulta2,$conexion);
  174. $numRegistro2=mysql_num_rows($ejecutarConsulta2);
  175.  
  176. if($numRegistro2==0){
  177. $consulta3="INSERT INTO redXContacto (idredxcontacto,idred,usuario,url) VALUES (0,$idRedSocial[$i],'$usuario','$loginRedSocial[$i]');";
  178. } else {
  179. $consulta3="UPDATE redXContacto SET url='$loginRedSocial[$i]' WHERE idred=$idRedSocial[$i] and usuario='$usuario';";
  180. }
  181. $ejecutarConsulta3=mysql_query($consulta3,$conexion);
  182. }else{
  183. $consulta2="DELETE FROM redXContacto WHERE usuario='$usuario' and idred=$idRedSocial[$i];";
  184. $ejecutarConsulta2=mysql_query($consulta2,$conexion);
  185. }//cierro if(!empty($valorRed)){
  186. }//cierra for
  187.  
  188. $mensaje="Los cambios se actualizaron con éxito :)";
  189. header("Location: ../index.php?cat=editarPerfil&mensaje=$mensaje");
  190. ?>
Add Comment
Please, Sign In to add comment