Files
safekat/ci4/app/Controllers/Test.php

134 lines
3.4 KiB
PHP

<?php
namespace App\Controllers;
use App\Models\Usuarios\UserModel;
class Test extends BaseController
{
function __construct()
{
}
public function index()
{
$user_model = new UserModel();
echo '<pre>';
var_dump($user_model->getGroupsTitles('c0bf18621f78cb2ffc4a67cf8d5173c7'));
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',
];
}
}