/** * 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); }
/** * 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'; } }
/** * 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); } }
/** * __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'](); } } }
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); }
/** * 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); }
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; } } } }
/** * 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; } } }