Esempio n. 1
0
 /**
  * SeleccionVista($Vista)
  * 
  * Se ingresan el orden de las vistas en un array no asociativo 
  * Ejemplo: $Array[]=array('archivo.php', 'carpeta/archivo.php', 'NOMBREARCHIVO');
  * el termino "NOMBREARCHIVO": es el nombre asignado para añadir el archivo creado para agregar la informacion
  * Recordar: estos archivos se crearan dentro de la ruta de la siguiente ruta:
  * Aplicacion/Nombre de la Aplicacion/vistas/
  */
 public static function SeleccionVista($Vista = 0)
 {
     $Array[0] = array('NOMBREARCHIVO');
     $Array['ESTRUCTURA'] = array('General/Header.php', 'NOMBREARCHIVO', 'General/Menu.php', 'General/Footer.php');
     /**********************NO EDITAR**************************/
     return SysMisNeural::ValidarAsignacionVista($Array, $Vista);
 }
Esempio n. 2
0
 /**
  * NeuralEncriptacion::DesencriptarDatos($Cadena)
  * 
  * Sistema de Des-Encriptación de datos
  * @param $Cadena: Cadena para Des-Encriptacion
  * 
  **/
 public static function DesencriptarDatos($Cadena, $Aplicacion = 'DEFAULT')
 {
     $Acceso = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionAcceso.yaml');
     if (array_key_exists($Aplicacion, $Acceso['APLICACIONES'])) {
         $Desencriptar_Cadena = base64_decode($Cadena);
         $Clave = $Acceso['APLICACIONES'][$Aplicacion]['LLAVE_ENCRIPTACION'];
         $Cifrado = MCRYPT_RIJNDAEL_256;
         $Modo = MCRYPT_MODE_ECB;
         $Datos = mcrypt_decrypt($Cifrado, $Clave, $Desencriptar_Cadena, $Modo, mcrypt_create_iv(mcrypt_get_iv_size($Cifrado, $Modo), MCRYPT_RAND));
         return trim($Datos);
     } else {
         return '<strong>Sistema de Encriptación:</strong> No Existe Aplicación';
     }
 }
Esempio n. 3
0
 /**
  * NeuralScriptAdmin::OrganizarScript($Persistencia = false, $Script = false, $Aplicacion = 'DEFAULT')
  * 
  * Regla: Organiza e implementa los diferentes archivos publicos y organiza script js
  * @param $Persistencia: array asociativo con los archivos que deben ser persistentes
  * @example array('JS' => array('JQUERY', 'VALIDATE'))
  * @param $Script: array asociativo creado por los diferentes constructores NeuralJQuery....
  * @param $Aplicacion: Aplicacion configurada en Aplicacion/Configuracion/ConfiguracionScripts.yaml
  * 
  * */
 public static function OrganizarScript($Persistencia = false, $Script = false, $Aplicacion = 'DEFAULT')
 {
     $Librerias = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionScripts.yaml');
     $AplicacionValidada = array_key_exists($Aplicacion, $Librerias) ? $Aplicacion : 'DEFAULT';
     if (is_array($Persistencia)) {
         $Constructor[] = self::ConstructorPersistente($Persistencia, $Librerias[$AplicacionValidada]);
     }
     if (is_array($Script)) {
         $Constructor[] = self::ConstructorScript($Script, $Librerias[$AplicacionValidada], $Persistencia);
     }
     unset($Librerias, $AplicacionValidada);
     if (is_array($Persistencia) == true or is_array($Script) == true) {
         return implode("\n", $Constructor);
     }
 }
Esempio n. 4
0
 /**
  * __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);
 }
Esempio n. 6
0
 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']();
         }
     }
 }
Esempio n. 7
0
 private function ConstructorLoader($Aplicacion)
 {
     $ArrayApp = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionScripts.yaml');
     $ClassContenedor = $ArrayApp[$Aplicacion]['LOADER']['CLASS']['CONTENEDOR']['CLASS'] == 'DESACTIVADO' ? '' : ' class="' . $ArrayApp[$Aplicacion]['LOADER']['CLASS']['CONTENEDOR']['CLASS'] . '"';
     $ClassImagen = $ArrayApp[$Aplicacion]['LOADER']['CLASS']['IMAGEN']['CLASS'] == 'DESACTIVADO' ? '' : ' class="' . $ArrayApp[$Aplicacion]['LOADER']['CLASS']['IMAGEN']['CLASS'] . '"';
     $StyleContenedor = $ArrayApp[$Aplicacion]['LOADER']['CLASS']['CONTENEDOR']['STYLE'] == 'DESACTIVADO' ? '' : ' ' . SysMiscNeuralForm::OrganizarStyle($ArrayApp[$Aplicacion]['LOADER']['STYLE']['CONTENEDOR']);
     $StyleImagen = $ArrayApp[$Aplicacion]['LOADER']['CLASS']['IMAGEN']['STYLE'] == 'DESACTIVADO' ? '' : ' ' . SysMiscNeuralForm::OrganizarStyle($ArrayApp[$Aplicacion]['LOADER']['STYLE']['IMAGEN']);
     return '<div' . $ClassContenedor . $StyleContenedor . '><img src="' . NeuralRutasBase::RutaBase($ArrayApp[$Aplicacion]['LOADER']['LOADER']) . '" alt=""' . $ClassImagen . $StyleImagen . ' /></div>';
     unset($Aplicacion, $ArrayApp, $ClassContenedor, $ClassImagen, $StyleContenedor, $StyleImagen);
 }
Esempio n. 8
0
 /**
  * SeleccionVista($Vista)
  * 
  * Se ingresan el orden de las vistas en un array no asociativo 
  * Ejemplo: $Array[]=array('archivo.php', 'carpeta/archivo.php', 'NOMBREARCHIVO');
  * el termino "NOMBREARCHIVO": es el nombre asignado para añadir el archivo creado para agregar la informacion
  * Recordar: estos archivos se crearan dentro de la ruta de la siguiente ruta:
  * Aplicacion/Nombre de la Aplicacion/vistas/
  */
 public static function SeleccionVista($Vista = 0)
 {
     $Array[0] = array('NOMBREARCHIVO');
     /**********************NO EDITAR**************************/
     return SysMisNeural::ValidarAsignacionVista($Array, $Vista);
 }
Esempio n. 9
0
 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';
         }
     }
 }
Esempio n. 10
0
 /**
  * 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;
             }
         }
     }
 }
Esempio n. 11
0
 /**
  * EnviarCorreo($AplicacionEnvia)
  * Proceso de envio de correo electronico
  * 
  * @param $AplicacionEnvia: se selecciona la aplicacion correspondiente para la configuracion
  * de las opciones del mail
  **/
 public function EnviarCorreo($AplicacionEnvia)
 {
     //Leemos el archivo de configuraciones de bases de datos
     $DatosConfigCorreo = SysMisNeural::CargarArchivoYAMLAplicacion('Configuracion/ConfiguracionCorreo.yaml');
     //Generamos la variable de las aplicaciones
     $Aplicaciones = $DatosConfigCorreo['APLICACIONES'];
     //Validamos la configuración correspondiente
     if (array_key_exists($AplicacionEnvia, $Aplicaciones)) {
         if ($DatosConfigCorreo['APLICACIONES'][$AplicacionEnvia]['FUNCION_MAIL'] == 'DESHABILITADO') {
             //Generamos el instanciamiento del PHPMailer
             $Mail = new PHPMailer(true);
             //Instanciamos las opciones de envio de correos
             $Mail->IsSMTP();
             $Mail->IsHTML();
             //Validamos las configuraciones las leemos y las imprimimos
             foreach ($DatosConfigCorreo['APLICACIONES'][$AplicacionEnvia]['CONFIGURACION'] as $Key => $Value) {
                 $Mail->{$Key} = $Value;
             }
             try {
                 //Validamos si se activa el Debug para el SMTP
                 if (isset($this->SMTPDebugValid)) {
                     $Mail->SMTPDebug = $this->SMTPDebugValid;
                 }
                 //Generamos la opcion de responder este mensaje a este destino
                 $Mail->AddReplyTo($this->ResponderMensaje['CORREO'], $this->ResponderMensaje['NOMBRE']);
                 //Generamos a los destinatarios que se les envia este correo titular
                 if (isset($this->EnviarCorreoTo)) {
                     if (count($this->EnviarCorreoTo) >= 1) {
                         for ($i = 0; $i < count($this->EnviarCorreoTo); $i++) {
                             $Mail->AddAddress($this->EnviarCorreoTo[$i]['CORREO'], $this->EnviarCorreoTo[$i]['NOMBRE']);
                         }
                     }
                 }
                 //Generamos los destinatarios de copia de este correo
                 if (isset($this->EnviarCorreoCC)) {
                     if (count($this->EnviarCorreoCC) >= 1) {
                         for ($j = 0; $j < count($this->EnviarCorreoCC); $j++) {
                             $Mail->AddCC($this->EnviarCorreoCC[$j]['CORREO'], $this->EnviarCorreoCC[$j]['NOMBRE']);
                         }
                     }
                 }
                 //Generamos los destinatarios de copia oculta
                 if (isset($this->EnviarCorreoCCO)) {
                     if (count($this->EnviarCorreoCCO) >= 1) {
                         for ($l = 0; $l < count($this->EnviarCorreoCCO); $l++) {
                             $Mail->AddBCC($this->EnviarCorreoCCO[$l]['CORREO'], $this->EnviarCorreoCCO[$l]['NOMBRE']);
                         }
                     }
                 }
                 //Generamos el Emisor del correo
                 $Mail->SetFrom($DatosConfigCorreo['APLICACIONES'][$AplicacionEnvia]['CONFIGURACION']['Username'], $this->NombreEmisor);
                 //Generamos el asunto correspondiente
                 $Mail->Subject = $this->AsuntoMail;
                 //validamos si enviamos mensaje alternativo que no soporte html
                 if (isset($this->MensajeAlternativo)) {
                     $Mail->AltBody($this->MensajeAlternativo);
                 }
                 //Generamos el Mensaje HTML correspondiente
                 $Mail->MsgHTML($this->MensajeGeneralHTML);
                 //validamos los datos adjuntos correspondientes
                 if (isset($this->ArchAdjuntos)) {
                     if (count($this->ArchAdjuntos) >= 1) {
                         for ($h = 0; $h < count($this->ArchAdjuntos); $h++) {
                             $Mail->AddAttachment($this->ArchAdjuntos[$h]);
                         }
                     }
                 }
                 //Enviamos el correo correspondiente
                 $Mail->Send();
             } catch (phpmailerException $e) {
                 //Errores de PhpMailer
                 echo $e->errorMessage();
             } catch (Exception $e) {
                 //Errores de cualquier otra cosa.
                 echo $e->getMessage();
             }
         } elseif ($DatosConfigCorreo['APLICACIONES'][$AplicacionEnvia]['FUNCION_MAIL'] == 'HABILITADO') {
             // Content-type se Adiciona
             $Cabeceras = 'MIME-Version: 1.0' . "\r\n";
             $Cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
             //Generamos a los destinatarios que se les envia este correo titular
             if (isset($this->EnviarCorreoTo)) {
                 if (count($this->EnviarCorreoTo) >= 1) {
                     for ($i = 0; $i < count($this->EnviarCorreoTo); $i++) {
                         $DatosEnviarTo[] = $this->EnviarCorreoTo[$i]['CORREO'];
                     }
                     //Organizamos los correos correspondientes
                     $CabeceraEnviarTo = implode(", ", $DatosEnviarTo);
                     //Generamos la cabecera correspondiente
                     $Cabeceras .= 'To: ' . $CabeceraEnviarTo . "\r\n";
                 }
             }
             //Generamos los destinatarios de copia de este correo
             if (isset($this->EnviarCorreoCC)) {
                 if (count($this->EnviarCorreoCC) >= 1) {
                     for ($j = 0; $j < count($this->EnviarCorreoCC); $j++) {
                         $DatosEnviarCC[] = $this->EnviarCorreoCC[$j]['CORREO'];
                     }
                     //Organizamos los correos correspondientes
                     $CabeceraEnviarCC = implode(", ", $DatosEnviarCC);
                     //Generamos la cabecera correspondiente
                     $Cabeceras .= 'Cc: ' . $CabeceraEnviarCC . "\r\n";
                 }
             }
             //Generamos los destinatarios de copia oculta
             if (isset($this->EnviarCorreoCCO)) {
                 if (count($this->EnviarCorreoCCO) >= 1) {
                     for ($l = 0; $l < count($this->EnviarCorreoCCO); $l++) {
                         $DatosEnviarBCC[] = $this->EnviarCorreoCCO[$l]['CORREO'];
                     }
                     //Organizamos los correos correspondientes
                     $CabeceraEnviarBCC = implode(", ", $DatosEnviarBCC);
                     //Generamos la cabecera correspondiente
                     $Cabeceras .= 'Bcc: ' . $CabeceraEnviarBCC . "\r\n";
                 }
             }
             //Enviamos el correo correspondiente
             mail($CabeceraEnviarTo, $this->AsuntoMail, $this->MensajeGeneralHTML, $Cabeceras);
         } else {
             echo 'ACTUALMENTE LA CONFIGURACION DE CORREO DEBE VALIDARSE, VALIDE QUE LA APLICACION DEFAULT ESTE BIEN CONFIGURADA O SELECCIONE UNA APLICACION CONFIGURADA';
             exit;
         }
     } else {
         if ($DatosConfigCorreo['APLICACIONES']['DEFAULT']['FUNCION_MAIL'] == 'DESHABILITADO') {
             //Generamos el instanciamiento del PHPMailer
             $Mail = new PHPMailer(true);
             //Especificamos que utilizaremos SMTP
             $Mail->IsSMTP();
             try {
                 //Validamos si se activa el Debug para el SMTP
                 if (isset($this->SMTPDebugValid)) {
                     $Mail->SMTPDebug = $this->SMTPDebugValid;
                 }
                 //Validamos las configuraciones las leemos y las imprimimos
                 foreach ($DatosConfigCorreo['APLICACIONES']['DEFAULT']['CONFIGURACION'] as $Key => $Value) {
                     $Mail->{$Key} = $Value;
                 }
                 //Generamos la opcion de responder este mensaje a este destino
                 $Mail->AddReplyTo($this->ResponderMensaje['CORREO'], $this->ResponderMensaje['NOMBRE']);
                 //Generamos a los destinatarios que se les envia este correo titular
                 if (isset($this->EnviarCorreoTo)) {
                     if (count($this->EnviarCorreoTo) >= 1) {
                         for ($i = 0; $i < count($this->EnviarCorreoTo); $i++) {
                             $Mail->AddAddress($this->EnviarCorreoTo[$i]['CORREO'], $this->EnviarCorreoTo[$i]['NOMBRE']);
                         }
                     }
                 }
                 //Generamos los destinatarios de copia de este correo
                 if (isset($this->EnviarCorreoCC)) {
                     if (count($this->EnviarCorreoCC) >= 1) {
                         for ($j = 0; $j < count($this->EnviarCorreoCC); $j++) {
                             $Mail->AddCC($this->EnviarCorreoCC[$j]['CORREO'], $this->EnviarCorreoCC[$j]['NOMBRE']);
                         }
                     }
                 }
                 //Generamos los destinatarios de copia oculta
                 if (isset($this->EnviarCorreoCCO)) {
                     if (count($this->EnviarCorreoCCO) >= 1) {
                         for ($l = 0; $l < count($this->EnviarCorreoCCO); $l++) {
                             $Mail->AddBCC($this->EnviarCorreoCCO[$l]['CORREO'], $this->EnviarCorreoCCO[$l]['NOMBRE']);
                         }
                     }
                 }
                 //Generamos el Emisor del correo
                 $Mail->SetFrom($DatosConfigCorreo['APLICACIONES']['DEFAULT']['CONFIGURACION']['Username'], $this->NombreEmisor);
                 //Generamos el asunto correspondiente
                 $Mail->Subject = $this->AsuntoMail;
                 //validamos si enviamos mensaje alternativo que no soporte html
                 if (isset($this->MensajeAlternativo)) {
                     $Mail->AltBody($this->MensajeAlternativo);
                 }
                 //Generamos el Mensaje HTML correspondiente
                 $Mail->MsgHTML($this->MensajeGeneralHTML);
                 //validamos los datos adjuntos correspondientes
                 if (isset($this->ArchAdjuntos)) {
                     if (count($this->ArchAdjuntos) >= 1) {
                         for ($h = 0; $h < count($this->ArchAdjuntos); $h++) {
                             $Mail->AddAttachment($this->ArchAdjuntos[$h]);
                         }
                     }
                 }
                 //Enviamos el correo correspondiente
                 $Mail->Send();
             } catch (phpmailerException $e) {
                 //Errores de PhpMailer
                 echo $e->errorMessage();
             } catch (Exception $e) {
                 //Errores de cualquier otra cosa.
                 echo $e->getMessage();
             }
         } elseif ($DatosConfigCorreo['APLICACIONES']['DEFAULT']['FUNCION_MAIL'] == 'HABILITADO') {
             // Content-type se Adiciona
             $Cabeceras = 'MIME-Version: 1.0' . "\r\n";
             $Cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
             //Generamos a los destinatarios que se les envia este correo titular
             if (isset($this->EnviarCorreoTo)) {
                 if (count($this->EnviarCorreoTo) >= 1) {
                     for ($i = 0; $i < count($this->EnviarCorreoTo); $i++) {
                         $DatosEnviarTo[] = $this->EnviarCorreoTo[$i]['CORREO'];
                     }
                     //Organizamos los correos correspondientes
                     $CabeceraEnviarTo = implode(", ", $DatosEnviarTo);
                     //Generamos la cabecera correspondiente
                     $Cabeceras .= 'To: ' . $CabeceraEnviarTo . "\r\n";
                 }
             }
             //Generamos los destinatarios de copia de este correo
             if (isset($this->EnviarCorreoCC)) {
                 if (count($this->EnviarCorreoCC) >= 1) {
                     for ($j = 0; $j < count($this->EnviarCorreoCC); $j++) {
                         $DatosEnviarCC[] = $this->EnviarCorreoCC[$j]['CORREO'];
                     }
                     //Organizamos los correos correspondientes
                     $CabeceraEnviarCC = implode(", ", $DatosEnviarCC);
                     //Generamos la cabecera correspondiente
                     $Cabeceras .= 'Cc: ' . $CabeceraEnviarCC . "\r\n";
                 }
             }
             //Generamos los destinatarios de copia oculta
             if (isset($this->EnviarCorreoCCO)) {
                 if (count($this->EnviarCorreoCCO) >= 1) {
                     for ($l = 0; $l < count($this->EnviarCorreoCCO); $l++) {
                         $DatosEnviarBCC[] = $this->EnviarCorreoCCO[$l]['CORREO'];
                     }
                     //Organizamos los correos correspondientes
                     $CabeceraEnviarBCC = implode(", ", $DatosEnviarBCC);
                     //Generamos la cabecera correspondiente
                     $Cabeceras .= 'Bcc: ' . $CabeceraEnviarBCC . "\r\n";
                 }
             }
             //Enviamos el correo correspondiente
             mail($CabeceraEnviarTo, $this->AsuntoMail, $this->MensajeGeneralHTML, $Cabeceras);
         } else {
             echo 'ACTUALMENTE LA CONFIGURACION DE CORREO DEBE VALIDARSE, VALIDE QUE LA APLICACION DEFAULT ESTE BIEN CONFIGURADA O SELECCIONE UNA APLICACION CONFIGURADA';
             exit;
         }
     }
 }