hedera-web/rest/misc/contact.php

66 lines
1.4 KiB
PHP

<?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->getObject(
'SELECT m.host, m.port, m.secure, m.sender, m.user, m.password, c.recipient
FROM mailConfig 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;
}
}