<?php	

class MailingController {

	private $smtp;

    function __construct($obj)
    {
	    # Se trae los parametros SMTP
	    $this->smtp=$obj->getParam(2);
	    $this->smtp=explode(":",$this->smtp['paopvalo']);
    }

	/**

	 *

	 * Method :  sendmail

	 * Use : Envia mensaje de activavion de la cuenta, envia token 

	 * Params : asunto     - Id de Usuario

	 *          emails 	   - correos de envio

     *          body       - Cuerpo html del correo

	 */	

	public function sendmail($asunto,$email,$body)	
    {	

	  	require_once dirname(__DIR__,4).'/api/dev/libs/swiftmailer/lib/swift_required.php';

	  	$transport = Swift_SmtpTransport::newInstance($this->smtp[0], $this->smtp[1], "ssl")

	  	->setUsername($this->smtp[2])

	  	->setPassword($this->smtp[3]);

	  	$mailer = Swift_Mailer::newInstance($transport);

	  	$message = Swift_Message::newInstance($asunto)

	  	->setFrom(array($this->smtp[2] => 'Fanáticos Qubit'))

	  	->setTo($email) 

	  	->setBody($body,'text/html');

	  	$result = $mailer->send($message); 

	  	return $result;

	}//END.		


	/**

	 *

	 * Method :  builtHtmlRegister

	 * Use : cosntruye el cuerpo del correo en HTML 

	 * Params : 

	 *          email 	 - token de activacion

	 *          nombre   - Nombre del usuario

                walletCelular   - Numero celular
	 */ 

	public function builtHtmlRegister($nombre,$email,$walletCelular)

	{
        
		$htmlContent = file_get_contents("../view/mailing/emailRegister.html");	

	  	$htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  	$htmlContent = str_replace("{email}",$email,$htmlContent);

	  	$htmlContent = str_replace("{walletCelular}",$walletCelular,$htmlContent);
		
	  	return $htmlContent;

	}

	/**

	 *

	 * Method :  builtHtmlRegisterActivar

	 * Use : cosntruye el cuerpo del correo en HTML 

	 * Params : 

	 *          token 	 - token de activacion

	 *          nombre   - Nombre del usuario

	 */	

	public function builtHtmlRegisterActivar($nombre,$token)

	{
        
	  $htmlContent = file_get_contents("../view/mailing/emailActivate.html");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{token}",$token,$htmlContent);

	  return $htmlContent;

	} 

    /**

	 *

	 * Method :  builtHtmlRegisterActivar

	 * Use : cosntruye el cuerpo del correo en HTML 

	 * Params : 

	 *          token 	 - token de activacion

	 *          nombre   - Nombre del usuario

	 */	

	public function builtHtmlRegisterPassword($nombre,$token)
    
    {
      
	  $htmlContent = file_get_contents("../view/mailing/emailRegisterPassword.html");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{token}",$token,$htmlContent);

	  return $htmlContent;

	}   	



	public function builtHtmlChangeDevice($nombre,$token)

	{	   

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/emails/emailChangeDevice.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{token}",$token,$htmlContent);

	  return $htmlContent;

	}   	

	public function successReservation($nombre,$url)

	{	   

	  $htmlContent = file_get_contents();		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{url}",$url,$htmlContent);

	  return $htmlContent;

	}

	public function builtHtmlSuccessPay($nombre,$metodo)

	{

	  /*

	  ob_start();

	  include "./templates/htmlPayResponse/mercadoPagoSuccess.tpl";

	  return ob_get_clean();

	  */

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/htmlPayResponse/Success.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{metodo}",$metodo,$htmlContent);	  

	  //var_dump($htmlContent);

	  return $htmlContent;

	} 


	public function builtHtmlFailPay($nombre,$metodo)

	{   

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/htmlPayResponse/Fail.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{metodo}",$metodo,$htmlContent);	  

	  return $htmlContent;

	}



	public function builtHtmlPendigPay($nombre,$metodo)

	{	   

	  $htmlContent = file_get_contents("../view/mailing/emailPendingPayment.html");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{metodo}",$metodo,$htmlContent);

	  return $htmlContent;

	}	

	public function builtHtmlInvalidPay($nombre,$metodo)

	{   

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/htmlPayResponse/Invalid.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{metodo}",$metodo,$htmlContent);

	  return $htmlContent;

	} 

	public function builtHtmlTransferSuccess($nombre,$nombre2,$walletCelular)

	{

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/emails/emailTransferTicketSuccess.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{nombre2}",$nombre2,$htmlContent);

	  $htmlContent = str_replace("{walletCelular}",$walletCelular,$htmlContent);

	  return $htmlContent;

	} 

	public function builtHtmlTransferTarget($nombre,$nombre2,$ticket,$evento,$fecha)

	{  

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/emails/emailTransferTicketTarget.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  $htmlContent = str_replace("{nombre2}",$nombre2,$htmlContent);

	  $htmlContent = str_replace("{ticket}",$ticket,$htmlContent);

	  $htmlContent = str_replace("{evento}",$evento,$htmlContent);	  

	  $htmlContent = str_replace("{fecha}",$fecha,$htmlContent);	  

	  return $htmlContent;

	}

	public function builtHtmlOrderCancel($nombre)

	{

	  $htmlContent = file_get_contents(Application::getTemplatesDirectory()."/emails/emailTransferTicketTarget.tpl");		

	  $htmlContent = str_replace("{nombre}",$nombre,$htmlContent);

	  return $htmlContent;

	} 	

}



?>	