tieneAcceso()){ $objSesion->terminaSesion(); //print_r($objSesion->getError()); } if(!$objSesion->puedeEditar()){ header("Location: ".$pag); exit(); } unset($objValida); if(!isset($_POST["insignia_id"], $_POST["usr_id"], $_POST["titulo"], $_POST["desc"], $_POST["categoria"], $_POST["puesto"]) ){ header("Location: ".$pag."?error=0"); exit(); } //$titulo = trim(filter_input(INPUT_POST, "titulo", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto //$desc = trim(filter_input(INPUT_POST, "desc", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto $titulo = trim($_POST["titulo"]);//limpia texto $desc = trim($_POST["desc"]);//limpia texto $cat = filter_input(INPUT_POST, "categoria", FILTER_SANITIZE_NUMBER_INT);//limpia texto $puesto = filter_input(INPUT_POST, "puesto", FILTER_SANITIZE_NUMBER_INT);//limpia texto $usr_id = filter_input(INPUT_POST, "usr_id", FILTER_SANITIZE_NUMBER_INT);//limpia texto $id_insignia = filter_input(INPUT_POST, "insignia_id", FILTER_SANITIZE_NUMBER_INT);//limpia texto if(!empty($_POST["fecha_inicial"])) $fecha_ini = fechaGuion(trim(filter_input(INPUT_POST, "fecha_inicial", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto $fecha_fin = fechaGuion(trim(filter_input(INPUT_POST, "fecha_final", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto try{ $pdo->beginTransaction(); /*if(isset($target_file)){ //Está mal, no se cambia evidencia $stmt = $pdo->prepare('Select * from fu_insignia(:titulo, :desc, :tipo, :puesto, true, NULL, NULL)'); $stmt->bindParam(":evidencia", $target_file); }else{*/ $stmt = $pdo->prepare('Select * from fu_insignia(:id, :titulo, :desc, :tipo, :puesto, NULL, NULL)'); //} $stmt->bindParam(":id", $id_insignia); $stmt->bindParam(":titulo", $titulo); $stmt->bindParam(":desc", $desc); $stmt->bindParam(":tipo", $cat); $stmt->bindParam(":puesto", $puesto); if(!$stmt->execute()){ print_r($stmt->errorInfo()); $pdo->rollBack(); //header("Location:".$pag."?id=".$usr_id."&error=5"); exit(); } $stmt->closeCursor(); //Borra atributos $stmt = $pdo->prepare('Select * from fd_insignia_atributoegreso(:id, NULL)'); $stmt->bindParam(":id", $id_insignia); if(!$stmt->execute()){ $t = $stmt->errorInfo(); $pdo->rollBack(); header("Location:".$pag."?id=".$usr_id."&error=4"); exit(); } //Inserta atributos if(!$error && !empty($_POST["atributo"]) && !empty($_POST["nivel"]) ){ $stmt = $pdo->prepare('Select * from fi_insignia_atributoegreso(:id, :atr, :nivel)'); $stmt->bindParam(":id", $id_insignia); for($i=0; $i< count($_POST["atributo"]) && !$error; $i++){ if($_POST["atributo"][$i] != 0){ $stmt->bindParam(":atr", $_POST["atributo"][$i]); $stmt->bindParam(":nivel", $_POST["nivel"][$i]); if(!$stmt->execute()){ $t = $stmt->errorInfo(); $pdo->rollBack(); header("Location:".$pag."?id=".$usr_id."&error=4"); exit(); } } } $stmt->closeCursor(); } //hay archivo? No archivos en update /* if(isset($_FILES['archivo']['name'])){ $archivo = $_FILES['archivo']['name']; // Check file size if ($_FILES["archivo"]["size"] > 10 * 1024 * 1024) {//en bytes $pdo->rollBack(); header("Location:".$pag."?id=".$usr_id."&error=2"); exit(); } $dot_arr = explode('.', $archivo); $ext = end($dot_arr); unset($dot_arr); $target_file = $usr_id."_".$id_insignia.".".$ext; }*/ if(!empty($fecha_ini)){ $stmt = $pdo->prepare('Select * from fu_insigniapersonal(:usr, :ins, :fecha_ini, :fecha_fin)'); $stmt->bindParam(":fecha_ini", $fecha_ini); }else{ $stmt = $pdo->prepare('Select * from fu_insigniapersonal(:usr, :ins, NULL, :fecha_fin)'); } $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":ins", $id_insignia); $stmt->bindParam(":fecha_fin", $fecha_fin); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $pdo->rollBack(); header("Location:".$pag."?id=".$usr_id."&error=1"); exit(); } /*No archivos en update if(isset($target_file)){ $stmt = $pdo->prepare('Select * from fi_insigniaevidencia(:ins, :usr, :url)'); $stmt->bindParam(":url", $target_file); $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":ins", $id_insignia); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $pdo->rollBack(); header("Location:".$pag."?id=".$usr_id."&error=1"); exit(); } $stmt->closeCursor(); $target_dir = "../files/evidencias/"; if(file_exists($target_dir.$target_file)){ unlink($target_dir.$target_file); } if (!move_uploaded_file($_FILES["archivo"]["tmp_name"], $target_dir.$target_file)) { header("Location:".$pag."?id=".$usr_id."&error=3"); exit(); } }*/ $stmt->closeCursor(); $pdo->commit(); } catch(PDOException $e) { $pdo->rollBack(); echo "Ocurrió un error al insertar los datos del evento.". $e->getMessage(); //header("Location: ".$pag."?id=".$usr_id."&error=5"); exit(); } header("Location: ".$pag."?id=".$usr_id."&ok=0"); exit(); ?>