Welcome Guest, Not a member yet? Register   Sign In
Help events
#1
Sad 

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>";
}



}


}
Reply
#2

You can always use Filters to control which routes/controllers your class is run on.

https://codeigniter.com/user_guide/incom...lters.html
Reply




Theme © iAndrew 2016 - Forum software by © MyBB