Files
dog/php/php-dog/foundEmail.php
Peter Hoppe 1644fede7f storeEmail
2023-02-07 16:34:53 +01:00

105 lines
2.7 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 = 'Dog Found ' . $name .' '. $qr_id;
$headers[] = 'From: '. $fromEmail;
$headers[] = 'Cc: '. $fromEmail;
$headers[] = 'Bcc: dog@hope-fly.de';
try
{
$ret = mail($toEmail,$subject,$msg,implode("\r\n", $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
}
return $dogRes;
}
?>