tieneAcceso() || !$objSesion->puedeEditar()){ header("Location: materias.php?error=2"); exit(); } unset($objValida); if(!isset($_POST["fecha_inicial"]) || !isset($_POST["fecha_final"]) || !isset($_POST["texto"]) || (!isset($_POST["tipo"]) && !isset($_POST["usuario"])) ){ header("Location: ".$pag."?error=0"); exit(); } $aviso_id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto $fecha_inicial = trim(filter_input(INPUT_POST, "fecha_inicial", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto $fecha_inicial = fechaGuion($fecha_inicial); $fecha_final = trim(filter_input(INPUT_POST, "fecha_final", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto $fecha_final = fechaGuion($fecha_final); $texto = $_POST["texto"]; if(isset($_POST["tipo"])){ $tipoArr = $_POST["tipo"]; } if(isset($_POST["usuario"])){ $usuarioArr = $_POST["usuario"]; } try { $pdo->beginTransaction(); $stmt = $pdo->prepare('Select * from fd_avisodestinatario(:id)'); $stmt->bindParam(":id", $aviso_id); if(!$stmt->execute()){ $pdo->rollBack(); //echo "fd_avisodestinatario "; //print_r($stmt->errorInfo()); header("Location:".$pag."?error=1"); exit(); } $stmt = $pdo->prepare('Select * from fu_aviso(:id, :fini, :ffin, :texto, :usr)'); $stmt->bindParam(":id", $aviso_id); $stmt->bindParam(":fini", $fecha_inicial); $stmt->bindParam(":ffin", $fecha_final); $stmt->bindParam(":texto", $texto); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $pdo->rollBack(); //echo "fu_aviso "; //print_r($stmt->errorInfo()); header("Location:".$pag."?error=1"); exit(); } $stmt->closeCursor(); //Inserta tipo de usuarios if(isset($tipoArr)){ foreach($tipoArr as $tipo){//recorre nuevos //no esta en la anterior, inserta $stmt = $pdo->prepare('Select * from fi_avisotipo(:aviso, :tipo)'); $stmt->bindParam(":aviso", $aviso_id); $stmt->bindParam(":tipo", $tipo); if(!$stmt->execute()){ $pdo->rollBack(); echo "fi_avisotipo"; print_r($stmt->errorInfo()); //header("Location:".$pag."?id=".$id."&error=3"); exit(); } $stmt->closeCursor(); } } //Inserta usuarios if(isset($usuarioArr)){ foreach($usuarioArr as $usuario){ $stmt = $pdo->prepare('Select * from fi_avisousuario(:aviso, :usr)'); $stmt->bindParam(":aviso", $aviso_id); $stmt->bindParam(":usr", $usuario); if(!$stmt->execute()){ $pdo->rollBack(); echo "fi_avisousuario"; print_r($stmt->errorInfo()); //header("Location:".$pag."?error=4"); exit(); } } $stmt->closeCursor(); } $stmt = null; $log = new LogActividad(); $desc_log = "Actualiza aviso ID[".$aviso_id."] Fecha inicial[".$fecha_inicial."] Fecha final[".$fecha_final."]"; $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log); $pdo->commit(); header("Location: ../avisos.php?ok=0"); }catch(PDOException $e) { $pdo->rollBack(); header("Location:".$pag."?error=1"); } ?>