<?php

require_once ('libphp-phpmailer/PHPMailerAutoload.php');

use Vn\Lib;

class Contact extends Vn\Web\JsonRequest
{
	const PARAMS = [
		 'name'
		,'pc'
		,'phone'
		,'email'
		,'message'
		,'captcha'
	];

	function run ($db)
	{
		// Checks the antispam code

		$lastCaptcha = $_SESSION['captcha'];
		unset ($_SESSION['captcha']);
		
		if ($_REQUEST['captcha'] !== $lastCaptcha)
			throw new Lib\UserException  (s('Wrong captcha'), 'wrongCaptcha');

		// Sends the mail

		// TODO: Change form fields
		//$db->queryFromFile (__DIR__.'/contact', $_REQUEST);
		//$customerId = $db->getValue ('SELECT @id');
		
		$conf = $db->getRow (
			'SELECT m.host, m.port, m.secure, m.sender, m.user, m.password, c.recipient 
				FROM mail_config m JOIN contact c'
		);

		$mail = new PHPMailer ();
		$mail->isSMTP ();
		$mail->Host = $conf['host'];
		
		if (!empty ($conf['user']))
		{
			$mail->SMTPAuth = TRUE;
			$mail->Username = $conf['user'];
			$mail->Password = base64_decode ($conf['password']);
		}
		else
			$mail->SMTPAuth = FALSE;

		if ($conf['secure'])
		{
			$mail->SMTPSecure = 'ssl';
			$mail->Port = 465;
		}

		$mail->setFrom ($conf['sender'], 'Web');
		$mail->addAddress ($conf['recipient']);
		$mail->isHTML (TRUE);
		$mail->Subject = s('New customer request');
		$mail->Body = '<pre>'. print_r ($_REQUEST, TRUE) .'</pre>';

		if (!$mail->send ())
			throw new Exception  ($mail->ErrorInfo);

		return TRUE;
	}
}