tieneAcceso() || !$objSesion->puedeEditar()){
header("Location: ".$pag."?error=3");
exit();
}
unset($objValida);
if(!isset($_POST["permisosArr"]) || !isset($_POST["tipo"]) || !isset($_POST["sistema"])){
header("Location: ".$pag."?error=0");
exit();
}
$sist = $_POST["sistema"];
$permisosArr = $_POST["permisosArr"];
if(isset($_POST["editarArr"]))
$editarArr = $_POST["editarArr"];
else
$editarArr = array();
$tipoArr = explode("_", $_POST["tipo"]);
//Imprime valores recibidos
/*foreach($permisosArr as $permiso){
$tmp = explode("_", $permiso);//submenu_tipoUs
if(in_array($permiso, $editarArr)){//puede editar
echo "Select * from fi_submenupermisos($tmp[0], $tmp[1], true)
";
}else{
echo "Select * from fi_submenupermisos($tmp[0], $tmp[1], false)
";
}
}
exit();*/
try {
$pdo->beginTransaction();
//Lee que tipos de usuario estan disponibles y borra sus permisos
foreach($tipoArr as $tipo){
$stmt = $pdo->prepare('Select * from fd_permisorol(:tipo, :sist)');
$stmt->bindParam(":tipo", $tipo);
$stmt->bindParam(":sist", $sist);
//echo "fd_submenupermisos ($tipo)
";
if(!$stmt->execute()){
$pdo->rollBack();
//print_r($stmt->errorInfo());
header("Location:".$pag."?error=1");
exit();
}
$rs = $stmt->fetch();
$stmt->closeCursor();
}
foreach($permisosArr as $permiso){//recorre permisos ed visualizacion
$tmp = explode("_", $permiso);//submenu_tipoUsr
if(in_array($permiso, $editarArr)){//puede editar
$stmt = $pdo->prepare('Select * from fi_permisorol(:sub, :tipo, true)');
//echo "fi_submenupermisos ($tmp[0], $tmp[1], true)
";
}else{
$stmt = $pdo->prepare('Select * from fi_permisorol(:sub, :tipo, false)');
//echo "fi_submenupermisos ($tmp[0], $tmp[1], false)
";
}
$stmt->bindParam(":sub", $tmp[0]);
$stmt->bindParam(":tipo", $tmp[1]);
if(!$stmt->execute()){
$pdo->rollBack();
echo "ERROR ($tmp[0], $tmp[1], ..)
";
print_r($stmt->errorInfo());
// header("Location:".$pag."?id=".$id."&error=2");
exit();
}
$stmt->closeCursor();
}
$stmt = null;
/*$log = new LogActividad();
$desc_log = "Actualiza materia ID[".$id."] Nombre[".$desc."] Clave[".$clave."] Area[".$area."] Plan[".$plan."] Semestre[".$sem."] Horas de clase[".$horas_clase."] Créditos[".$creditos."]";
$log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
*/
$pdo->commit();
header("Location:".$pag."?ok=0");
}catch(PDOException $e) {
$pdo->rollBack();
header("Location:".$pag."?error=2");
}
?>