Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Incluyo la seguridad
- include_once("inc/sesion.php");
- //me conecto a la BD
- include_once("inc/conexion.php");
- //Incluyo el archivo de funciones
- include_once("inc/funciones.php");
- //Guardo en variables los datos del formulario
- $usuario=$_SESSION["usuario"];
- $password=$_POST["password_txt"];
- $email=$_POST["email_txt"];
- $nombre=$_POST["nombre_txt"];
- $apellidos=$_POST["apellidos_txt"];
- $sexo=$_POST["sexo_rdo"];
- $fechaNacimiento=$_POST["fechaNacimiento_txt"];
- $estadoCivil=$_POST["estadoCivil_slc"];
- $ocupacion=$_POST["ocupacion_txt"];
- $pais=$_POST["pais_slc"];
- $ciudad=$_POST["ciudad_slc"];
- $telefono=$_POST["telefono_txt"];
- $movil=$_POST["movil_txt"];
- $web=$_POST["web_txt"];
- //Si la foto esta vacia le asigno el valor del campo oculto foto_hdn si no el nombre de la foto
- $foto= empty($_FILES["foto_fls"]["tmp_name"])?$_POST["foto_hdn"]:$_FILES["foto_fls"]["tmp_name"];
- //Si el cv esta vacio le asigno el valor del campo oculto cv_hdn si no el nombre del cv
- $cv= empty($_FILES["cv_fls"]["tmp_name"])?$_POST["cv_hdn"]:$_FILES["cv_fls"]["tmp_name"];
- $acerca=$_POST["acerca_txta"];
- $socialMedia=$_POST["socialMedia_chk"];
- //Si se adjunto foto
- if(!empty($_FILES["foto_fls"]["tmp_name"])){
- //strstr($cadena1,$cadena2) sirve para evaluar si en la primer cadena de texto existe la segunda cadena de texto
- //Si dentro del tipo del archivo se encuentra la palabra image significa que el archivo es una imagen
- if(strstr($_FILES["foto_fls"]["type"],"image")){
- //para saber de que tipo de extension es la imagen
- if(strstr($_FILES["foto_fls"]["type"],"jpeg")){
- $extension=".jpg";
- }else if(strstr($_FILES["foto_fls"]["type"],"gif")){
- $extension=".gif";
- }else if(strstr($_FILES["foto_fls"]["type"],"png")){
- $extension=".png";
- }
- //para saber si la imagen tiene el ancho correcto que es de 420px
- $tamImg = getimagesize($_FILES["foto_fls"]["tmp_name"]);
- $anchoImg=$tamImg[0];
- $altoImg=$tamImg[1];
- //Si la imagen es mayor en su ancho que 420px, reajusto su tamaño
- if($anchoImg>420){
- //Por una regla de 3 obtengo el alto de la imagen de manera proporcional al ancho nuevo que sera de 420
- $nAnchoImg=420;
- $nAltoImg= ($altoImg/$anchoImg)*$nAnchoImg;
- //Creo una imagen en color real con las nuevas dimensiones
- $imgReajustada=imagecreatetruecolor($nAnchoImg,$nAltoImg);
- //Creo una imagen basada en la original, dependiendo de su extension es el tipo que creare
- switch($extension){
- case ".jpg":
- $imgOriginal = imagecreatefromjpeg($_FILES["foto_fls"]["tmp_name"]);
- //Reajusto la imagen nueva con respecto a la original
- imagecopyresampled($imgReajustada, $imgOriginal, 0, 0, 0, 0, $nAnchoImg, $nAltoImg, $anchoImg, $altoImg);
- //Guardo la imagen reescalada en el servidor
- imagejpeg($imgReajustada,"../img/fotos/".$usuario.$extension,100);
- //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
- borrarImagenes("../img/fotos/".$usuario,".jpg");
- break;
- case ".gif":
- $imgOriginal = imagecreatefromgif($_FILES["foto_fls"]["tmp_name"]);
- //Reajusto la imagen nueva con respecto a la original
- imagecopyresampled($imgReajustada, $imgOriginal, 0, 0, 0, 0, $nAnchoImg, $nAltoImg, $anchoImg, $altoImg);
- //Guardo la imagen reescalada en el servidor
- imagegif($imgReajustada,"../img/fotos/".$usuario.$extension);
- //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
- borrarImagenes("../img/fotos/".$usuario,".gif");
- break;
- case ".png":
- $imgOriginal = imagecreatefrompng($_FILES["foto_fls"]["tmp_name"]);
- //Reajusto la imagen nueva con respecto a la original
- imagecopyresampled($imgReajustada, $imgOriginal, 0, 0, 0, 0, $nAnchoImg, $nAltoImg, $anchoImg, $altoImg);
- //Guardo la imagen reescalada en el servidor
- imagepng($imgReajustada,"../img/fotos/".$usuario.$extension);
- //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
- borrarImagenes("../img/fotos/".$usuario,".png");
- break;
- }//cierra switch
- }else{
- //guarda el archivo temporal que se subira
- $imagen=$_FILES["foto_fls"]["tmp_name"];
- //guardo la ruta que tendra en el servidor la imagen
- $destino="../img/fotos/".$usuario.$extension;
- //Se sube la foto
- move_uploaded_file($imagen,$destino) or die("No se pudo subir la imagen al Servidor :(");
- //Ejecuto la funcion para borrar posibles imagenes dobles para el perfil
- borrarImagenes("../img/fotos/".$usuario,$extension);
- }//cierro if($anchoImg>420)
- //Asigno el nombre de la foto que se guardará en la BD como cadena de texto
- $foto=$usuario.$extension;
- }else{
- $mensaje="El campo Foto solo admite archivos de imagen jpg, gif o png";
- header("Location: ../index.php?cat=editarPerfil&mensaje=$mensaje");
- }//cierro if(strstr($_FILES["foto_fls"]["type"],"image"))
- }//cierra if(!empty($foto))
- //Si se adjunto un curriculum en pdf
- if(!empty($_FILES["cv_fls"]["tmp_name"])){
- //Si dentro del tipo del archivo se encuentra la palabra image significa que el archivo es una imagen
- if(strstr($_FILES["cv_fls"]["type"],"pdf")){
- //guarda el archivo temporal que se subira
- $archivo=$_FILES["cv_fls"]["tmp_name"];
- //guardo la ruta que tendra en el servidor el pdf
- $destino="../img/cvs/".$usuario.".pdf";
- //Se sube el cv
- move_uploaded_file($archivo,$destino) or die("No se pudo subir el currículum al Servidor :(");
- $cv=$usuario.".pdf";
- }else{
- $mensaje="El campo Curriculum Vitae solo admite archivos pdf";
- header("Location: ../index.php?cat=editarPerfil&mensaje=$mensaje");
- }
- }//cierra if(!empty($cv))
- //Para que no mande error el query le asigno el valor de true o false al campo de socialMedia
- $socialMedia=($socialMedia)?1:0;
- //Actualizo el registro
- $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';";
- $ejecutarConsulta=mysql_query($consulta,$conexion);
- //Genero las variables dinámicas de las redes sociales haciendo un query a la tabla redesSociales
- $consulta="SELECT * FROM redesSociales;";
- $ejecutarConsulta=mysql_query($consulta,$conexion);
- //por cada red que exista en la tabla hará lo siguiente:
- for($i=0;$registro=mysql_fetch_array($ejecutarConsulta);$i++){
- //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.
- $cajaText=$registro["nombre"]."_txt";
- //Esta variable me guarda el valor de la caja de texto html de la red social que viene por post del formulario
- $valorRed=$_POST["$cajaText"];
- $idRedSocial[$i]=$registro["idred"];
- $loginRedSocial[$i]=$valorRed;
- //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
- if(!empty($valorRed)){
- //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
- $consulta2="SELECT * FROM redXContacto WHERE usuario='$usuario' and idred=$idRedSocial[$i];";
- $ejecutarConsulta2=mysql_query($consulta2,$conexion);
- $numRegistro2=mysql_num_rows($ejecutarConsulta2);
- if($numRegistro2==0){
- $consulta3="INSERT INTO redXContacto (idredxcontacto,idred,usuario,url) VALUES (0,$idRedSocial[$i],'$usuario','$loginRedSocial[$i]');";
- } else {
- $consulta3="UPDATE redXContacto SET url='$loginRedSocial[$i]' WHERE idred=$idRedSocial[$i] and usuario='$usuario';";
- }
- $ejecutarConsulta3=mysql_query($consulta3,$conexion);
- }else{
- $consulta2="DELETE FROM redXContacto WHERE usuario='$usuario' and idred=$idRedSocial[$i];";
- $ejecutarConsulta2=mysql_query($consulta2,$conexion);
- }//cierro if(!empty($valorRed)){
- }//cierra for
- $mensaje="Los cambios se actualizaron con éxito :)";
- header("Location: ../index.php?cat=editarPerfil&mensaje=$mensaje");
- ?>
Add Comment
Please, Sign In to add comment