From e906a747c2fe2511b039b3af59168727e147f77f Mon Sep 17 00:00:00 2001 From: dmolavi Date: Wed, 12 Jan 2011 09:49:17 +0800 Subject: [PATCH 1/2] Added option to send a copy to yourself. --- 3.0/modules/ecard/controllers/ecard.php | 10 ++++++++-- 3.0/modules/ecard/helpers/ecard.php | 4 ++++ 3.0/modules/ecard/helpers/ecard_installer.php | 2 +- 3.0/modules/ecard/module.info | 2 +- 3.1/modules/ecard/controllers/ecard.php | 10 ++++++++-- 3.1/modules/ecard/helpers/ecard.php | 4 ++++ 3.1/modules/ecard/helpers/ecard_installer.php | 2 +- 3.1/modules/ecard/module.info | 2 +- 8 files changed, 28 insertions(+), 8 deletions(-) diff --git a/3.0/modules/ecard/controllers/ecard.php b/3.0/modules/ecard/controllers/ecard.php index 6ca30df7..eeeb7267 100644 --- a/3.0/modules/ecard/controllers/ecard.php +++ b/3.0/modules/ecard/controllers/ecard.php @@ -46,6 +46,9 @@ class Ecard_Controller extends Controller { $to_name = $form->send_ecard->to_name->value; $from_name = $form->send_ecard->from_name->value; $bcc = module::get_var("ecard", "bcc"); + if($form->send_ecard->send_to_self->checked == true) { + $cc = $form->send_ecard->inputs["from_email"]->value; + } $v->message = t(module::get_var("ecard", "message"), array("toname" => $to_name, "fromname" => $from_name)); $v->custom_message = $form->send_ecard->text->value; $v->image = $item->name; @@ -57,7 +60,7 @@ class Ecard_Controller extends Controller { $mime->setHTMLBody($v->render()); $mime->addHTMLImage($item->resize_path(),$item->mime_type,$item->name); $body = $mime->get(array('html_charset' => 'UTF-8', 'text_charset' => 'UTF-8','text_encoding' => '8bit','head_charset' => 'UTF-8')); - self::_notify($headers['to'], $headers['from'], $headers['subject'], $item, $body, $mime->headers(), $bcc); + self::_notify($headers['to'], $headers['from'], $headers['subject'], $item, $body, $mime->headers(), $bcc, $cc); message::success("eCard successfully sent"); json::reply(array("result" => "success")); } else { @@ -75,7 +78,7 @@ class Ecard_Controller extends Controller { } print ecard::prefill_send_form(ecard::get_send_form($item)); } - private static function _notify($to, $from, $subject, $item, $text, $headers, $bcc) { + private static function _notify($to, $from, $subject, $item, $text, $headers, $bcc, $cc) { $sendmail = Sendmail::factory(); $sendmail ->to($to) @@ -84,6 +87,9 @@ class Ecard_Controller extends Controller { if(isset($bcc)) { $sendmail->header("bcc",$bcc); } + if(isset($cc)) { + $sendmail->header("cc",$cc); + } foreach($headers as $key => $value) { $sendmail->header($key,$value); } diff --git a/3.0/modules/ecard/helpers/ecard.php b/3.0/modules/ecard/helpers/ecard.php index 13485954..8b922bf2 100644 --- a/3.0/modules/ecard/helpers/ecard.php +++ b/3.0/modules/ecard/helpers/ecard.php @@ -54,6 +54,10 @@ class ecard_Core { ->id("g-text") ->rules("required") ->error_messages("required", t("You must enter a message")); + $group->checkbox("send_to_self") + ->label(t("Send yourself a copy")) + ->value(true) + ->checked(false); $group->hidden("item_id")->value($item->id); module::event("ecard_send_form", $form); module::event("captcha_protect_form", $form); diff --git a/3.0/modules/ecard/helpers/ecard_installer.php b/3.0/modules/ecard/helpers/ecard_installer.php index a9a6934f..66ef5d31 100644 --- a/3.0/modules/ecard/helpers/ecard_installer.php +++ b/3.0/modules/ecard/helpers/ecard_installer.php @@ -25,6 +25,6 @@ class ecard_installer { "Click the image to be taken to the gallery."); module::set_var("ecard", "bcc", ""); module::set_var("ecard", "access_permissions", "everybody"); - module::set_version("ecard", 5); + module::set_version("ecard", 6); } } diff --git a/3.0/modules/ecard/module.info b/3.0/modules/ecard/module.info index 407ebd68..0a13b636 100644 --- a/3.0/modules/ecard/module.info +++ b/3.0/modules/ecard/module.info @@ -1,4 +1,4 @@ name = "E-Card" description = "Send a photo as a postcard" -version = 5 +version = 6 diff --git a/3.1/modules/ecard/controllers/ecard.php b/3.1/modules/ecard/controllers/ecard.php index 6ca30df7..5adf0b71 100644 --- a/3.1/modules/ecard/controllers/ecard.php +++ b/3.1/modules/ecard/controllers/ecard.php @@ -46,6 +46,9 @@ class Ecard_Controller extends Controller { $to_name = $form->send_ecard->to_name->value; $from_name = $form->send_ecard->from_name->value; $bcc = module::get_var("ecard", "bcc"); + if($form->send_ecard->send_to_self->checked == true) { + $cc = $form->send_ecard->inputs["from_email"]->value; + } $v->message = t(module::get_var("ecard", "message"), array("toname" => $to_name, "fromname" => $from_name)); $v->custom_message = $form->send_ecard->text->value; $v->image = $item->name; @@ -57,7 +60,7 @@ class Ecard_Controller extends Controller { $mime->setHTMLBody($v->render()); $mime->addHTMLImage($item->resize_path(),$item->mime_type,$item->name); $body = $mime->get(array('html_charset' => 'UTF-8', 'text_charset' => 'UTF-8','text_encoding' => '8bit','head_charset' => 'UTF-8')); - self::_notify($headers['to'], $headers['from'], $headers['subject'], $item, $body, $mime->headers(), $bcc); + self::_notify($headers['to'], $headers['from'], $headers['subject'], $item, $body, $mime->headers(), $bcc, $cc); message::success("eCard successfully sent"); json::reply(array("result" => "success")); } else { @@ -75,7 +78,7 @@ class Ecard_Controller extends Controller { } print ecard::prefill_send_form(ecard::get_send_form($item)); } - private static function _notify($to, $from, $subject, $item, $text, $headers, $bcc) { + private static function _notify($to, $from, $subject, $item, $text, $headers, $bcc, $cc) { $sendmail = Sendmail::factory(); $sendmail ->to($to) @@ -84,6 +87,9 @@ class Ecard_Controller extends Controller { if(isset($bcc)) { $sendmail->header("bcc",$bcc); } + if(isset($cc)) { + $sendmail->header("cc",$cc); + } foreach($headers as $key => $value) { $sendmail->header($key,$value); } diff --git a/3.1/modules/ecard/helpers/ecard.php b/3.1/modules/ecard/helpers/ecard.php index 13485954..a365c9ab 100644 --- a/3.1/modules/ecard/helpers/ecard.php +++ b/3.1/modules/ecard/helpers/ecard.php @@ -54,6 +54,10 @@ class ecard_Core { ->id("g-text") ->rules("required") ->error_messages("required", t("You must enter a message")); + $group->checkbox("send_to_self") + ->label(t("Send yourself a copy")) + ->value(true) + ->checked(false); $group->hidden("item_id")->value($item->id); module::event("ecard_send_form", $form); module::event("captcha_protect_form", $form); diff --git a/3.1/modules/ecard/helpers/ecard_installer.php b/3.1/modules/ecard/helpers/ecard_installer.php index a9a6934f..66ef5d31 100644 --- a/3.1/modules/ecard/helpers/ecard_installer.php +++ b/3.1/modules/ecard/helpers/ecard_installer.php @@ -25,6 +25,6 @@ class ecard_installer { "Click the image to be taken to the gallery."); module::set_var("ecard", "bcc", ""); module::set_var("ecard", "access_permissions", "everybody"); - module::set_version("ecard", 5); + module::set_version("ecard", 6); } } diff --git a/3.1/modules/ecard/module.info b/3.1/modules/ecard/module.info index 407ebd68..0a13b636 100644 --- a/3.1/modules/ecard/module.info +++ b/3.1/modules/ecard/module.info @@ -1,4 +1,4 @@ name = "E-Card" description = "Send a photo as a postcard" -version = 5 +version = 6 From 07666c456f17763ade571e3e99c4ca5853a6fffb Mon Sep 17 00:00:00 2001 From: dmolavi Date: Wed, 12 Jan 2011 10:06:47 +0800 Subject: [PATCH 2/2] Added length restriction to ecard message (255 chars). This is done via a Kohana validation check, but I should be able to get a realtime JS update in there soon enough. --- 3.0/modules/ecard/helpers/ecard.php | 7 ++++--- 3.0/modules/ecard/helpers/ecard_installer.php | 2 +- 3.0/modules/ecard/module.info | 2 +- 3.1/modules/ecard/helpers/ecard.php | 7 ++++--- 3.1/modules/ecard/helpers/ecard_installer.php | 2 +- 3.1/modules/ecard/module.info | 2 +- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/3.0/modules/ecard/helpers/ecard.php b/3.0/modules/ecard/helpers/ecard.php index 8b922bf2..5b45d759 100644 --- a/3.0/modules/ecard/helpers/ecard.php +++ b/3.0/modules/ecard/helpers/ecard.php @@ -50,10 +50,11 @@ class ecard_Core { ->error_messages("required", t("You must enter a valid email address")) ->error_messages("invalid", t("You must enter a valid email address")); $group->textarea("text") - ->label(t("Message")) + ->label(t("Message (255 chars max)")) ->id("g-text") - ->rules("required") - ->error_messages("required", t("You must enter a message")); + ->rules("required|length[0,255]") + ->error_messages("required", t("You must enter a message")) + ->error_messages("length", t("Your message is too long, please shorten.")); $group->checkbox("send_to_self") ->label(t("Send yourself a copy")) ->value(true) diff --git a/3.0/modules/ecard/helpers/ecard_installer.php b/3.0/modules/ecard/helpers/ecard_installer.php index 66ef5d31..953ad3e0 100644 --- a/3.0/modules/ecard/helpers/ecard_installer.php +++ b/3.0/modules/ecard/helpers/ecard_installer.php @@ -25,6 +25,6 @@ class ecard_installer { "Click the image to be taken to the gallery."); module::set_var("ecard", "bcc", ""); module::set_var("ecard", "access_permissions", "everybody"); - module::set_version("ecard", 6); + module::set_version("ecard", 7); } } diff --git a/3.0/modules/ecard/module.info b/3.0/modules/ecard/module.info index 0a13b636..979aae83 100644 --- a/3.0/modules/ecard/module.info +++ b/3.0/modules/ecard/module.info @@ -1,4 +1,4 @@ name = "E-Card" description = "Send a photo as a postcard" -version = 6 +version = 7 diff --git a/3.1/modules/ecard/helpers/ecard.php b/3.1/modules/ecard/helpers/ecard.php index a365c9ab..616c71a3 100644 --- a/3.1/modules/ecard/helpers/ecard.php +++ b/3.1/modules/ecard/helpers/ecard.php @@ -50,10 +50,11 @@ class ecard_Core { ->error_messages("required", t("You must enter a valid email address")) ->error_messages("invalid", t("You must enter a valid email address")); $group->textarea("text") - ->label(t("Message")) + ->label(t("Message (255 chars max)")) ->id("g-text") - ->rules("required") - ->error_messages("required", t("You must enter a message")); + ->rules("required|length[0,255]") + ->error_messages("required", t("You must enter a message")) + ->error_messages("length", t("Your message is too long, please shorten.")); $group->checkbox("send_to_self") ->label(t("Send yourself a copy")) ->value(true) diff --git a/3.1/modules/ecard/helpers/ecard_installer.php b/3.1/modules/ecard/helpers/ecard_installer.php index 66ef5d31..953ad3e0 100644 --- a/3.1/modules/ecard/helpers/ecard_installer.php +++ b/3.1/modules/ecard/helpers/ecard_installer.php @@ -25,6 +25,6 @@ class ecard_installer { "Click the image to be taken to the gallery."); module::set_var("ecard", "bcc", ""); module::set_var("ecard", "access_permissions", "everybody"); - module::set_version("ecard", 6); + module::set_version("ecard", 7); } } diff --git a/3.1/modules/ecard/module.info b/3.1/modules/ecard/module.info index 0a13b636..979aae83 100644 --- a/3.1/modules/ecard/module.info +++ b/3.1/modules/ecard/module.info @@ -1,4 +1,4 @@ name = "E-Card" description = "Send a photo as a postcard" -version = 6 +version = 7