} $mail->Subject = $mailform['subject'] ? $mailform['subject'] : 'Mailform Submission'; $mail->Body = $body; if (!$mail->Send()) { throw new Exception($mail->ErrorInfo); } } $pm->setVariable('response', $mailform['response']); $pm->setVariable('referer', @$_SERVER['HTTP_REFERER']); if ($mailform['redirect']) { if (requestIsAjax()) { header('Content-Type: text/json'); $response = array('status' => 'ok', 'redirect' => $pm->data()->parseVariables(Typeframe_Attribute_Url::ConvertShortUrlToExpression($mailform['redirect']))); echo json_encode($response); exit; } else { Typeframe::Redirect('Submission received.', $pm->data()->parseVariables(Typeframe_Attribute_Url::ConvertShortUrlToExpression($mailform['redirect']))); } } else { Typeframe::SetPageTemplate('/mailform/completed.html'); } } else { $pm->setVariable('errors', $formHandler->errors()); if (requestIsAjax()) { header('Content-Type: text/json'); $response = array('status' => 'error', 'errors' => $formHandler->errors()); echo json_encode($response); exit; } } }
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { header('Content-Type: text/json'); $fields = array(); $mailform = Model_Mailform::Get($_REQUEST['mailformid']); foreach ($mailform['formfields'] as $field) { if (isset($_POST[$field['key']])) { $fields[] = $field; } } $handler = new Form_Handler_Mailform($fields); if ($handler->validate()) { echo "true"; } else { echo json_encode($handler->errors()); } exit; }