118 lines
3.0 KiB
PHP
118 lines
3.0 KiB
PHP
<?php
|
|
header("Access-Control-Allow-Origin: *");
|
|
header("Access-Control-Allow-Headers: access");
|
|
header("Access-Control-Allow-Methods: POST");
|
|
header("Content-Type: application/json; charset=UTF-8");
|
|
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
|
|
|
|
session_start();
|
|
|
|
require __DIR__.'/classes/Database.php';
|
|
require __DIR__.'/classes/lib.php';
|
|
|
|
$db_connection = new Database();
|
|
$conn = $db_connection->dbConnection();
|
|
|
|
$returnData = new CMsg(0);
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] != "POST")
|
|
{
|
|
$returnData = new CMsg(0, 404, 'Page Not Found! REQUEST_METHOD');
|
|
echo $returnData->jsonarray();
|
|
return;
|
|
}
|
|
|
|
if (
|
|
!isset($_POST['fromEmail'])
|
|
|| !isset($_POST['toEmail'])
|
|
|| !isset($_POST['qr_id'])
|
|
|| !isset($_POST['name'])
|
|
|| !isset($_POST['msg'])
|
|
|| empty(trim($_POST['fromEmail']))
|
|
|| empty(trim($_POST['toEmail']))
|
|
|| empty(trim($_POST['qr_id']))
|
|
|| empty(trim($_POST['name']))
|
|
|| empty(trim($_POST['msg']))
|
|
)
|
|
{
|
|
$fields = ['fields' => ['fromEmail', 'toEmail', 'qr_id', 'name', 'msg']];
|
|
$returnData = new CMsg(0, 422, 'Please Fill in all Required Fields!', $fields);
|
|
echo $returnData->jsonarray();
|
|
return;
|
|
}
|
|
|
|
// IF THERE ARE NO EMPTY FIELDS THEN-
|
|
$fromEmail = trim($_POST['fromEmail']);
|
|
$toEmail = trim($_POST['toEmail']);
|
|
$qr_id = trim($_POST['qr_id']);
|
|
$name = trim($_POST['name']);
|
|
$msg = trim($_POST['msg']);
|
|
|
|
if (!filter_var($fromEmail, FILTER_VALIDATE_EMAIL))
|
|
{
|
|
$returnData = new CMsg(0, 422, 'Invalid Email Address!', 'fromEmail');
|
|
echo $returnData->jsonarray();
|
|
return;
|
|
}
|
|
|
|
if (!filter_var($toEmail, FILTER_VALIDATE_EMAIL))
|
|
{
|
|
$returnData = new CMsg(0, 422, 'Invalid Email Address!', 'toEmail');
|
|
echo $returnData->jsonarray();
|
|
return;
|
|
}
|
|
|
|
$subject = 'Tier gefunden: ' . $name .' ID: '. $qr_id;
|
|
|
|
// $headers =
|
|
// array(
|
|
// 'From' => $fromEmail,
|
|
// 'Cc' => $fromEmail,
|
|
// 'Bcc' => 'dog@hope-fly.de'
|
|
// );
|
|
|
|
$headers = 'From: ' . $fromEmail . "\r\n";
|
|
$headers .= 'Cc: ' . $fromEmail . "\r\n";
|
|
$headers .= 'Bcc: ' . 'dog@hope-fly.de' . "\r\n\r\n";
|
|
|
|
//var_dump($headers);
|
|
|
|
try
|
|
{
|
|
$ret = mail($toEmail, $subject, $msg, $headers);
|
|
if($ret)
|
|
{
|
|
$result = new CMsg(1, 200, "Email send successfully.");
|
|
$storeResult = storeEmail();
|
|
}
|
|
else
|
|
{
|
|
$result = new CMsg(1, 500, "Sorry, there was an error sending your email your file.");
|
|
}
|
|
echo $result->jsonarray();
|
|
}
|
|
catch (Exception $e)
|
|
{
|
|
$result = new CMsg(0, 500, $e->getMessage() );
|
|
echo $result->jsonarray();
|
|
}
|
|
|
|
|
|
function storeEmail()
|
|
{
|
|
global $qr_id, $conn, $msg, $fromEmail;
|
|
|
|
$dogRes = getDogByQrId($qr_id, $conn);
|
|
|
|
if($dogRes->success)
|
|
{
|
|
$sql = "INSERT INTO contact_emails (dogs_id, from_email, msg) VALUES (?,?,?)";
|
|
$conn->prepare($sql)->execute([$dogRes->data['id'], $fromEmail, $msg]); // throw PDO::exception when failed
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("qr_id: " . $qr_id . " :: " . $dogRes->message);
|
|
}
|
|
return $dogRes;
|
|
}
|
|
?>
|