JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
make contact form configurable
[wfpl-cms.git] / contact.php
index 00176d7..e19fe19 100644 (file)
@@ -5,7 +5,10 @@
 # SETUP
 
 # To send results by e-mail, all you have to do is set your e-mail address here:
-$GLOBALS['contact_form_recipient'] = 'fixme@example.com';
+$GLOBALS['contact_to'] = 'fixme@example.com';
+$GLOBALS['contact_from'] = 'noreply@example.com';
+$GLOBALS['contact_cc'] = '';
+$globals['contact_subject'] = '';
 $GLOBALS['contact_robot_answer'] = 1002;
 
 
@@ -28,48 +31,56 @@ function contact_main() {
        return contact_main_form();
 }
 
-function contact_main_form($id = false) {
+function contact_main_form() {
        $robot_correct = "" . $GLOBALS['contact_robot_answer'];
        $robot_minus_one = "" . ($GLOBALS['contact_robot_answer'] - 1);
        $robot_plus_one = "" . ($GLOBALS['contact_robot_answer'] + 1);
        tem_set('robot_minus_one', $robot_minus_one);
        tem_set('robot_plus_one', $robot_plus_one);
 
-       if(isset($_POST['name'])) {
+       if (isset($_POST['name'])) {
                $data = contact_get_fields();
                $host = this_host();
 
-               if(!$data['name'] && !$data['email'] && !$data['comments']) {
+               if (!$data['name'] && !$data['email'] && !$data['comments']) {
                        // message("you didn't fill anything out")
-               } elseif($data['robot'] !== $robot_correct) {
+               } elseif ($data['robot'] !== $robot_correct) {
                        message("Please type $robot_correct into the Robot Barrier field");
                } else {
-                       if($GLOBALS['contact_form_recipient'] != 'fixme@example.com') {
-                               $to = $GLOBALS['contact_form_recipient'];
-                               $from = "$host/contact <noreply@cmstest.com>";
+                       if ($GLOBALS['contact_to'] != 'fixme@example.com') {
+                               $to = $GLOBALS['contact_to'];
+                               if ($GLOBALS['contact_from'] === '') {
+                                       $from = "$host/contact <noreply@$host>";
+                               } else {
+                                       $from = $GLOBALS['contact_from'];
+                               }
                                $reply_to = $to;
-                               if(isset($data['email']) and valid_email($data['email'])) {
+                               if (isset($data['email']) and valid_email($data['email'])) {
                                        $reply_to = $data['email'];
-                                       if($data['name'] and ereg('^[a-zA-Z0-9_\' -]*$', $data['name']) !== false) {
+                                       if ($data['name'] and ereg('^[a-zA-Z0-9_\' -]*$', $data['name']) !== false) {
                                                $reply_to = "$data[name] <$reply_to>";
                                        }
                                }
-                               $subject = "Your message via $host/contact";
+                               if ($GLOBALS['contact_subject'] === '') {
+                                       $subject = "Your message via $host/contact";
+                               } else {
+                                       $subject = $GLOBALS['contact_subject'];
+                               }
                                $email_template = new tem();
                                $email_template->load('contact.email.txt');
                                $email_template->sets($data);
                                $email_template->set('$host', $host);
                                $message = $email_template->run();
-                               $cc = '';
+                               $cc = $GLOBALS['contact_cc'];
                                $bcc = '';
-                               if(email($from, $to, $subject, $message, $reply_to, $cc, $bcc)) {
+                               if (email($from, $to, $subject, $message, $reply_to, $cc, $bcc)) {
                                        message('Due to an internal error, your message could not be sent. Please try again later.');
                                        $error = true;
                                } else {
                                        message('Message sent');
                                }
                        }
-                       if($error !== true) {
+                       if ($error !== true) {
                                # FIXME create this page or change this to go elsewhere
                                return './contact_thanks';
                        }