diff options
author | rsiddharth <s@ricketyspace.net> | 2019-05-23 19:01:40 -0400 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2019-05-23 19:01:40 -0400 |
commit | 3d7d9755ffce8930ea81ab3ce9497090781296ec (patch) | |
tree | e1c3fa4fe02bb4c211e4942ac72acfaa9c72afea /static/contact/submit/index.php | |
parent | 10a599234f258d4be7dc9922623363d726443f29 (diff) |
static: Add contact/submit
Diffstat (limited to 'static/contact/submit/index.php')
-rw-r--r-- | static/contact/submit/index.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/static/contact/submit/index.php b/static/contact/submit/index.php new file mode 100644 index 0000000..b88bdea --- /dev/null +++ b/static/contact/submit/index.php @@ -0,0 +1,62 @@ +<?php + +/** + * + * SPDX-License-Identifier: ISC + * + * Copyright © 2019 Free Software Foundation of India. + * + */ + +function to() { + return 's@cygnus.ricketyspace.net'; +} + +function email_valid($e) { + if (preg_match('/([\w.-]+)@([\w.-]+)/', $e)) { + return true; + } + return false; +} + +function send($n, $e, $m) { + $p = $n . ' <' . $e . '>'; + return mail(to(), + $p . ' sent a message to FSF India', + 'Per says:' . PHP_EOL . PHP_EOL . $m + ); +} + +function em_fw($t) { + return preg_replace('/^(\w+)( .+)/', '<strong>$1</strong>$2', $t); +} + +function post() { + $n = $_POST['name']; + $e = $_POST['email']; + $m = $_POST['msg']; + + $errors = []; + if (!email_valid($e)) { + $errors[] = em_fw('Email is invalid'); + } + if (empty($m)) { + $errors[] = em_fw('Message is required'); + } + + $sok = true; + if (empty($errors)) { + $sok = send($n, $e, $m); + } + if (!$sok) { + $errors[] = 'Unable to process your submission.'; + } + + return [ + 'ok' => empty($errors) && $sok, + 'errors' => $errors + ]; +} + +$result = post(); +include(__DIR__ . '/submit.html'); |