private static function ValidarPermiso($Parametro = false) { if ($Parametro == true) { $POAUTH = json_decode(NeuralEncriptacion::DesencriptarDatos($Parametro, self::$ModuloAplicacion), true); $Matriz = json_decode(NeuralEncriptacion::DesencriptarDatos($POAUTH['Matriz'], array(date("Y-m-d"), self::$ModuloAplicacion)), true); $ModRewrite = SysNeuralNucleo::LeerURLModReWrite(); $Controlador = $ModRewrite[1]; if (array_key_exists($Controlador, $Matriz) == true) { return $Matriz[$Controlador] == 'true' ? true : false; } else { return false; } } }
/** * CargarModelo($Modelo = false) * * Carga Modelo Correspondiente * */ public function CargarModelo($Modelo = false) { //Validamos que el parametro sea ingresado if ($Modelo) { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysNeuralNucleo::LeerURLModReWrite(); //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysNeuralNucleo::CargarArchivoJsonConfiguracion('ConfigAcceso.json'); //Validamos si cargamos el default o la aplicación seleccionada if (!empty($Url[0])) { //Validamos si existe la aplicacion correspondiente if (array_key_exists(mb_strtoupper($Url[0]), $Array)) { //Generamos las rutas de accesos $Modulo = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Carpeta']; $Modelos = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Modelos']; //Definimos el Nombre del controlador $Controlador = (isset($Url[1]) == true and empty($Url[1]) != true) ? $Url[1] : 'Index'; //Generamos el Nombre del Modelo y la Ruta correspondiente $Archivo = self::GenerarNombreModeloRuta($Modulo, $Modelos, $Controlador); //validamos si existe el archivo, si existe lo cargamos de lo contrario lo omitimos if (file_exists($Archivo['Archivo'])) { //Incluimos el modelo correspondiente require $Archivo['Archivo']; $this->Modelo = new $Archivo['Nombre'](); } } } else { //Validamos si existe la aplicacion correspondiente if (array_key_exists('DEFAULT', $Array)) { //Generamos las rutas de accesos $Modulo = $Array['DEFAULT']['Enrutamiento']['Carpeta']; $Modelos = $Array['DEFAULT']['Enrutamiento']['Modelos']; //Definimos el Nombre del controlador $Controlador = (isset($Url[1]) == true and empty($Url[1]) != true) ? $Url[1] : 'Index'; //Generamos el Nombre del Modelo y la Ruta correspondiente $Archivo = self::GenerarNombreModeloRuta($Modulo, $Modelos, $Controlador); //validamos si existe el archivo, si existe lo cargamos de lo contrario lo omitimos if (file_exists($Archivo['Archivo'])) { //Incluimos el modelo correspondiente require $Archivo['Archivo']; $this->Modelo = new $Archivo['Nombre'](); } } } } }
/** * __Construct($Aplicacion = false, $Carpeta = false) * * Constructor de Direccion * */ function __Construct($Aplicacion = false, $Carpeta = false) { if ($Aplicacion == true) { $AplicacionCache = $Aplicacion . '/'; } else { $URL = SysNeuralNucleo::LeerURLModReWrite(); $this->AplicacionCache = $AplicacionCache = $URL[0] !== '' ? $URL[0] . '/' : 'Default/'; } if ($Carpeta == true) { $this->CacheCarpeta = $Carpeta . '/'; } $this->PathCache = $this->DireccionCache . $AplicacionCache; if (isset($this->CacheCarpeta)) { $this->RutaFinalArchivo = $this->PathCache . $this->CacheCarpeta; } else { $this->RutaFinalArchivo = $this->PathCache; } }
public static function __Constructor($Tipo = false) { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysNeuralNucleo::LeerURLModReWrite(); //Convertimos el Modulo correspondiente $Modulo = empty($Url[0]) ? 'Default' : $Url[0]; //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysNeuralNucleo::CargarArchivoJsonConfiguracion('ConfigAcceso.json'); //Validamos si existe la aplicacion correspondiente if (array_key_exists(mb_strtoupper($Modulo), $Array)) { //Leemos el archivo de configuracion $Rutas = SysNeuralNucleo::LeerArchivosConfiguracionRutasModulo($Array[mb_strtoupper($Modulo)]['Enrutamiento']['Carpeta'], $Array[mb_strtoupper($Modulo)]['Enrutamiento']['Configuracion']); } //Liberamos Memoria unset($Url, $Modulo, $Array); //Regresamos el Array Correspondiente return $Rutas[$Tipo]; }
/** * Construimos el Nucleo Base * */ public function __Construct() { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysNeuralNucleo::LeerURLModReWrite(); //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysNeuralNucleo::CargarArchivoJsonConfiguracion('ConfigAcceso.json'); //Validamos si esta seleccionada un modulo if (!empty($Url[0])) { //Validamos si existe la aplicacion en el archivo de configuracion if (array_key_exists(mb_strtoupper($Url[0]), $Array)) { //Generamos las rutas de accesos $Modulo = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Carpeta']; $Configuracion = $Array[mb_strtoupper($Url[0])]['Configuracion']; $Configuraciones = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Configuracion']; $Controladores = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Controladores']; $Ayudas = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Ayudas']; $Vendors = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Vendors']; //Validamos que exista la carpeta del Modulo if (is_dir(__SysNeuralFileRootModulos__ . $Modulo)) { //Cargamos las Ayudas require __DIR__ . '/NeuralRutasApp.php'; //Cargamos las Configuraciones Correspondientes del modulo seleccionado SysNeuralNucleo::CargarConfiguracionesModulo($Configuracion); //Cargamos los Vendors de la aplicacion si esta activado SysNeuralNucleo::CargarVendorsModulo($Modulo, $Configuraciones, $Vendors); //Cargamos las ayudas de la aplicacion SysNeuralNucleo::IncluirAyudasModulo($Modulo, $Ayudas); //Validamos si se ha ingresado un Controlador en la URL if (isset($Url[1]) == true and empty($Url[1]) != true) { //Generamos el Nombre del Archivo $PathControlador = SysNeuralNucleo::GenerarRutaArchivoModulo($Modulo, $Controladores, $Url[1]); //Validamos si existe el archivo del controlador if (file_exists($PathControlador)) { //Incluimos el archivo del controlador require $PathControlador; //Validamos si existe un Metodo if (isset($Url[2]) == true and empty($Url[2]) != true) { //Validamos si Existe el metodo correspondiente if (array_key_exists($Url[2], SysNeuralNucleo::ListarOrganizarMetodosClase($Url[1]))) { //Validamos si hay algun tipo de parametro if (isset($Url[3]) == true and empty($Url[3]) != true) { //Cargamos el Controlador correspondiente $Controlador = new $Url[1](); $Controlador->CargarModelo($Url[1]); $Cantidad = count($Url) - 1; for ($i = 3; $i <= $Cantidad; $i++) { $Datos[] = '$Url[' . $i . ']'; } $Lista = implode(', ', $Datos); eval("\$Controlador->\$Url[2](" . $Lista . ");"); unset($Cantidad, $Datos, $Lista); } else { //Cargamos el Controlador correspondiente $Controlador = new $Url[1](); $Controlador->CargarModelo($Url[1]); $Controlador->{$Url}[2](false); } } else { //Validamos si el metodo existe if (method_exists($Url[1], $Url[2])) { //Generamos El mensaje de error de metodo protegido o privado SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoProtegido', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } else { //Generamos El mensaje de error de metodo No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoNoExiste', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } } } else { //Validamos si existe el metodo Index if (array_key_exists('Index', SysNeuralNucleo::ListarOrganizarMetodosClase($Url[1]))) { //Cargamos el Controlador correspondiente $Controlador = new $Url[1](); $Controlador->CargarModelo($Url[1]); $Controlador->Index(false); } else { //Validamos si es un metodo protegido o privado if (method_exists($Url[1], $Url[2])) { //Generamos El mensaje de error de metodo protegido o privado SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoProtegido', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } else { //Generamos El mensaje de error de metodo No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoNoExiste', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } } } } else { //Generamos El mensaje de error de Controlador No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'ControladorNoExiste', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } } else { //Generamos el Nombre del Archivo $PathControlador = SysNeuralNucleo::GenerarRutaArchivoModulo($Modulo, $Controladores, 'Index'); //Validamos si existe el Controlador Correspondiente if (file_exists($PathControlador)) { //Incluimos el archivo del controlador require $PathControlador; //Validamos si existe el metodo Index if (array_key_exists('Index', SysNeuralNucleo::ListarOrganizarMetodosClase('Index'))) { //Cargamos el Controlador correspondiente $Controlador = new Index(); $Controlador->CargarModelo('Index'); $Controlador->Index(false); } else { //Validamos si es un metodo protegido o privado if (method_exists('Index', 'Index')) { //Generamos El mensaje de error de metodo protegido o privado SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoProtegido', '404', array('URL' => array('Default', 'Index', 'Index'), 'Modulo' => $Modulo)); exit; } else { //Generamos El mensaje de error de metodo No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoNoExiste', '404', array('URL' => array('Default', 'Index', 'Index'), 'Modulo' => $Modulo)); exit; } } } else { //Generamos El mensaje de error de Controlador No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'ControladorNoExiste', '404', array('URL' => array($Url[0], 'Index'), 'Modulo' => $Modulo)); exit; } } } else { //Generamos El mensaje de error de Carpeta No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'CarpetaModuloNoExiste', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } } else { //Generamos la consulta de los datos de configuracion de la aplicacion DEFAULT $Configuracion = SysNeuralNucleo::CargarArchivoJsonConfiguracion('ConfigAcceso.json'); //Generamos El mensaje de error de No Existe Modulo SysNeuralNucleo::MostrarErroresEntorno($Configuracion['DEFAULT']['Configuracion'], 'ModuloNoExiste', '404', array('Modulo' => $Url[0])); //Liberamos memoria unset($Configuracion); exit; } } else { //Generamos las rutas de accesos $Modulo = $Array['DEFAULT']['Enrutamiento']['Carpeta']; $Configuracion = $Array['DEFAULT']['Configuracion']; $Configuraciones = $Array['DEFAULT']['Enrutamiento']['Configuracion']; $Controladores = $Array['DEFAULT']['Enrutamiento']['Controladores']; $Ayudas = $Array['DEFAULT']['Enrutamiento']['Ayudas']; $Vendors = $Array['DEFAULT']['Enrutamiento']['Vendors']; //Validamos que exista la carpeta del Modulo if (is_dir(__SysNeuralFileRootModulos__ . $Modulo)) { //Cargamos las Ayudas require __DIR__ . '/NeuralRutasApp.php'; //Cargamos las Configuraciones Correspondientes del modulo seleccionado SysNeuralNucleo::CargarConfiguracionesModulo($Configuracion); //Cargamos los Vendors de la aplicacion si esta activado SysNeuralNucleo::CargarVendorsModulo($Modulo, $Configuraciones, $Vendors); //Cargamos las ayudas de la aplicacion SysNeuralNucleo::IncluirAyudasModulo($Modulo, $Ayudas); //Generamos el Nombre del Archivo $PathControlador = SysNeuralNucleo::GenerarRutaArchivoModulo($Modulo, $Controladores, 'Index'); //Validamos si existe el archivo del controlador if (file_exists($PathControlador)) { //Incluimos el archivo del controlador require $PathControlador; //Validamos si existe el metodo Index if (array_key_exists('Index', SysNeuralNucleo::ListarOrganizarMetodosClase('Index'))) { //Cargamos el Controlador correspondiente $Controlador = new Index(); $Controlador->CargarModelo('Index'); $Controlador->Index(false); } else { //Validamos si es un metodo protegido o privado if (method_exists('Index', 'Index')) { //Generamos El mensaje de error de metodo protegido o privado SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoProtegido', '404', array('URL' => array('Default', 'Index', 'Index'), 'Modulo' => $Modulo)); exit; } else { //Generamos El mensaje de error de metodo No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'MetodoNoExiste', '404', array('URL' => array('Default', 'Index', 'Index'), 'Modulo' => $Modulo)); exit; } } } else { //Generamos El mensaje de error de Controlador No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'ControladorNoExiste', '404', array('URL' => array('Default', 'Index'), 'Modulo' => $Modulo)); exit; } } else { //Generamos El mensaje de error de Carpeta No Existe SysNeuralNucleo::MostrarErroresEntorno($Configuracion, 'CarpetaModuloNoExiste', '404', array('URL' => $Url, 'Modulo' => $Modulo)); exit; } } //Liberamos la memoria sobre los datos contenidos unset($Url, $Array); }
/** * GenerarVista($Archivo, $Tipo = 0) * * General las vistas correspondientes segun el mapa cargado * $Archivo: ruta del archivo sin extension .php dentro de vistas * $Tipo: es el mapa que se ha creado, por defecto ya esta uno creado pero se pueden agregar mas */ public function GenerarVista($Archivo = false, $Tipo = 0) { //Validamos que se ingrese un archivo if ($Archivo) { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysNeuralNucleo::LeerURLModReWrite(); //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysNeuralNucleo::CargarArchivoJsonConfiguracion('ConfigAcceso.json'); //Validamos si hay un modulo seleccionado if (!empty($Url[0])) { //Determinamos los datos necesarios para la configuracion $Modulo = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Carpeta']; $Configuracion = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Configuracion']; $Vistas = $Array[mb_strtoupper($Url[0])]['Enrutamiento']['Vistas']; //Creamos el Path del Archivo de configuracion de rutas $PathVistas = __SysNeuralFileRootModulos__ . $Modulo . $Configuracion . 'ConfigRutas_AsignacionVistas.json'; //Validamos si existe el archivo if (file_exists($PathVistas)) { //Convertimos en array el el archivo de configuracion $ArrayVistas = json_decode(file_get_contents($PathVistas), true); //Validamos si existe el apuntador de la vista if (array_key_exists($Tipo, $ArrayVistas['Asignacion_Vistas'])) { //Leemos la Cantidad de archivos a incluir $Cantidad = count($ArrayVistas['Asignacion_Vistas'][$Tipo]); //Validamos que sea la cantidad iguaL o mayor que 1 if ($Cantidad >= 1) { //recorremos el array correspondiente for ($invNeural = 0; $invNeural < $Cantidad; $invNeural++) { //Validamos el cambio de valores if ($ArrayVistas['Asignacion_Vistas'][$Tipo][$invNeural] == '{% Nombre_Archivo %}') { //Generamos el Path del Archivo $PathArchivo = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . $Archivo . '.php'; //Validamos si Existe el Archivo if (file_exists($PathArchivo)) { //Incluimos el archivo require $PathArchivo; } else { //Generamos el path del archivo de error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExisteArchivo.php'; //Generamos la Variable $NombreArchivo = $Archivo . '.php'; //Validamos que exista el error if (file_exists($PathError)) { require $PathError; } else { //Generamos un mensaje de error texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">El Archivo: <strong style="color: red;">' . $Archivo . '.php</strong> No Existe.</h5>'; } } } else { //Generamos el Path del Archivo $PathArchivo = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . $ArrayVistas['Asignacion_Vistas'][$Tipo][$invNeural]; //Generamos la Variable $NombreArchivo = $ArrayVistas['Asignacion_Vistas'][$Tipo][$invNeural]; //Validamos si existe el archivo if (file_exists($PathArchivo)) { //incluimos el archivo require $PathArchivo; } else { //Generamos el path del archivo de error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExisteArchivo.php'; //Validamos que exista el error if (file_exists($PathError)) { require $PathError; } else { //Generamos un mensaje de error texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">El Archivo: <strong style="color: red;">' . $Archivo . '.php</strong> No Existe.</h5>'; } } } } } else { //Generamos el Path del Error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExistenLineas.php'; //Validamos que exista el archivo del error if (file_exists($PathError)) { //incluimos el error require $PathError; } else { //Generamos el mensaje texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">No Exiten Archivos en la Configuración de Vistas.</h5>'; } } } else { //Generamos el Path del Error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExisteApuntador.php'; //Validamos que exista el archivo del error if (file_exists($PathError)) { //incluimos el error require $PathError; } else { //Generamos el mensaje texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">No Exite el Tipo de Vista ' . $Tipo . '.</h5>'; } } } } else { //Determinamos los datos necesarios para la configuracion $Modulo = $Array['DEFAULT']['Enrutamiento']['Carpeta']; $Configuracion = $Array['DEFAULT']['Enrutamiento']['Configuracion']; $Vistas = $Array['DEFAULT']['Enrutamiento']['Vistas']; //Creamos el Path del Archivo de configuracion de rutas $PathVistas = __SysNeuralFileRootModulos__ . $Modulo . $Configuracion . 'ConfigRutas_AsignacionVistas.json'; //Validamos si existe el archivo if (file_exists($PathVistas)) { //Convertimos en array el el archivo de configuracion $ArrayVistas = json_decode(file_get_contents($PathVistas), true); //Validamos si existe el apuntador de la vista if (array_key_exists($Tipo, $ArrayVistas['Asignacion_Vistas'])) { //Leemos la Cantidad de archivos a incluir $Cantidad = count($ArrayVistas['Asignacion_Vistas'][$Tipo]); //Validamos que sea la cantidad iguaL o mayor que 1 if ($Cantidad >= 1) { //recorremos el array correspondiente for ($invNeural = 0; $invNeural < $Cantidad; $invNeural++) { //Validamos el cambio de valores if ($ArrayVistas['Asignacion_Vistas'][$Tipo][$invNeural] == '{% Nombre_Archivo %}') { //Generamos el Path del Archivo $PathArchivo = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . $Archivo . '.php'; //Validamos si Existe el Archivo if (file_exists($PathArchivo)) { //Incluimos el archivo require $PathArchivo; } else { //Generamos el path del archivo de error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExisteArchivo.php'; //Generamos la Variable $NombreArchivo = $Archivo . '.php'; //Validamos que exista el error if (file_exists($PathError)) { require $PathError; } else { //Generamos un mensaje de error texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">El Archivo: <strong style="color: red;">' . $Archivo . '.php</strong> No Existe.</h5>'; } } } else { //Generamos el Path del Archivo $PathArchivo = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . $ArrayVistas['Asignacion_Vistas'][$Tipo][$invNeural]; //Generamos la Variable $NombreArchivo = $ArrayVistas['Asignacion_Vistas'][$Tipo][$invNeural]; //Validamos si existe el archivo if (file_exists($PathArchivo)) { //incluimos el archivo require $PathArchivo; } else { //Generamos el path del archivo de error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExisteArchivo.php'; //Validamos que exista el error if (file_exists($PathError)) { require $PathError; } else { //Generamos un mensaje de error texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">El Archivo: <strong style="color: red;">' . $Archivo . '.php</strong> No Existe.</h5>'; } } } } } else { //Generamos el Path del Error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExistenLineas.php'; //Validamos que exista el archivo del error if (file_exists($PathError)) { //incluimos el error require $PathError; } else { //Generamos el mensaje texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">No Exiten Archivos en la Configuración de Vistas.</h5>'; } } } else { //Generamos el Path del Error $PathError = __SysNeuralFileRootModulos__ . $Modulo . $Vistas . 'Errores/NoExisteApuntador.php'; //Validamos que exista el archivo del error if (file_exists($PathError)) { //incluimos el error require $PathError; } else { //Generamos el mensaje texto plano echo '<h5 style="font-family: verdana; margin-bottom: 10px;">No Exite el Tipo de Vista ' . $Tipo . '.</h5>'; } } } } } }