Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/03/2009, 06:37
karagounis24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problemas con include

Éste es el include class.mail.php que me muestra por pantalla:

Código:
<?

//-------------------------------------------------------------------------------
// PROYECTO: XControlCore
// ARCHIVO: class.mail.php
//
//
//-------------------------------------------------------------------------------
// DESCRIPCION: Nueva gestion de correo electronico descargando a servidor SQL
// de la gestion de las colas de correo
//
//-------------------------------------------------------------------------------

class mail4 {

	// Definicion de porpiedades

	var $from_email;
	var $from_name;
	var $to_email = array();
	var $subject;
	var $body;
	var $isHTML;
	var $rutaRAW;
    
	// Definicion del constructor

	function mail4($ruta='') {

		if($ruta!='') $this->rutaRAW = $ruta;
		else $this->rutaRAW = SYS_RUTARAW;
		return;
	}

	// Métodos de la clase
    
	/**
	* Mete el email en la cola
	*/
	function encolar() {
    	
    		$ors = new oRS('email_log');
    		$ors->depura=1;
    		
    		for($i=0;$i<count($this->to_email);$i++) {

			$ors->c['from_name'] = (string) $this->from_name;
			$ors->c['from_email'] = (string) $this->from_email;
			$ors->c['subject']  = (string) $this->subject;
			$ors->c['to_email'] = (string) $this->to_email[$i];
			$ors->c['body'] = (string) $this->body;
			$ors->c['isHTML'] = (isset($this->isHTML)) ? $this->isHTML : 0;
			$ors->c['enviado'] = (int) 0;
			$ors->c['error'] = (int) 0;
			
			$ors->insert();
			$ors->reset('email_log');
		}
	}
    
	/**
	* Procesa la cola y realiza todos los envios via Mdaemon
	*/
	function procesarCola() {
	
		$cola = array();
		
		$ors = new oRS();
 		$ors->select("select top 20 id,from_name,from_email,subject,to_email,isHTML,body from email_log where enviado = 0");
		if(!$ors->EOF) {
			while(!$ors->EOF) {

				// Código para tratar el recordset
				
				$cola[] = $ors->c;
				
				$ors->moveNext();
			}

		}
				
		$mens = count($cola);
		
		for($i=0;$i<$mens;$i++) {
					
			// Creamos el contenido del archivo de acuerdo con el formato RAW de MDAEMON
                
			$nombre = md5($cola[$i]['to_email'] . time() . md5(rand(1,100)));

			$rawstr  = "header <XcontrolID: $nombre>" .chr(13).chr(10);
			
			if($cola[$i]['isHTML']) {
				$rawstr .= "header <MIME-Version: 1.0>".chr(13).chr(10);
				$rawstr .= "header <Content-Type: text/html>".chr(13).chr(10);
			}
			
			$rawstr .= "From \"{$cola[$i]['from_name']}\" <{$cola[$i]['from_email']}>" .chr(13).chr(10);
			$rawstr .= "To <{$cola[$i]['to_email']}>".chr(13).chr(10);
			$rawstr .= "Subject <{$cola[$i]['subject']}>".chr(13).chr(10);
			$rawstr .= chr(13).chr(10) . $cola[$i]['body'];
			
			// Creamos el archivo en la carpeta temporal

			$nombre .= ".raw";
			$fp = fopen('rawtmp\\' . $nombre,"w+");
			fwrite($fp,$rawstr,strlen($rawstr));
			fclose($fp);
		
			// Copiar el archivo a la carpeta de Rawfiles
				
			copy('rawtmp\\' . $nombre,$this->rutaRAW . $nombre);

			// Insertamos una entrada en email_log para dejar constancia del envio

			$ors->depura=1;
			$ors->reset('email_log');
			$ors->c['enviado'] = 1;
			$ors->c['archivo'] = $nombre;
			$ors->c['id'] = (int) $cola[$i]['id'];
			$ors->update('id');
				
		} // for
	
	} // function

	/**
	* Inicializa las propiedades del objeto
	*/
	function reset() {
		
		$this->from_email = "";
		$this->from_name = "";
		$this->to_email = array();
		$this->subject = "";
		$this->body = "";
		$this->isHTML = 0;

	}
	
	
	function enviar() {

	global $rutaRAW;

	// Se introduce el email en la cola, una estrada para cada entrada en
	// $to_email
	
	for($i=0;$i<count($this->to_email);$i++) {
	
		// Creamos el contenido del archivo de acuerdo con el formato RAW de MDAEMON
                
			$nombre = md5($this->to_email[$i] . time());

		$rawstr  = "header <XcontrolID: $nombre>" .chr(13).chr(10);
		$rawstr .= "From <{$this->from_email}>" .chr(13).chr(10);
		$rawstr .= "To <{$this->to_email[$i]}>".chr(13).chr(10);
		$rawstr .= "Subject <{$this->subject}>".chr(13).chr(10);
	           
		if($this->isHTML) {
			$rawstr .= "MIME-Version: 1.0".chr(13).chr(10);
			$rawstr .= "Content-Type: text/html".chr(13).chr(10);
		}
	           
		$rawstr .= chr(13).chr(10) . $this->body;

		// Creamos el archivo en la carpeta temporal

		$nombre .= ".raw";
		$fp = fopen('rawtmp\\' . $nombre,"w+");
		fwrite($fp,$rawstr,strlen($rawstr));
		fclose($fp);
		
		// Copiar el archivo a la carpeta de Rawfiles
					
		copy('rawtmp\\' . $nombre,$this->rutaRAW . $nombre);

		// Insertamos una entrada en email_log para dejar constancia del envio
		// TODO: En un futuro se podrian eliminar las referencias al body etc, ya que como tod esta en el archivo no seria necesario y estamos duplicando tontamente informacion

		$ors = new oRS('email_log');
		$ors->c['from_name'] = (string) $this->from_name;
		$ors->c['from_email'] = (string) $this->from_email;
		$ors->c['subject']  = (string) $this->subject;
		$ors->c['to_email'] = (string) $this->to_email[$i];
		$ors->c['body'] = (string) $this->body;
		$ors->c['isHTML'] = (isset($this->isHTML)) ? $this->isHTML : 0;
		$ors->c['archivo'] = (string) $nombre;
		$ors->c['enviado'] = (int) 1;
		$ors->c['error'] = (int) 0;
		$ors->insert();

	} // for

    }

    //function obtenerinfoarchivo() para cuando hayan errores

}

?>