Documentación GVHIDRA 3.1.5
Referencia de la Clase IgepCorreo

Métodos públicos

 correoUsuario ($usuario)
 correoNREGPGV ($nregpgv)
 correoListaUsuariosModulo ($aplicacion, $modulo)
 correoListaUsuariosAplicacion ($aplicacion, $tipo=1)
 correoLista ($selec)
 sinAnexo ($from, $to, $subject, $body, $responder_a, $poner_dest=FALSE)
 conAnexo ($from, $to, $subject, $msg, $responder_a, $tmp_fich, $tipo_fich, $nom_fich, $poner_dest=FALSE)

Métodos públicos estáticos

static sendMailsInQueue ($dir)

Atributos privados estáticos

static $mailQueue = array()

Descripción detallada

Definición en la línea 44 del archivo IgepCorreo.php.


Documentación de las funciones miembro

conAnexo ( from,
to,
subject,
msg,
responder_a,
tmp_fich,
tipo_fich,
nom_fich,
poner_dest = FALSE 
)

Funcin para enviar correos con ficheros anexados from --> Contiene la direccin de correo del usuario que envia to --> Contiene un array con los destinatarios subject --> Asunto del mensaje. msg --> Texto del mensaje. responder_a --> Contiene la direccin de correo del usuario a responder tmp_fich --> Nombre del fichero temporal anexo a enviar en el mensaje. tipofich --> Tipo de fichero nom_fich --> Nombre del fichero anexo a enviar en el mensaje poner_dest --> Indica si queremos que en el correo aparezcan todos los destinatarios que reciben el correo. En desarrollo no tiene efecto.

Definición en la línea 213 del archivo IgepCorreo.php.

        {
                IgepDebug::setDebug(DEBUG_IGEP, 'Enviando correo con anexo a '.count($to).' usuario(s)');               
                $usus = implode('; ', $to);
                
                //Si estamos en desarrollo, enviamos el correo al usuario que se valida 
                //y no a los destinatarios reales
                if (CustomMainWindow::getHost()=='gardel') {
                        $datosusuario=IgepSession::dameDatosUsuario();
                        if (isset($datosusuario['correo'])) {
                                if (count($to)>0)
                                        //Concatenamos al mensaje los destinatarios reales
                                        $msg = $msg.SALTO_LINEA."Destinatarios de correo reales:".SALTO_LINEA.$usus;
                                $to = array($datosusuario['correo']);
                        }
                } else {
                        if ($poner_dest)
                                $msg = SALTO_LINEA."Destinatarios del correo:".SALTO_LINEA.$usus.SALTO_LINEA.SALTO_LINEA.$msg;
                }
                
            //Cabeceras:
            $hdrs = array('From'=>$from,'Subject' => $subject,'Reply-to'=> $responder_a);
        
            //Creamos el objeto de tipo Mail_mime:
            $mime = new Mail_mime(SALTO_LINEA);
        
            if (!$mime->addAttachment($tmp_fich,$tipo_fich,$nom_fich)) $msg.= SALTO_LINEA." No ha podido anexarse el fichero";
                $mime->setTXTBody($msg);
            $body = $mime->get();
            $hdrs = $mime->headers($hdrs);
                
                $params['host'] = 'smtp.gva.es';
            
            // Creamos el objeto mail usando el mtodo Mail::factory
            $mail_object =& Mail::factory('smtp', $params);
            
            //Mandamos el mensaje a cada destinatario:
                $resultado=TRUE;
                while (list($clave, $valor)=each($to)) {
                        $result = $mail_object->send($valor, $hdrs, $body);
                        if (!$result || !($result === TRUE))
                                $resultado=FALSE;
                }
                return $resultado;
        }
correoLista ( selec)

Funcin que devuelve la lista de usuarios a quien enviar el correo

Definición en la línea 113 del archivo IgepCorreo.php.

                                     {
        $lista = array();
                if (empty($selec))
                        return $lista;
                $conf = ConfigFramework::getConfig();
                $dsn = $conf->getDSN('gvh_dsn_ora');
                if (empty($dsn))
                        return $lista;
        $conexion = new IgepConexion($dsn);

                $direcciones = $conexion->consultar($selec);
                
                $destinatarios=array(); 
                foreach ($direcciones as $usupetici)
                        $destinatarios[]=$usupetici[COL_EMAIL];
                
                return $destinatarios;
        }
correoListaUsuariosAplicacion ( aplicacion,
tipo = 1 
)

Funcin que devuelve la lista de todos los usuarios de la aplicacin a quien enviar el correo segn el tipo. 1- todos excluyendo usuarios de tipo role y slo aquellos de tipo N (normal) o S (slo listas)

Definición en la línea 103 del archivo IgepCorreo.php.

                                                                    {
                
                if ($tipo==1)
                        return self::correoLista("select u.dcorreoint as \"".COL_EMAIL."\"
                                                                                from tcom_aplusu a, tcom_usuarios u where a.usuario=u.USUARIO and a.estadousu<>'R' and (u.tipousu='N' or u.tipousu='S') and u.dcorreoint is not null and a.aplicacion = '$aplicacion'
                                                                                group by u.dcorreoint");
        }
correoListaUsuariosModulo ( aplicacion,
modulo 
)

Funcin que devuelve la lista de usuarios a quien enviar el correo segn la aplicacin y el mdulo

Definición en la línea 91 del archivo IgepCorreo.php.

                                                                {
                
                return self::correoLista("select u.dcorreoint as \"".COL_EMAIL."\"
                                                                        from tcom_usuarios u, vcom_modulos_usuarios m where u.usuario = m.usuario and (u.tipousu='N' or u.tipousu='S') and u.dcorreoint is not null and m.modulo = '$modulo' AND m.aplicacion = '$aplicacion'
                                                                        group by u.dcorreoint");
 
        }
correoNREGPGV ( nregpgv)

Funcin que devuelve la direccin de correo de un nregpgv

Definición en la línea 71 del archivo IgepCorreo.php.

    {
        $lista = array();
                if (empty($nregpgv))
                        return $lista;
        
        if(is_array($nregpgv))            
            $str_nregpgv= implode("','",$nregpgv);
        else
            $str_nregpgv= $nregpgv;
        
        return self::correoLista("select u.dcorreoint as \"".COL_EMAIL."\"
                                                                        from tcom_usuarios u where (u.tipousu='N' or u.tipousu='S') and u.nrp in ('$str_nregpgv')
                                                                        group by u.dcorreoint");

    }
correoUsuario ( usuario)

Funcin que devuelve la direccin de correo de un usuario

Definición en la línea 51 del archivo IgepCorreo.php.

        {
                $respondera = array();
                if (empty($usuario))
                        return $respondera;
                $conf = ConfigFramework::getConfig();
                $dsn = $conf->getDSN('gvh_dsn_ora');
                if (empty($dsn))
                        return $respondera;
                $conexion = new IgepConexion($dsn);
                $responder = $conexion->consultar("select u.dcorreoint as \"".COL_EMAIL."\" from tcom_usuarios u where u.usuario = '$usuario'");

                if (count($responder)>0) $respondera[0]=$responder[0][COL_EMAIL];

                return $respondera;
        }
static sendMailsInQueue ( dir) [static]

Envia todos los correos en la cola, y vacia la cola

Definición en la línea 180 del archivo IgepCorreo.php.

                                               {
                if (!chdir($dir))
                        IgepDebug::setDebug(ERROR, 'No se puede cambiar directorio de trabajo a '.$dir);
                IgepDebug::setDebug(DEBUG_IGEP, 'Enviando cola con '.count(self::$mailQueue).' correo(s)');
                $mail_object = Mail::factory('smtp', array('host'=>'smtp.gva.es'));
                foreach (self::$mailQueue as $mail) {
                        $result = $mail_object->send($mail[0], $mail[1], $mail[2]);
                        if (!$result || !($result === TRUE))
                                IgepDebug::setDebug(WARNING, 'Ha Fallado el envo de correo a "'.$mail[1]['To'].'" con asunto '.$mail[1]['Subject'].'"');
                }
                self::$mailQueue = array();
        }
sinAnexo ( from,
to,
subject,
body,
responder_a,
poner_dest = FALSE 
)

Funcin para enviar correos sin ficheros anexados

Parámetros:
string$fromDireccin de correo del usuario que envia
string$toContiene un array con los destinatarios
string$subjectAsunto del mensaje.
string$bodyCuerpo (texto) del mensaje.
string$responder_aContiene la direccin de correo del usuario a responder
string$poner_dest(Por defecto false) Indica si queremos que en el correo aparezcan todos los destinatarios que reciben el correo. En desarrollo no tiene efecto.

Definición en la línea 141 del archivo IgepCorreo.php.

        {
                IgepDebug::setDebug(DEBUG_IGEP, 'Enviando correo a '.count($to).' usuario(s)');
                $usus = implode('; ', $to);
                
                //Si estamos en desarrollo, enviamos el correo al usuario que se valida 
                //y no a los destinatarios reales
                if (CustomMainWindow::getHost()=='gardel') {
                        $datosusuario=IgepSession::dameDatosUsuario();
                        if (isset($datosusuario['correo'])) {
                                if (count($to)>0)
                                        //Concatenamos al mensaje los destinatarios reales
                                        $body .= SALTO_LINEA.'Destinatarios de correo reales:'.SALTO_LINEA.$usus;
                                $to = array($datosusuario['correo']);
                        }
                } else {
                        if ($poner_dest)
                                $body = SALTO_LINEA.'Destinatarios del correo:'.SALTO_LINEA.$usus.SALTO_LINEA.SALTO_LINEA.$body;
                }

                //Formamos las cabeceras:
                $headers['From']    = $from;
                $headers['Reply-to'] = $responder_a;
                $headers['Subject'] = $subject;
                
                // Registramos metodo para enviar cola, cuando finalice la peticion 
                if (empty(self::$mailQueue))
                        register_shutdown_function(array(__CLASS__, 'sendMailsInQueue'), getcwd());
                                
                foreach ($to as $email) {
                        $headers['To']=$email;
                        self::$mailQueue[] = array($email,$headers,$body);
                }
                return true;
        }

Documentación de los campos

$mailQueue = array() [static, private]

Definición en la línea 46 del archivo IgepCorreo.php.


La documentación para esta clase fue generada a partir del siguiente fichero: