<?
include("../Librerias/ConfNivel2.inc");
$Nivel=$_Nivel2;
$ObjSesion=new Sesiones();                ///Clase Sesión
$ObjSesion->MVerifica($Nivel);
$Conexion=new DBAccess($Servidor,$UsuarioBD,$ClaveBD,$BaseDatos);
$Formulario=new Formulario();
FEncabezado($Nivel);
/*Obtenemos los valor por post*/
$tags2 = array_keys($_POST); // obtiene los nombres de las variables
$valores2 = array_values($_POST);// obtiene los valores de las variables
$i=0;
foreach ($_POST as $valores){
 ${$tags2[$i]}=$valores;
 $i++;	
}
/*-----------------------------*/
if ($_GET["UsuarioId"])
$UsuarioId = $_GET["UsuarioId"];

$Consulta="Select * from usuarios where IdUsuario=$UsuarioId";
//echo "-->".$UsuarioId." ---Tipo-->".$_SESSION["Tipo"];
$Row=$Conexion->MSelectRegistro($Consulta);
//$Vector=explode("-",$S_SV[Ubicacion]);
//echo $Consulta;
$Elementos=count($Vector);

if ($_SESSION["Tipo"]!='A')
  {
   FAccesoDenegado('../');
   exit();
  }


if ($UsuarioId){

 if ($_SESSION["IdUsuario"]==$UsuarioId)
  {
   FAccesoDenegado('../');
   exit();
  }

 $Consulta="Select * from usuarios ";
 $Resultado=$Conexion->MVectorRegistro($Consulta);
 $Registros = mysqli_fetch_array($Resultado);
 $BanEXZ=0;
 do{
  if ($UsuarioId==$Registros["IdUsuario"])
   $BanEXZ=1; 
 }while ($Registros = mysqli_fetch_array($Resultado));

 if ($BanEXZ==0)
  {
   FAccesoDenegado('');
   //echo "aca es";
   exit();
  }

}
//////////////////////////////////////////////////////////////

if ($Row["Tipo"]=='A')
 $BanUser=1;
else
 $BanUser=0;
?>

<br>
<div align="center">
  <? FTitulo("USUARIOS","Center");
     FSubtitulo("Módulos como Administrador","Center"); ?>
         </div>
<br>
<?php
if ($Guardar){
	$ConsultaBorra="DELETE from usuariosadmin where IdUsuario=$UsuarioId";
	$Conexion->MEjecutarSQL($ConsultaBorra);
	for ($x=0;$x<$Contador;$x++){
	    $NombreAcceso='Acceso'.$x;
	    $NombreTipo='Tipo'.$x;
	    $NombreSub='Subsistema'.$x;
	    $NombreOp='NoOpcion'.$x;
	    if ($$NombreAcceso=='Activo'){
	      $Consulta="Insert into usuariosadmin(IdUsuario,IdSubsistema,NoOpcion)
	                 Values ($UsuarioId,".$$NombreSub.",".$$NombreOp.")";
	      $Conexion->MEjecutarSQL($Consulta);
	    }
	}

FMensajeScript("MODULOS DE ADMINISTRADOR MODIFICADOS","Usuarios.php?UsuarioId=$UsuarioId&Consulta=1");
exit();
}
else {
?>

<form action="ModulosUsuariosAdmin.php" method="post" name="Formulario">
<input type="hidden" name="UsuarioId" value="<?php echo $UsuarioId?>">
  <table width="95%" border="0" align="center">
    <tr>
      <td colspan="4">
           <div align="center">
            <?php $Formulario->MBotonEnviar("Guardar","","2");?>
                &nbsp;<a href="javascript:history.back()"><strong>[ Regresar ]</strong></a>
           </div></td>
    </tr>
    <tr bgcolor="<? echo $_CCT; ?>">
      <td colspan="4" >
        <div align="center"><font color="#FF0000"><strong>USUARIO
          : <?php echo $Row["Usuario"]?></strong></font></div></td>
    </tr>
    <tr bgcolor="<? echo $_CCT; ?>">
      <td width="7%"> <div align="center"><strong>#</strong></div></td>
      <td width="46%"> <div align="center"><strong>SUBSISTEMA Y MODULOS</strong></div></td>
      <td width="11%"> <div align="center"><strong>ACCESO</strong></div></td>
    </tr>
    <?php
        ////primero sacar los Sistemas a los que tiene acceso el Usuario de Sesión
/*$Consulta="SELECT distinct A.IdSubsistema,B.* FROM SubsistemaUsuarios A inner join
           Subsistemas B on A.IdSubsistema=B.IdSubsistema WHERE
                   A.IdUsuario=$_SESSION["IdUsuario"] Order by A.IdSubsistema";*/

$Consulta="SELECT DISTINCT a.IdSubsistema,b.* FROM subsistemausuarios a INNER JOIN subsistemas b 
           ON a.IdSubsistema=b.IdSubsistema  WHERE a.IdUsuario=".$_SESSION["IdUsuario"]." ORDER BY a.IdSubsistema ASC";

//echo $Consulta.'<br>';
//echo "sacar los Sistemas del usuario :<b>".$Consulta."</b><br><br>";
$Resultado=$Conexion->MVectorRegistro($Consulta);
$Registros=mysqli_fetch_array($Resultado);
if (!$Registros){///inicio if validacion si hay datos
   echo 'No tiene asignado algún sistema';
   exit();
}///fin if validacion si hay datos

$Cont=0;

do{/////inicio primer do
 $ConsultaAcceso="SELECT * FROM modulosusbsistema WHERE IdSubsistema=".$Registros["IdSubsistema"]." AND Acceso=1 Order by NoOpcion";
 //echo $ConsultaAcceso.'<br>';
 $ResAcceso=$Conexion->MVectorRegistro($ConsultaAcceso);
 $RegAcceso=$Conexion->Numfilas($ConsultaAcceso);
 //echo $RegAcceso.'<br>';
 if ($RegAcceso!=0) {
 echo '<tr bgcolor="'.$_CCT.'"><td>&nbsp;</td><td colspan="3">
        <font color="#000000"><b>'.$Registros["Nombre"].'</b></font></td></tr>';
  }
 
 ////segundo sacar los módulos de cada Sistemas a los que tiene acceso el Usuario de Sesión
  $ConModulos="SELECT * FROM subsistemausuarios WHERE IdSubsistema=".$Registros["IdSubsistema"]." and IdUsuario=".$_SESSION["IdUsuario"]." Order by NoOpcion ASC";
 $ResModulos=$Conexion->MVectorRegistro($ConModulos);
 $RowModulos=mysqli_fetch_array($ResModulos);
 //echo $ConModulos.'<br>';
 do{//inicio segundo do
  /////////tercero sacar los nombres de los módulos
  if ($BanUser==1) {
   $ConModSub="Select * from modulosusbsistema where Acceso=1 and IdSubsistema=".$RowModulos["IdSubsistema"]." and
               NoOpcion=".$RowModulos["NoOpcion"];
  }else{
   $ConModSub="Select * from modulosusbsistema where Acceso=1 and IdSubsistema=".$RowModulos["IdSubsistema"]." and
               NoOpcion=".$RowModulos["NoOpcion"];
  }
  
  $ResModSub=$Conexion->MVectorRegistro($ConModSub);
 // $ConModSub=mysqli_num_rows($ResModSub); 
  $ConModSub=$Conexion->Numfilas($ConModSub);
  if ($ConModSub!=0){
   $RowModSub=mysqli_fetch_array($ResModSub);
   do{///Inicio Tercer do/////////////////////////////////////////////////////////////////////////////////
     $NombreAcceso='Acceso'.$Cont;
     //$NombreTipo='Tipo'.$Cont;
     $NombreSub='Subsistema'.$Cont;
     $NombreOp='NoOpcion'.$Cont;

     $ConRow="Select * from usuariosasmin where IdUsuario=$UsuarioId and
              IdSubsistema=".$RowModSub["IdSubsistema"]." and NoOpcion=".$RowModSub["NoOpcion"];
     $RowModUsuario=$Conexion->MSelectRegistro($ConRow);
 
     if ($RowModUsuario)
      $Checked=" Checked>";
     else
      $Checked=">";
     
     echo '<tr>
            <td><div align="center">'.$RowModulos["IdSubsistema"].'</div></td>
            <td>'.$RowModSub["Nombre"].'</td>
            <td><div align="center">
            <input type="checkbox" value="Activo" name="'.$NombreAcceso.'" '.$Checked.'
            <input type="hidden" name="'.$NombreSub.'" value="'.$RowModulos["IdSubsistema"].'">
            <input type="hidden" name="'.$NombreOp.'" value="'.$RowModSub["NoOpcion"].'">
            </div></td>
           </tr>';
      
   }while ($RowModSub=mysqli_fetch_array($ResModSub));///de los Módulos del Subsistemas fin tercer do
  }///////////////////////////////////////////////////////////////////////////////////////////////
  $Cont++;
 } while ($RowModulos=mysqli_fetch_array($ResModulos));///fin segundo do
} while ($Registros=mysqli_fetch_array($Resultado));////fin primer do

//////////////////////////////////////////Los modulos de acceso a los que tiene el usuario
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////

    echo '<input type="hidden" name="Contador" value="'.$Cont.'">';
    echo '<tr><td colspan="4"><div align="center">';
               $Formulario->MBotonEnviar("Guardar","","2");
                   echo '&nbsp;<a href="javascript:history.back()"><strong>[ Regresar ]</strong></a>';
         echo '</div></td>';
}///////fin opcion desplegado del formulario
?></form>