<?php

include('../../path.php');

require_once(ROOT_CONFIG);

    $Id_Rol=!empty($_REQUEST['Id_Rol'])?$_REQUEST['Id_Rol']:'';

    $Titulo_Rol=!empty($_REQUEST['Titulo_Rol'])?$_REQUEST['Titulo_Rol']:'';

    $table=!empty($_REQUEST['table'])?$_REQUEST['table']:'';

    $Id_Modulo_App=!empty($_REQUEST['Id_Modulo_App'])?$_REQUEST['Id_Modulo_App']:'';

    $Titulo_Modulo=!empty($_REQUEST['Titulo_Modulo'])?$_REQUEST['Titulo_Modulo']:'';

    $Registrar=!empty($_REQUEST['Registrar'.$Id_Rol])?$_REQUEST['Registrar'.$Id_Rol]:'';

    if($Registrar==''){$Registrar='No';}

    $Leer=!empty($_REQUEST['Leer'.$Id_Rol])?$_REQUEST['Leer'.$Id_Rol]:'';

    if($Leer==''){$Leer='No';}

    $Editar=!empty($_REQUEST['Editar'.$Id_Rol])?$_REQUEST['Editar'.$Id_Rol]:'';

    if($Editar==''){$Editar='No';}

    $Exportar=!empty($_REQUEST['Exportar'.$Id_Rol])?$_REQUEST['Exportar'.$Id_Rol]:'';

    if($Exportar==''){$Exportar='No';}

    $Eliminar=!empty($_REQUEST['Eliminar'.$Id_Rol])?$_REQUEST['Eliminar'.$Id_Rol]:'';

    if($Eliminar==''){$Eliminar='No';}

    echo "Validando permisos de usuarios";

    echo "<br>".$Id_Rol;

    echo "<br>".$Titulo_Rol;

    echo "<br>".$table;

    echo "<br>".$Id_Modulo_App;

    echo "<br>".$Titulo_Modulo;

    echo "<br>Registrar: ".$Registrar;

    echo "<br>Leer: ".$Leer;

    echo "<br>Editar: ".$Editar;

    echo "<br>Exportar: ".$Exportar;

    echo "<br>Eliminar: ".$Eliminar;

    $Odbj_conexion = new odbconexion;

    $conexion=$Odbj_conexion->openconection();

    $consulta="SELECT * FROM permiso_app_appquadrata where Id_Fk_Rol='$Id_Rol' AND Tabla_Modulo='$table'";

    $Adapter_permisos_modulo=$conexion->query($consulta);

    $conexion->close();

    if($Adapter_permisos_modulo->num_rows>0){

        //caso contrario, si no existe un registro con la informacion, agregamos el registro.

        $Odbj_conexion = new odbconexion;

        $conexion=$Odbj_conexion->openconection();

        $consulta="UPDATE permiso_app_appquadrata SET Registrar='$Registrar', Leer='$Leer', Editar='$Editar',Exportar='$Exportar', Eliminar='$Eliminar' WHERE Id_Fk_Rol='$Id_Rol' AND Tabla_Modulo='$table'";

        $conexion->query($consulta);

        $conexion->close();

        

    }else{

        //Si ya existe un registro con el Rol, solamente modificamos la informacion.

        $Odbj_conexion = new odbconexion;

        $conexion=$Odbj_conexion->openconection();

        $consulta="INSERT INTO permiso_app_appquadrata(Id_Fk_Rol,Titulo_Rol_Fk,Id_Modulo_Fk,Tabla_Modulo,Titulo_Modulo_Fk,Registrar,Leer,Editar,Eliminar,Exportar) VALUES ('$Id_Rol', '$Titulo_Rol', '$Id_Modulo_App', '$table', '$Titulo_Modulo', '$Registrar', '$Leer', '$Editar','$Eliminar','$Exportar') ";

        $conexion->query($consulta);

        $conexion->close();



    }



    /*obtenemos los campos de la tabla y guardamos la informacion*/

    $Odbj_conexion = new odbconexion;

    $conexion=$Odbj_conexion->openconection();

    $consulta="select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '$table'";

    $Adapter_columna=$conexion->query($consulta);

    $conexion->close();

    while($Field_columna=$Adapter_columna->fetch_assoc())

    {

        $name_columna=$Field_columna['COLUMN_NAME'];

        $Registrar_Columna=!empty($_REQUEST['Registrar_Columna'.$name_columna])?$_REQUEST['Registrar_Columna'.$name_columna]:'';

        if($Registrar_Columna==''){$Registrar_Columna='No';}

        $Leer_Columna=!empty($_REQUEST['Leer_Columna'.$name_columna])?$_REQUEST['Leer_Columna'.$name_columna]:'';

        if($Leer_Columna==''){$Leer_Columna='No';}

        $Editar_Columna=!empty($_REQUEST['Editar_Columna'.$name_columna])?$_REQUEST['Editar_Columna'.$name_columna]:'';

        if($Editar_Columna==''){$Editar_Columna='No';}

        $Exportar_Columna=!empty($_REQUEST['Exportar_Columna'.$name_columna])?$_REQUEST['Exportar_Columna'.$name_columna]:'';

        if($Exportar_Columna==''){$Exportar_Columna='No';}

        /*validaciones para guardar o modificar la informacion*/

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="SELECT * FROM permiso_columna_appquadrata where Id_Fk_Rol='$Id_Rol' AND Tabla_Modulo='$table' AND Titulo_Columna='$name_columna'";

            $Adapter_permisos_columna=$conexion->query($consulta);

            $conexion->close();

            if($Adapter_permisos_columna->num_rows>0){

                //caso contrario, si no existe un registro con la informacion, agregamos el registro.

                $Odbj_conexion = new odbconexion;

                $conexion=$Odbj_conexion->openconection();

                $consulta="UPDATE permiso_columna_appquadrata SET Registrar_Columna='$Registrar_Columna', Leer_Columna='$Leer_Columna', Editar_Columna='$Editar_Columna',Exportar_Columna='$Exportar_Columna' WHERE Id_Fk_Rol='$Id_Rol' AND Tabla_Modulo='$table' AND Titulo_Columna='$name_columna'";

                $conexion->query($consulta);

                $conexion->close();

                

            }else{

                //Si ya existe un registro con el Rol, solamente modificamos la informacion.

                $Odbj_conexion = new odbconexion;

                $conexion=$Odbj_conexion->openconection();

                $consulta="INSERT INTO permiso_columna_appquadrata(Id_Fk_Rol,Titulo_Rol_Fk,Id_Modulo_Fk,Tabla_Modulo,Titulo_Modulo_Fk,Titulo_Columna,Registrar_Columna,Leer_Columna,Editar_Columna,Exportar_Columna) VALUES ('$Id_Rol', '$Titulo_Rol', '$Id_Modulo_App', '$table','$Titulo_Modulo','$name_columna',  '$Registrar_Columna', '$Leer_Columna', '$Editar_Columna','$Exportar_Columna') ";

                $conexion->query($consulta);

                $conexion->close();



            }



    }



    $locations="Location: ./frm_permiso.php?Id_Rol=$Id_Rol&Titulo_Rol=$Titulo_Rol";

    header($locations);



?>