cambios de legacytables3

This commit is contained in:
Jaime Jiménez
2023-05-16 12:59:12 +02:00
parent ea0c714550
commit 5a0b82dcbb
58 changed files with 2955 additions and 468 deletions

View File

@ -3,7 +3,8 @@
namespace App\Controllers;
use App\Models\Usuarios\UserModel;
use App\Models\Usuarios\UserGroupModel;
use App\Entities\Usuarios\UserGroupEntity;
class Test extends BaseController
{
@ -16,11 +17,122 @@ class Test extends BaseController
public function index()
{
helper('general');
echo lang('Tarifaacabado.tarifaacabado');
echo '<pre>';
var_dump(getMenuControl());
var_dump(json_decode(session()->get('rules')??'[]'));
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',
];
}
}