$item) { if(!strpos(strtolower($key),$compatibility)){ $name = str_replace('.php', '', $item); if(!getIgnoreController($name)){ $controllers[] = [ 'name' => $name, 'path' => '', 'methods' => get_class_methods('App\Controllers\\'.$name) ]; } }else{ foreach ($item as $subitem){ $name = str_replace('.php', '', $subitem); if(!getIgnoreController($name)) { $controllers[] = [ 'name' => $name, 'path' => $key, 'methods' => get_class_methods('App\Controllers\\' . str_replace('/', '\\', $key) . $name) ]; } } } } }else{ $array = explode('/',$controller); $dir = count($array) > 1 ? $array[0] : ''; $name = count($array) > 1 ? '\\'.$array[1] : $array[0]; $controllers[] = [ 'name' => $name, 'path' => $dir, 'methods' => get_class_methods('App\Controllers\\'.str_replace('/','\\',$dir).$name) ]; } return $controllers??[]; } catch (Exception $e) { return []; } } function getAllClassFolder($folder = null){ try { helper('filesystem'); helper('directory'); if(!empty($folder)){ $map = directory_map(APPPATH.'Controllers'); foreach ($map as $key=>$item) { if(strtolower(PHP_OS) == 'linux'){ $compatibility = '/'; }else{ $compatibility = '\\'; } if(str_replace($compatibility,'',strtolower($key)) == strtolower($folder)){ foreach ($item as $subitem){ $name = str_replace('.php', '', $subitem); $controllers[] = [ 'name' => $name, 'path' => $key, 'methods' => get_class_methods('App\Controllers\\'.str_replace('/','\\',$key).$name) ]; } } } } return $controllers??[]; } catch (Exception $e) { return []; } } function getAllFolder(){ try { helper('filesystem'); helper('directory'); $map = directory_map(APPPATH.'Controllers',1); if(strtolower(PHP_OS) == 'linux'){ $compatibility = '/'; }else{ $compatibility = '\\'; } foreach ($map as $item) { if(strpos(strtolower($item),$compatibility)){ $folders[] = str_replace($compatibility,"",$item); } } return $folders??[]; } catch (Exception $e) { return []; } } function getIgnoreController($controller) { try { $loginAuthFilter = new \App\Filters\LoginAuthFilter(); foreach ($loginAuthFilter->whiteListController() as $item){ if($controller == $item){ return true; } } return false; } catch (Exception $e) { return []; } } function getIgnoreMethod($method) { try { $loginAuthFilter = new \App\Filters\LoginAuthFilter(); foreach ($loginAuthFilter->whiteListMethod() as $item){ if($method == $item){ return true; } } return false; } catch (Exception $e) { return []; } } function getDictionary($word=''){ try { $dictionary = [ 'index' => lang("App.permisos_index"), 'view' => lang("App.permisos_view"), 'add' => lang("App.permisos_add"), 'edit' => lang("App.permisos_editar"), 'delete' => lang("App.permisos_del"), 'store' => lang("App.permisos_save"), 'import' => lang("App.permisos_import"), 'export' => lang("App.permisos_export"), 'Profile' => lang("App.permisos_perfil"), 'Activity' => lang("App.permisos_actividad"), 'Settings' => lang("App.permisos_configuracion"), 'my' => lang("App.permisos_my"), 'Notification' => lang("App.permisos_notificacion"), 'Users' => lang("App.permisos_usuarios"), 'User' => lang("App.permisos_usuario"), 'Group' => lang("App.permisos_roles"), 'Logistica' => lang("App.permisos_logistica"), 'Tarifas' => lang("App.permisos_tarifas"), 'Tarifapreimpresion' => lang("App.permisos_tarifapreimpresion"), 'Tarifamanipulado' => lang("App.permisos_tarifamanipulado"), 'Tarifapapelcompra' => lang("App.permisos_tarifapapelcompra"), 'Tarifaacabado' => lang("App.permisos_tarifaacabado"), 'Tarifapapeldefecto' => lang("App.permisos_tarifapapeldefecto"), 'Tarifaenvio' => lang("App.permisos_tarifaenvio"), 'Tarifaimpresion' => lang("App.permisos_tarifaimpresion"), 'Configuracion' => lang("App.permisos_configuracion"), 'Tareaservicio' => lang("App.permisos_tareasservicio"), 'Formaspago' => lang("App.permisos_formaspago"), 'Papelgenerico' => lang("App.permisos_papelgenerico"), 'Tiposimpresion' => lang("App.permisos_tiposimpresion"), 'Trabajo' => lang("App.permisos_trabajo"), 'Maquina' => lang("App.permisos_maquina"), 'Tamaniolibros' => lang("App.permisos_tamaniolibros"), 'Imposiciones' => lang("App.permisos_imposiciones"), 'Seriefactura' => lang("App.permisos_seriefactura"), 'Tamanioformatos' => lang("App.permisos_tamanioformatos"), 'Serviciocliente' => lang("App.permisos_serviciocliente"), 'Calendario' => lang("App.permisos_calendario"), 'Correo' => lang("App.permisos_correo"), 'Paises' => lang("App.permisos_paises"), 'Presupuestos' => lang("App.permisos_presupuestos"), 'Presupuesto' => lang("App.permisos_presupuestos"), 'Presupuestomaquetacion' => lang("App.permisos_presupuestomaquetacion"), 'Catalogo' => lang("App.permisos_catalogo"), 'Cliente' => lang("App.permisos_clientes"), 'Tarifacliente' => lang("App.permisos_tarifacliente"), 'Proveedores' => lang("App.permisos_proveedores"), 'Proveedor' => lang("App.permisos_proveedores"), 'Informes' => lang("App.permisos_informes"), 'Informe' => lang("App.permisos_informes"), 'Facturacion' => lang("App.permisos_facturación"), 'Albaran' => lang("App.permisos_albaran"), 'Factura' => lang("App.permisos_facturas"), 'Pedidos' => lang("App.permisos_pedidos"), 'Pedido' => lang("App.permisos_pedidos"), 'Serviciosdigitalizacion' => lang("App.permisos_digitalización"), 'Digitalizacion' => lang("App.permisos_digitalización"), 'Produccion' => lang("App.permisos_produccion"), 'Ordentrabajomaquetacion' => lang("App.permisos_ordentrabajomaquetacion"), 'Ordenmaquina' => lang("App.permisos_ordenmaquina"), 'Pedidoproduccion' => lang("App.permisos_pedidoproduccion"), 'Ordentrabajo' => lang("App.permisos_ordentrabajo"), 'oauth' => lang("App.group_rules_label_oauth"), 'template' => lang("App.group_rules_label_template"), 'all' => lang("App.group_rules_label_all"), 'oauth_store' => lang("App.group_rules_label_oauth_store"), 'template_store' => lang("App.group_rules_label_template_store"), ]; return array_key_exists($word,$dictionary)?$dictionary[$word] : $word; } catch (Exception $e) { return ''; } } function getMenuControl(){ try { $getClass = getAllClass(); $getRules = json_decode(session()->get('rules')??'[]'); foreach ($getClass as $item){ foreach ($getRules as $key=>$value){ if($key == $item['name']){ $item['methods'] = $value; $data[] = $item; } } } return $data??[]; } catch (Exception $e) { session()->setFlashdata('alert', 'error_acesso'); return []; } } function allowMenuSection(array $array, array $keys, $method){ try{ $value = false; foreach($keys as $key){ if (count($temp=getArrayItem($array,'name',$key)) > 0){ if (count(getArrayItem($temp,'methods','index',true)) > 0){ $value = true; } } } return $value; } catch (Exception $e) { return []; } } function getArrayItem(array $array, $key, $word, $isArray=false) { try { foreach ($array as $item){ if ($isArray){ foreach ($item[$key] as $subitem){ if($subitem == $word){ $data[]=$subitem; } } }else{ if($item[$key] == $word){ $data[]=$item; } } } return $data??[]; } catch (Exception $e) { return []; } } //////////////////////////////////////////////////// /// Notification Messages //////////////////////////////////////////////////// // IMN Modified function formAlert() { $session = session(); $alert = $session->getFlashdata('error'); if (!empty($alert)){ $validations = \Config\Services::validation()->getErrors(); $alerts = ""; foreach ($validations as $key => $value){ $alerts .= '