diff --git a/modules/contactowner/controllers/admin_contactowner.php b/modules/contactowner/controllers/admin_contactowner.php
index 1f19bec7..51eaea95 100644
--- a/modules/contactowner/controllers/admin_contactowner.php
+++ b/modules/contactowner/controllers/admin_contactowner.php
@@ -48,13 +48,15 @@ class Admin_ContactOwner_Controller extends Admin_Controller {
$str_contactbutton = Input::instance()->post("owner_button_text");
$str_contactemail = Input::instance()->post("owner_email");
$str_contactname = Input::instance()->post("owner_name");
+ $str_messageheader = Input::instance()->post("message_header");
// Save Settings.
module::set_var("contactowner", "contact_owner_link", $ownerLink);
module::set_var("contactowner", "contact_user_link", $userLink);
module::set_var("contactowner", "contact_button_text", $str_contactbutton);
- module::set_var("contactowner", "contact_owner_email", $str_contactemail );
- module::set_var("contactowner", "contact_owner_name", $str_contactname );
+ module::set_var("contactowner", "contact_owner_email", $str_contactemail);
+ module::set_var("contactowner", "contact_owner_name", $str_contactname);
+ module::set_var("contactowner", "contact_owner_header", $str_messageheader);
message::success(t("Your Settings Have Been Saved."));
// Load Admin page.
@@ -86,9 +88,12 @@ class Admin_ContactOwner_Controller extends Admin_Controller {
$add_contacts->input("owner_button_text")->label(t("Contact Owner Link Text"))->value(module::get_var("contactowner", "contact_button_text"));
$add_contacts->input("owner_email")->label(t("Owner Email Address"))->value(module::get_var("contactowner", "contact_owner_email"));
$add_contacts->input("owner_name")->label(t("Owner Name"))->value(module::get_var("contactowner", "contact_owner_name"));
-
+
+ $message_prefs = $form->group("messagePrefs");
+ $message_prefs->input("message_header")->label(t("Email Message Header"))->value(module::get_var("contactowner", "contact_owner_header"));
+
// Add a save button to the form.
- $add_contacts->submit("SaveSettings")->value(t("Save"));
+ $form->submit("SaveSettings")->value(t("Save"));
// Return the newly generated form.
return $form;
diff --git a/modules/contactowner/controllers/contactowner.php b/modules/contactowner/controllers/contactowner.php
index e9684bb0..9b23e940 100644
--- a/modules/contactowner/controllers/contactowner.php
+++ b/modules/contactowner/controllers/contactowner.php
@@ -85,46 +85,70 @@ class ContactOwner_Controller extends Controller {
// Process the data from the form into an email,
// then send the email.
- // Copy the data from the email from into a couple of variables.
- $str_emailsubject = Input::instance()->post("email_subject");
- $str_emailtoid = Input::instance()->post("email_to_id");
- $str_emailfrom = Input::instance()->post("email_from");
- $str_emailbody = Input::instance()->post("email_body");
+ // Make sure the form was submitted.
+ if ($_POST) {
+ // Set up some rules to validate the form against.
+ $post = new Validation($_POST);
+ $post->add_rules('email_from', 'required', 'valid::email');
+ $post->add_rules('email_subject', 'required');
+ $post->add_rules('email_body', 'required');
+
+ // If the form was filled out properly then...
+ if ($post->validate()) {
+ // Copy the data from the email form into a couple of variables.
+ $str_emailsubject = Input::instance()->post("email_subject");
+ $str_emailtoid = Input::instance()->post("email_to_id");
+ $str_emailfrom = Input::instance()->post("email_from");
+ $str_emailbody = Input::instance()->post("email_body");
- // Add in some
tags to the message body where ever there are line breaks.
- $str_emailbody = str_replace("\n", "\n
", $str_emailbody);
+ // Add in some
tags to the message body where ever there are line breaks.
+ $str_emailbody = str_replace("\n", "\n
", $str_emailbody);
- // Gallery's Sendmail library doesn't allow for custom from addresses,
- // so add the from email to the beginning of the message body instead.
- $str_emailbody = "Message Sent From " . $str_emailfrom . "\r\n\r\n
" . $str_emailbody;
+ // Gallery's Sendmail library doesn't allow for custom from addresses,
+ // so add the from email to the beginning of the message body instead.
+ // Also add in the admin-defined message header.
+ $str_emailbody = module::get_var("contactowner", "contact_owner_header") . "
\r\n" . "Message Sent From " . $str_emailfrom . "
\r\n
\r\n" . $str_emailbody;
- // Figure out where the email is going to.
- $str_emailto = "";
- if ($str_emailtoid == -1) {
- // If the email id is "-1" send the message to a pre-determined
- // owner email address.
- $str_emailto = module::get_var("contactowner", "contact_owner_email");
- } else {
- // or else grab the email from the user table.
- $userDetails = ORM::factory("user")
- ->where("id", "=", $str_emailtoid)
- ->find_all();
- $str_emailto = $userDetails[0]->email;
+ // Figure out where the email is going to.
+ $str_emailto = "";
+ if ($str_emailtoid == -1) {
+ // If the email id is "-1" send the message to a pre-determined
+ // owner email address.
+ $str_emailto = module::get_var("contactowner", "contact_owner_email");
+ } else {
+ // or else grab the email from the user table.
+ $userDetails = ORM::factory("user")
+ ->where("id", "=", $str_emailtoid)
+ ->find_all();
+ $str_emailto = $userDetails[0]->email;
+ }
+
+ // Send the email message.
+ Sendmail::factory()
+ ->to($str_emailto)
+ ->subject($str_emailsubject)
+ ->header("Mime-Version", "1.0")
+ ->header("Content-type", "text/html; charset=utf-8")
+ ->message($str_emailbody)
+ ->send();
+
+ // Display a message telling the visitor that their email has been sent.
+ $template = new Theme_View("page.html", "other", "Contact");
+ $template->content = new View("contactowner_emailform.html");
+ $template->content->sendmail_form = t("Your Message Has Been Sent.");
+ print $template;
+ } else {
+ // Display a message telling the visitor that their email has been not been sent,
+ // along with the reason(s) why.
+ $template = new Theme_View("page.html", "other", "Contact");
+ $template->content = new View("contactowner_emailform.html");
+ $template->content->sendmail_form = t("Your Message Has Not Been Sent.");
+ $template->content->sendmail_form = $template->content->sendmail_form . "
" . t("Reason(s):") . "
";
+ foreach($post->errors('form_error_messages') as $error) {
+ $template->content->sendmail_form = $template->content->sendmail_form . " - " . t($error) . "
";
+ }
+ print $template;
+ }
}
-
- // Send the email message.
- Sendmail::factory()
- ->to($str_emailto)
- ->subject($str_emailsubject)
- ->header("Mime-Version", "1.0")
- ->header("Content-type", "text/html; charset=utf-8")
- ->message($str_emailbody)
- ->send();
-
- // Display a message telling the visitor that their email has been sent.
- $template = new Theme_View("page.html", "other", "Contact");
- $template->content = new View("contactowner_emailform.html");
- $template->content->sendmail_form = t("Your Message Has Been Sent.");
- print $template;
}
-}
+}
\ No newline at end of file
diff --git a/modules/contactowner/helpers/contactowner_installer.php b/modules/contactowner/helpers/contactowner_installer.php
new file mode 100644
index 00000000..e841ebb3
--- /dev/null
+++ b/modules/contactowner/helpers/contactowner_installer.php
@@ -0,0 +1,35 @@
+