hello friends, i created an event calling a class, so far it works fine
app/Config/Events.php
Code:
Events::on('post_controller_constructor', 'App\Libraries\Services\Checks\checkPermissions::check');
what I would like to know, what is the way to disable it in some controllers, since the class that I am calling uses the uri function and it is bringing me an error at startup and the best way would be to disable it in some controllers such as the main page and login Class:
Code:
<?php
namespace App\Libraries\Services\Checks;
class checkPermissions
{
public static $allowed = array('index', 'logout');
public static function check()
{
$permisosModel = model('Permisos');
$uri = current_url(true);
//variable de session para la consulta
$tipo_perfil = session()->get('admin.tipo_perfil');
//variables de la url
$controlador = trim(strtolower($uri->getSegment(2)));
$funcion = strtolower($uri->getSegment(3));
if($funcion == '') {
$funcion = "index";
}
$consultaSql = $permisosModel->query('SELECT
permisos.id_permiso,
permisos.nombre_permiso,
permisos.controlador,
permisos.funcion,
permisos_tipo_perfil.id_permisos_tipo_perfil,
permisos_tipo_perfil.permisos_id_permiso,
permisos_tipo_perfil.tipo_usuario_id_tipo_perfil
FROM
permisos
INNER JOIN
permisos_tipo_perfil
ON
permisos.id_permiso = permisos_tipo_perfil.permisos_id_permiso
WHERE
permisos_tipo_perfil.tipo_usuario_id_tipo_perfil = '.$tipo_perfil.' AND
permisos.controlador = "'.$controlador.'" AND
permisos.funcion = "'.$funcion.'"');
//echo $consultaSql->getNumRows();
if ($consultaSql->getNumRows() >= 1) {
echo "<script>window.alert('Success');</script>";
} else {
echo "<script>window.alert('Error');</script>";
}
}
}