/** * __Construct($Aplicacion = false, $Carpeta = false) * * Constructor de Direccion * */ function __Construct($Aplicacion = false, $Carpeta = false) { if ($Aplicacion == true) { $AplicacionCache = $Aplicacion . '/'; } else { $URL = SysMisNeural::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; } }
/** * NeuralConexionBaseDatos($Base) * * Genera la conexi�n a la base de datos previamente configurada * Este metodo utiliza Doctrine 2 DBAL para el crud correspondiente * * $Aplicacion: nombre en mayusculas de la aplicacion correspondiente * en caso de no seleccionar aplicacion tomara el valor de la aplicacion actual * si no se reconoce configuracion de la aplicacion o no existe envia valores null * generando error en doctrine */ public static function ObtenerConexionBase($Aplicacion = 'DEFAULT') { //Leemos el archivo de configuraciones de bases de datos $DatosBaseDatos = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/BasesDatos.yaml'); //Validamos si existe la base de datos if (array_key_exists(mb_strtoupper($Aplicacion), $DatosBaseDatos['BASEDATOS'])) { foreach ($DatosBaseDatos['BASEDATOS'][trim(mb_strtoupper($Aplicacion))] as $key => $value) { $ParametrosConexion[trim($key)] = trim($value); } } else { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysMisNeural::LeerURLModReWrite(); if (!empty($Url[0])) { //Leemos el archivo de configuracion de accesos y lo convertimos en un array $AplicacionActiva = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion\\ConfiguracionAcceso.yaml'); //Validamos si se encuentra la aplicacion correspondiente if (array_key_exists(mb_strtoupper($Url[0]), $AplicacionActiva['APLICACIONES'])) { //Cargamos los parametros de la aplicacion correspondiente if (array_key_exists(trim(mb_strtoupper($Url[0])), $DatosBaseDatos['BASEDATOS'])) { foreach ($DatosBaseDatos['BASEDATOS'][trim(mb_strtoupper($Url[0]))] as $key => $value) { $ParametrosConexion[trim($key)] = trim($value); } } else { $ParametrosConexion = array(); } } else { $ParametrosConexion = array(); } } else { $ParametrosConexion = array(); } } require_once __SysNeuralFileRootVendors__ . 'Doctrine/Common/ClassLoader.php'; $classLoader = new \Doctrine\Common\ClassLoader('Doctrine'); $classLoader->register(); return \Doctrine\DBAL\DriverManager::getConnection($ParametrosConexion); }
public function CargarModelo($Nombre) { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysMisNeural::LeerURLModReWrite(); //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionAcceso.yaml'); //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['APLICACIONES'])) { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['CARPETA']; $Modelos = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['MODELOS']; //Generamos el Nombre del Modelo y la Ruta correspondiente $Archivo = SysMisNeural::GenerarNombreModeloRuta($Carpeta, $Modelos, $Url[1]); //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 { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES']['DEFAULT']['CARPETA']; $Modelos = $Array['APLICACIONES']['DEFAULT']['MODELOS']; //Generamos la ruta del archivo correspondiente $Archivo = SysMisNeural::GenerarNombreModeloRuta($Carpeta, $Modelos, 'Index'); //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'](); } } }
public function __Construct() { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysMisNeural::LeerURLModReWrite(); //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionAcceso.yaml'); //Validamos si hay una aplicacion seleccionada if (!empty($Url[0])) { //Validamos si la aplicacion existe if (array_key_exists(mb_strtoupper($Url[0]), $Array['APLICACIONES'])) { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['CARPETA']; $Configuraciones = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['CONFIGURACION']; $Ayudas = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['AYUDAS']; $Controladores = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['CONTROLADORES']; //Validamos que exista la carpeta correspondiente if (is_dir(__SysNeuralFileRootAplicacion__ . $Carpeta)) { //Cargamos las Configuraciones de las ayudas y configuraciones aplicacion SysMisNeural::IncluirAyudasConfiguracionesAplicacion($Carpeta, $Configuraciones, $Ayudas); //Validamos si se ha ingresado un Controlador if (isset($Url[1]) == true and empty($Url[1]) != true) { //Generamos la ruta del Controlador $Archivo = SysMisNeural::GenerarRutasArchivoAplicacion($Carpeta, $Controladores, $Url[1] . '.php'); //Validamos si existe el controlador correspondiente if (file_exists($Archivo)) { //Incluimos el archivo controlador correspondiente require $Archivo; //Validamos si tenemos un metodo if (isset($Url[2]) == true and empty($Url[2]) != true) { //Validamos si Existe el Metodo correspondiente if (method_exists($Url[1], $Url[2])) { //Validamos que el metodo exista y sea publico if (array_key_exists($Url[2], SysMisNeural::ListarOrganizarMetodosClase($Url[1]))) { //Validamos que se haya enviado un 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 { //Indicamos el error de no encontrarse el Metodo correspondiente require __SysNeuralFileRootNeuralMensajesError__ . 'NoMetodo.php'; } } else { //Generamos el require para incluir el controlador correspondiente require SysMisNeural::GenerarRutasArchivoAplicacion($Carpeta, $Controladores, 'Error.php'); //No existe el metodo generamos el error correspondiente $Controlador = new Error(); $Controlador->CargarModelo('Error'); $Controlador->Index(false); } } else { //Instanciamos y procesamos los procedimientos correspondientes $Controlador = new $Url[1](); $Controlador->CargarModelo('Index'); $Controlador->Index(false); } } else { //Indicamos el error de no encontrarse el controlador require __SysNeuralFileRootNeuralMensajesError__ . 'NoControlador.php'; } } else { //Generamos el nombre del controlador correspondiente $Archivo = SysMisNeural::GenerarRutasArchivoAplicacion($Carpeta, $Controladores, 'Index.php'); //Validamos si existe el controlador correspondiente if (file_exists($Archivo)) { //Incluimos el controlador correspondiente require $Archivo; //Instanciamos y procesamos los procedimientos correspondientes $Controlador = new Index(); $Controlador->CargarModelo('Index'); $Controlador->Index(false); } else { //Indicamos el error de no existencia de controlador Index require __SysNeuralFileRootNeuralMensajesError__ . 'NoIndex.php'; } } } else { //Generamos un Mensaje de Error de problema de la aplicacion configurada require __SysNeuralFileRootNeuralMensajesError__ . 'AplicacionNoConfigurada.php'; } } else { //Generamos error 404 require __SysNeuralFileRootNeuralMensajesError__ . '404.php'; } } else { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES']['DEFAULT']['CARPETA']; $Configuraciones = $Array['APLICACIONES']['DEFAULT']['CONFIGURACION']; $Ayudas = $Array['APLICACIONES']['DEFAULT']['AYUDAS']; $Controladores = $Array['APLICACIONES']['DEFAULT']['CONTROLADORES']; //Validamos que la aplicacion se encuentre configurada y exista la carpeta de la aplicacion if (is_dir(__SysNeuralFileRootAplicacion__ . $Carpeta)) { //Cargamos las Configuraciones de las ayudas y configuraciones aplicacion SysMisNeural::IncluirAyudasConfiguracionesAplicacion($Carpeta, $Configuraciones, $Ayudas); //Generamos el require para incluir el controlador correspondiente require SysMisNeural::GenerarRutasArchivoAplicacion($Carpeta, $Controladores, 'Index.php'); //Instanciamos y procesamos los procedimientos correspondientes $Controlador = new Index(); $Controlador->CargarModelo('Index'); $Controlador->Index(false); } else { require __SysNeuralFileRootNeuralMensajesError__ . 'AplicacionNoConfigurada.php'; } } }
/** * 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, $Tipo = 0) { //Tomamos la variable del Mod_Rewrite y validamos el url para determinar el path correspondiente $Url = SysMisNeural::LeerURLModReWrite(); //Leemos el archivo de configuracion de accesos y lo convertimos en un array $Array = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionAcceso.yaml'); //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['APLICACIONES'])) { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['CARPETA']; $Vistas = $Array['APLICACIONES'][mb_strtoupper($Url[0])]['VISTAS']; //Convertimos el array en una variable para su manupulacion $ArrayVistas = NeuralAsignacionVistas::SeleccionVista($Tipo); foreach ($ArrayVistas as $Llave => $Valor) { if ($Valor == 'NOMBREARCHIVO') { $File = __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Archivo . '.php'; if (file_exists($File)) { //Generamos el require para incluir la vista correspondiente require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Archivo . '.php'; } else { require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/Error/NoExisteArchivo.php'; } } else { //Generamos el require para incluir la vista correspondiente require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Valor; } } } else { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES']['DEFAULT']['CARPETA']; $Vistas = $Array['APLICACIONES']['DEFAULT']['VISTAS']; //Convertimos el array en una variable para su manupulacion $ArrayVistas = NeuralAsignacionVistas::SeleccionVista($Tipo); foreach ($ArrayVistas as $Llave => $Valor) { if ($Valor == 'NOMBREARCHIVO') { $File = __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Archivo . '.php'; if (file_exists($File)) { //Generamos el require para incluir la vista correspondiente require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Archivo . '.php'; } else { require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/Error/NoExisteArchivo.php'; } } else { //Generamos el require para incluir la vista correspondiente require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Valor; } } } } else { //Generamos las rutas de accesos $Carpeta = $Array['APLICACIONES']['DEFAULT']['CARPETA']; $Vistas = $Array['APLICACIONES']['DEFAULT']['VISTAS']; //Convertimos el array en una variable para su manupulacion $ArrayVistas = NeuralAsignacionVistas::SeleccionVista($Tipo); foreach ($ArrayVistas as $Llave => $Valor) { if ($Valor == 'NOMBREARCHIVO') { $File = __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Archivo . '.php'; if (file_exists($File)) { //Generamos el require para incluir la vista correspondiente require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Archivo . '.php'; } else { require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/Error/NoExisteArchivo.php'; } } else { //Generamos el require para incluir la vista correspondiente require __SysNeuralFileRootAplicacion__ . '/' . $Carpeta . '/' . $Vistas . '/' . $Valor; } } } }