mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
128 lines
3.3 KiB
PHP
128 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
class Test extends BaseController
|
|
{
|
|
|
|
|
|
function __construct()
|
|
{
|
|
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
echo '<pre>';
|
|
var_dump($this->validateControllerAccess());
|
|
echo '</pre>';
|
|
}
|
|
|
|
public function validateControllerAccess(){
|
|
$request = \Config\Services::request();
|
|
$uri = $uri = new \CodeIgniter\HTTP\URI('https://sk-jjo.imnavajas.es/envioslogistica/logistica');
|
|
$language = \Config\Services::language();
|
|
$language->setLocale(session()->lang);
|
|
|
|
$getWhiteList = $this->whiteListController();
|
|
|
|
foreach ($getWhiteList as $item){
|
|
if(strtolower($item) == $uri->getSegment(1)){
|
|
return true;
|
|
}
|
|
}
|
|
|
|
$getRules = json_decode(session()->get('rules')??'[]');
|
|
|
|
foreach ($this->whiteListMethod() as $item){
|
|
if(strtolower($item) == $uri->getSegment(2)){
|
|
return true;
|
|
}
|
|
}
|
|
|
|
foreach ($getRules as $key=>$value){
|
|
if($key=='Digitalizacion') {
|
|
echo 'Hola';
|
|
}
|
|
if(strtolower($key) == $uri->getSegment(1)){
|
|
if($uri->getTotalSegments() <= 1){
|
|
return true;
|
|
}
|
|
foreach ($value as $item){
|
|
if(strtolower($item) == $uri->getSegment(2)){
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
foreach($this->controllerFolderWhiteList() as $folder){
|
|
|
|
if(strtolower($folder) == $uri->getSegment(1)){
|
|
|
|
if(strtolower($key) == $uri->getSegment(2)){
|
|
if($uri->getTotalSegments() <= 2){
|
|
return true;
|
|
}
|
|
|
|
foreach ($value as $item){
|
|
if(strtolower($item) == $uri->getSegment(3)){
|
|
return true;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public function whiteListController(){
|
|
return [
|
|
'',
|
|
'BaseController',
|
|
'Home',
|
|
'Login',
|
|
'Oauth',
|
|
'Language',
|
|
'Api',
|
|
'Cron',
|
|
'lang',
|
|
'Ajax',
|
|
'Integration',
|
|
'Migrate',
|
|
'Test',
|
|
|
|
];
|
|
}
|
|
|
|
public function whiteListMethod(){
|
|
return [
|
|
'initController',
|
|
'__construct',
|
|
'validateControllerAccess',
|
|
'whiteListController',
|
|
'whiteListMethod'
|
|
];
|
|
}
|
|
|
|
public function controllerFolderWhiteList(){
|
|
return [
|
|
'Catalogo',
|
|
'Clientes',
|
|
'Configuracion',
|
|
'Digitalizacion',
|
|
'Facturacion',
|
|
'Informes',
|
|
'EnviosLogistica',
|
|
'Pedidos',
|
|
'Presupuestos',
|
|
'Produccion',
|
|
'Proveedores',
|
|
'Tarifas',
|
|
'Usuarios',
|
|
];
|
|
}
|
|
} |