tieneAcceso()){ $objSesion->terminaSesion(); //print_r($objSesion->getError()); } if(!$objSesion->puedeEditar()){ header("Location: ".$pag."?error=3"); exit(); } unset($objValida); if(!isset($_POST["desc"]) || !isset($_POST["area"]) ){ header("Location: ".$pag."?error=0"); exit(); } $desc = trim(filter_input(INPUT_POST, "desc", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto $areaadmin = filter_input(INPUT_POST, "area", FILTER_SANITIZE_NUMBER_INT);//limpia texto /*$tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//limpia texto if($tipo == 1) $tipo = "true"; else $tipo = "false";*/ if(isset($_POST["tipo"])){ $tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//limpia texto if($tipo != 1) $tipo = 1; }else{ $tipo = 0; } if(isset($_POST["checador"])){ $checador = filter_input(INPUT_POST, "checador", FILTER_SANITIZE_NUMBER_INT);//limpia texto if($checador != 1) $checador = 1; }else{ $checador = 0; } if(isset($_POST["proceso"])){ $proceso = filter_input(INPUT_POST, "proceso", FILTER_SANITIZE_NUMBER_INT);//limpia texto if($proceso != 1) $proceso = 1; }else{ $proceso = 0; } $areaacad = array(); if(isset($_POST["areaacad"])) $areaacad = $_POST["areaacad"]; $query = ""; if(isset($_POST["id_superior"]) && $_POST["id_superior"] != ""){ $query .= ":sup, "; $superior = filter_input(INPUT_POST, "id_superior", FILTER_SANITIZE_NUMBER_INT);//limpia texto }else{ $query .= "NULL, "; } if(isset($_POST["usuario"]) && $_POST["usuario"] != ""){ $query .= ":usr"; $usr = filter_input(INPUT_POST, "usuario", FILTER_SANITIZE_NUMBER_INT);//limpia texto }else{ $query .= "NULL"; } $pdo->beginTransaction(); $stmt = $pdo->prepare("Select * from fi_puesto(:desc, :aadmin, :tipo, :checa, :proceso, ".$query.")"); $stmt->bindParam(":desc", $desc); $stmt->bindParam(":aadmin", $areaadmin); $stmt->bindParam(":tipo", $tipo); $stmt->bindParam(":checa", $checador); $stmt->bindParam(":proceso", $proceso); if(isset($superior)) $stmt->bindParam(":sup", $superior); if(isset($usr)) $stmt->bindParam(":usr", $usr); if(!$stmt->execute()){ print_r($stmt->errorInfo()); header("Location:".$pag."?error=1"); $pdo->rollBack(); exit(); } $rs = $stmt->fetch(); $stmt->closeCursor(); $stmt = null; $puesto = $rs["fi_puesto"]; //areas académicas $stmt = $pdo->prepare("Select * from fi_puesto_areaacademica(:puesto, :area)"); $stmt->bindParam(":puesto", $puesto); foreach($areaacad as $area){ if($area != ""){ $stmt->bindParam(":area", $area); if(!$stmt->execute()){ print_r($stmt->errorInfo()); header("Location:".$pag."?error=5"); $pdo->rollBack(); exit(); } } } $stmt->closeCursor(); $stmt = null; $pdo->commit(); $log = new LogActividad(); $desc_log = "Inserta menú puesto ID[".$rs["fi_puesto"]."] Nombre[".$desc."] Tipo[".$tipo."] Área Admin[".$areaadmin."]"; /*if(isset($areaacad)) $desc_log.= "Área Acad [".$areaacad."]";*/ if(isset($superior)) $desc_log.= "Superior[".$superior."]"; $log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log); header("Location: ".$pag."?ok=0"); exit(); ?>