123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <?php
- /*
- * Actualiza perfil de usuario actual
- * Recibe:
- * nombre
- * paterno
- * materno
- * pass * opcional, si no se recibe se mantiene contraseña
- * correo
- * telcasa
- * telcel
- *
- * Error:
- * 0 - no se recibieron todos los campos
- * 1 - error al guardar en base de datos
- *
- * Success:
- */
- include_once("../../include/nocache.php");
- require_once("../../include/constantes.php");
- require_once("../../include/bd_pdo.php");//die on error
- require_once("../../classes/ValidaSesion.php");//die on error
- require_once("../../include/util.php");
- require_once("../classes/LogActividad.php");//die on error
- $objValida = new ValidaSesion($pdo, NULL, APSA);
- /*if(!$objValida->tieneAcceso()){
- $objValida->terminaSesion();
- }
- if(!$objValida->puedeEditar()){
- header("Location: ../main.php");
- exit();
- }
- unset($objValida);*/
- $pag = "../perfil.php";
- try {
- $pdo->beginTransaction();
-
- if(isset($_POST["direccion"]) ){
- $dir = trim(filter_input(INPUT_POST, "direccion", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto
- $stmt = $pdo->prepare('Select * from fu_usuariodireccion(:usr, :dir)');//borra contacto actual
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":dir", $dir);
- if(!$stmt->execute()){
- $pdo->rollBack();
- print_r($stmt->errorInfo());
- //header("Location:".$pag."?error=1");
- exit();
- }
- }
-
- //---- Actualiza datos de contacto ----
- $stmt = $pdo->prepare('Select * from fd_contacto(:usr, NULL)');//borra contacto actual
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- if(!$stmt->execute()){
- $pdo->rollBack();
- print_r($stmt->errorInfo());
- //header("Location:".$pag."?error=1");
- exit();
- }
-
- if(isset($_POST["contacto_tipo"]) ){
- $tipoArr = $_POST["contacto_tipo"];
- $valorArr = $_POST["contacto_valor"];
- $perfilArr = $_POST["contacto_perfil"];
- $subtipoArr = $_POST["contacto_subtipo"];
-
- for($i=0; $i< count($tipoArr); $i++){
- if(trim($valorArr[$i]) != ""){
- if($subtipoArr[$i] != 0){
- $stmt = $pdo->prepare('Select * from fi_contacto(:valor, :tipo, :usr, :perf, :subt)');//inserta contactos
- $stmt->bindParam(":subt", $subtipoArr[$i]);
- }else{
- $stmt = $pdo->prepare('Select * from fi_contacto(:valor, :tipo, :usr, :perf, NULL)');//inserta contactos
- }
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":valor", $valorArr[$i]);
- $stmt->bindParam(":tipo", $tipoArr[$i]);
- $stmt->bindParam(":perf", $perfilArr[$i]);
- if(!$stmt->execute()){
- $pdo->rollBack();
- //echo "Error fi_contacto [".$valorArr[$i]."] [".$tipoArr[$i]."] [".$usr_id."]<br>";
- print_r($stmt->errorInfo());
- //header("Location:".$pag."?error=1");
- exit();
- }
- }
- }
- $stmt->closeCursor(); // cierra conexion de resultado
- }
- $stmt = $pdo->prepare('Select * from fd_contactoemergencia(:usr)');//inserta contactos
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- if(!$stmt->execute()){
- $pdo->rollBack();
- //echo "Error fi_contacto [".$valorArr[$i]."] [".$tipoArr[$i]."] [".$usr_id."]<br>";
- print_r($stmt->errorInfo());
- //header("Location:".$pag."?error=1");
- exit();
- }
- if(!empty($_POST["emergencia_nombre"]) && !empty($_POST["emergencia_tel"])){
- $enom = $_POST["emergencia_nombre"];
- $etel = $_POST["emergencia_tel"];
- $stmt = $pdo->prepare('Select * from fi_contactoemergencia(:usr, :nombre, :tel)');//inserta contactos
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":nombre", $enom);
- $stmt->bindParam(":tel", $etel);
- if(!$stmt->execute()){
- $pdo->rollBack();
- //echo "Error fi_contacto [".$valorArr[$i]."] [".$tipoArr[$i]."] [".$usr_id."]<br>";
- print_r($stmt->errorInfo());
- //header("Location:".$pag."?error=1");
- exit();
- }
- }
-
-
- $log = new LogActividad();
- $desc_log = "Actualiza perfil usuario ID[".$usr_id."]";
- $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
-
- $stmt = null; // cierra conexion
-
- $pdo->commit();
- header("Location:".$pag."?ok=0");
- } catch(PDOException $e) {
- $pdo->rollBack();
- echo "Catch ";
- print_r($e);
- //header("Location:".$pag."?error=1");
- }
- ?>
|