Multiple recipients and message length option now available.
This commit is contained in:
parent
76c3bca8a8
commit
5df3554732
@ -34,6 +34,7 @@ class Admin_ecard_Controller extends Admin_Controller {
|
||||
module::set_var("ecard", "bcc", $form->ecard->bcc->value);
|
||||
module::set_var("ecard", "subject", $form->ecard->subject->value);
|
||||
module::set_var("ecard", "message", $form->ecard->message->value);
|
||||
module::set_var("ecard", "max_length", $form->ecard->max_length->value);
|
||||
module::set_var("ecard", "access_permissions", $form->ecard->access_permissions->value);
|
||||
module::set_var("ecard", "location", $form->ecard->location->value);
|
||||
message::success(t("eCard settings updated"));
|
||||
@ -54,8 +55,11 @@ class Admin_ecard_Controller extends Admin_Controller {
|
||||
->value(module::get_var("ecard", "bcc", ""));
|
||||
$ecard_settings->input("subject")->label(t("E-mail subject"))
|
||||
->value(module::get_var("ecard", "subject"));
|
||||
$ecard_settings->textarea("message")->label(t("E-mail message. Valid keywords are \"%toname\" (recipient's name) and \"%fromname\" (sender's name))"))
|
||||
$ecard_settings->textarea("message")->label(t("E-mail message. Valid keywords are \"%fromname\" (sender's name))"))
|
||||
->value(module::get_var("ecard", "message"));
|
||||
$ecard_settings->input("max_length")
|
||||
->label(t("Maximum message length"))
|
||||
->value(module::get_var("ecard","max_length"));
|
||||
$ecard_settings->dropdown("access_permissions")
|
||||
->label(t("Who can send eCards?"))
|
||||
->options(array("everybody" => t("Everybody"),
|
||||
|
@ -40,32 +40,33 @@ class Ecard_Controller extends Controller {
|
||||
}
|
||||
|
||||
if ($valid) {
|
||||
$v = new View("ecard_email.html");
|
||||
$v->item = $item;
|
||||
$v->subject = module::get_var("ecard", "subject");
|
||||
$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;
|
||||
$to = $form->send_ecard->inputs["to_email"]->value;
|
||||
$from = $form->send_ecard->inputs["from_email"]->value;
|
||||
$headers = array("from" => $from_name."<".$from.">", "to" => $to, "subject" => module::get_var("ecard", "subject"));
|
||||
require_once(MODPATH. "ecard/lib/mime.php");
|
||||
$mime = new Mail_mime("\n");
|
||||
$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, $cc);
|
||||
$to_array = explode(",",$form->send_ecard->inputs["to_email"]->value);
|
||||
foreach($to_array as $to) {
|
||||
$v = new View("ecard_email.html");
|
||||
$v->item = $item;
|
||||
$v->subject = module::get_var("ecard", "subject");
|
||||
$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("fromname" => $from_name));
|
||||
$v->custom_message = $form->send_ecard->text->value;
|
||||
$v->image = $item->name;
|
||||
$from = $form->send_ecard->inputs["from_email"]->value;
|
||||
$headers = array("from" => $from_name."<".$from.">", "to" => $to, "subject" => module::get_var("ecard", "subject"));
|
||||
require_once(MODPATH. "ecard/lib/mime.php");
|
||||
$mime = new Mail_mime("\n");
|
||||
$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, $cc);
|
||||
}
|
||||
message::success("eCard successfully sent");
|
||||
json::reply(array("result" => "success"));
|
||||
} else {
|
||||
} else {
|
||||
json::reply(array("result" => "error", "html" => (string) $form));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Present a form for sending a new ecard.
|
||||
@ -76,7 +77,9 @@ class Ecard_Controller extends Controller {
|
||||
if (!ecard::can_send_ecard()) {
|
||||
access::forbidden();
|
||||
}
|
||||
print ecard::prefill_send_form(ecard::get_send_form($item));
|
||||
$v_form = new View("ecard_form.html");
|
||||
$v_form->item_id = $item_id;
|
||||
print $v_form->render();
|
||||
}
|
||||
private static function _notify($to, $from, $subject, $item, $text, $headers, $bcc, $cc) {
|
||||
$sendmail = Sendmail::factory();
|
||||
|
@ -24,8 +24,8 @@
|
||||
* Note: by design, this class does not do any permission checking.
|
||||
*/
|
||||
class ecard_Core {
|
||||
static function get_send_form($item) {
|
||||
$form = new Forge("ecard/send/{$item->id}", "", "post", array("id" => "g-ecard-form"));
|
||||
static function get_send_form($item_id) {
|
||||
$form = new Forge("ecard/send/{$item_id}", "", "post", array("id" => "g-ecard-form"));
|
||||
$group = $form->group("send_ecard")->label(t("Send eCard"));
|
||||
$group->input("from_name")
|
||||
->label(t("Your name"))
|
||||
@ -38,28 +38,22 @@ class ecard_Core {
|
||||
->rules("required|valid_email")
|
||||
->error_messages("required", t("You must enter a valid email address"))
|
||||
->error_messages("invalid", t("You must enter a valid email address"));
|
||||
$group->input("to_name")
|
||||
->label(t("Recipient's Name"))
|
||||
->id("g-recipient")
|
||||
->rules("required")
|
||||
->error_messages("required", t("You must enter a recipient's name"));
|
||||
$group->input("to_email")
|
||||
->label(t("Recipient's e-mail"))
|
||||
->label(t("Recipient's e-mail. Separate multiple recipients with a comma."))
|
||||
->id("g-recip-email")
|
||||
->rules("required|valid_email")
|
||||
->error_messages("required", t("You must enter a valid email address"))
|
||||
->error_messages("invalid", t("You must enter a valid email address"));
|
||||
->rules("required")
|
||||
->error_messages("required", t("You must enter a valid email address"));
|
||||
$group->textarea("text")
|
||||
->label(t("Message (255 chars max)"))
|
||||
->label(t("Message (".module::get_var("ecard","max_length")." chars max)"))
|
||||
->id("g-text")
|
||||
->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."));
|
||||
->maxlength(module::get_var("ecard","max_length"))
|
||||
->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);
|
||||
$group->hidden("item_id")->value($item_id);
|
||||
module::event("ecard_send_form", $form);
|
||||
module::event("captcha_protect_form", $form);
|
||||
$group->submit("")->value(t("Send"))->class("ui-state-default ui-corner-all");
|
||||
|
@ -18,13 +18,32 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class ecard_installer {
|
||||
private static function getversion() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
private static function setversion() {
|
||||
module::set_version("ecard", self::getversion());
|
||||
}
|
||||
|
||||
static function install() {
|
||||
module::set_var("ecard", "subject", "You have been sent an eCard");
|
||||
module::set_var("ecard", "message",
|
||||
"Hello %toname, \r\n%fromname has sent you an eCard. " .
|
||||
"Hello, \r\n%fromname has sent you an eCard. " .
|
||||
"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", 7);
|
||||
module::set_var("ecard","max_length",255);
|
||||
self::setversion();
|
||||
}
|
||||
|
||||
static function upgrade($version) {
|
||||
if($version <= 8) {
|
||||
module::set_var("ecard", "message",
|
||||
"Hello, \r\n%fromname has sent you an eCard. " .
|
||||
"Click the image to be taken to the gallery.");
|
||||
module::set_var("ecard","max_length",255);
|
||||
}
|
||||
self::setversion();
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
name = "E-Card"
|
||||
description = "Send a photo as a postcard"
|
||||
version = 7
|
||||
version = 9
|
||||
|
||||
|
1
3.0/modules/ecard/views/ecard_form.html.php
Normal file
1
3.0/modules/ecard/views/ecard_form.html.php
Normal file
@ -0,0 +1 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
<html>
<head>
<title>Send eCard</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('textarea').keyup(function(){
var message = document.getElementById("g-text");
var max = parseInt($(message).attr('maxlength'));
if($(message).val().length > max){
$(message).val($(message).val().substr(0, $(message).attr('maxlength')));
}
$(document).find('.charsRemaining').html('Message (You have ' + (max - $(message).val().length) + ' characters remaining)');
});
});
</script>
</head>
<body>
<?= ecard::prefill_send_form(ecard::get_send_form($item_id)); ?>
</body>
</html>
|
@ -34,6 +34,7 @@ class Admin_ecard_Controller extends Admin_Controller {
|
||||
module::set_var("ecard", "bcc", $form->ecard->bcc->value);
|
||||
module::set_var("ecard", "subject", $form->ecard->subject->value);
|
||||
module::set_var("ecard", "message", $form->ecard->message->value);
|
||||
module::set_var("ecard", "max_length", $form->ecard->max_length->value);
|
||||
module::set_var("ecard", "access_permissions", $form->ecard->access_permissions->value);
|
||||
module::set_var("ecard", "location", $form->ecard->location->value);
|
||||
message::success(t("eCard settings updated"));
|
||||
@ -54,8 +55,11 @@ class Admin_ecard_Controller extends Admin_Controller {
|
||||
->value(module::get_var("ecard", "bcc", ""));
|
||||
$ecard_settings->input("subject")->label(t("E-mail subject"))
|
||||
->value(module::get_var("ecard", "subject"));
|
||||
$ecard_settings->textarea("message")->label(t("E-mail message. Valid keywords are \"%toname\" (recipient's name) and \"%fromname\" (sender's name))"))
|
||||
$ecard_settings->textarea("message")->label(t("E-mail message. Valid keywords are \"%fromname\" (sender's name))"))
|
||||
->value(module::get_var("ecard", "message"));
|
||||
$ecard_settings->input("max_length")
|
||||
->label(t("Maximum message length"))
|
||||
->value(module::get_var("ecard","max_length"));
|
||||
$ecard_settings->dropdown("access_permissions")
|
||||
->label(t("Who can send eCards?"))
|
||||
->options(array("everybody" => t("Everybody"),
|
||||
|
@ -40,32 +40,33 @@ class Ecard_Controller extends Controller {
|
||||
}
|
||||
|
||||
if ($valid) {
|
||||
$v = new View("ecard_email.html");
|
||||
$v->item = $item;
|
||||
$v->subject = module::get_var("ecard", "subject");
|
||||
$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;
|
||||
$to = $form->send_ecard->inputs["to_email"]->value;
|
||||
$from = $form->send_ecard->inputs["from_email"]->value;
|
||||
$headers = array("from" => $from_name."<".$from.">", "to" => $to, "subject" => module::get_var("ecard", "subject"));
|
||||
require_once(MODPATH. "ecard/lib/mime.php");
|
||||
$mime = new Mail_mime("\n");
|
||||
$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, $cc);
|
||||
$to_array = explode(",",$form->send_ecard->inputs["to_email"]->value);
|
||||
foreach($to_array as $to) {
|
||||
$v = new View("ecard_email.html");
|
||||
$v->item = $item;
|
||||
$v->subject = module::get_var("ecard", "subject");
|
||||
$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("fromname" => $from_name));
|
||||
$v->custom_message = $form->send_ecard->text->value;
|
||||
$v->image = $item->name;
|
||||
$from = $form->send_ecard->inputs["from_email"]->value;
|
||||
$headers = array("from" => $from_name."<".$from.">", "to" => $to, "subject" => module::get_var("ecard", "subject"));
|
||||
require_once(MODPATH. "ecard/lib/mime.php");
|
||||
$mime = new Mail_mime("\n");
|
||||
$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, $cc);
|
||||
}
|
||||
message::success("eCard successfully sent");
|
||||
json::reply(array("result" => "success"));
|
||||
} else {
|
||||
} else {
|
||||
json::reply(array("result" => "error", "html" => (string) $form));
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Present a form for sending a new ecard.
|
||||
@ -76,7 +77,9 @@ class Ecard_Controller extends Controller {
|
||||
if (!ecard::can_send_ecard()) {
|
||||
access::forbidden();
|
||||
}
|
||||
print ecard::prefill_send_form(ecard::get_send_form($item));
|
||||
$v_form = new View("ecard_form.html");
|
||||
$v_form->item_id = $item_id;
|
||||
print $v_form->render();
|
||||
}
|
||||
private static function _notify($to, $from, $subject, $item, $text, $headers, $bcc, $cc) {
|
||||
$sendmail = Sendmail::factory();
|
||||
@ -89,7 +92,7 @@ class Ecard_Controller extends Controller {
|
||||
}
|
||||
if(isset($cc)) {
|
||||
$sendmail->header("cc",$cc);
|
||||
}
|
||||
}
|
||||
foreach($headers as $key => $value) {
|
||||
$sendmail->header($key,$value);
|
||||
}
|
||||
|
@ -24,8 +24,8 @@
|
||||
* Note: by design, this class does not do any permission checking.
|
||||
*/
|
||||
class ecard_Core {
|
||||
static function get_send_form($item) {
|
||||
$form = new Forge("ecard/send/{$item->id}", "", "post", array("id" => "g-ecard-form"));
|
||||
static function get_send_form($item_id) {
|
||||
$form = new Forge("ecard/send/{$item_id}", "", "post", array("id" => "g-ecard-form"));
|
||||
$group = $form->group("send_ecard")->label(t("Send eCard"));
|
||||
$group->input("from_name")
|
||||
->label(t("Your name"))
|
||||
@ -38,28 +38,22 @@ class ecard_Core {
|
||||
->rules("required|valid_email")
|
||||
->error_messages("required", t("You must enter a valid email address"))
|
||||
->error_messages("invalid", t("You must enter a valid email address"));
|
||||
$group->input("to_name")
|
||||
->label(t("Recipient's Name"))
|
||||
->id("g-recipient")
|
||||
->rules("required")
|
||||
->error_messages("required", t("You must enter a recipient's name"));
|
||||
$group->input("to_email")
|
||||
->label(t("Recipient's e-mail"))
|
||||
->label(t("Recipient's e-mail. Separate multiple recipients with a comma."))
|
||||
->id("g-recip-email")
|
||||
->rules("required|valid_email")
|
||||
->error_messages("required", t("You must enter a valid email address"))
|
||||
->error_messages("invalid", t("You must enter a valid email address"));
|
||||
->rules("required")
|
||||
->error_messages("required", t("You must enter a valid email address"));
|
||||
$group->textarea("text")
|
||||
->label(t("Message (255 chars max)"))
|
||||
->label(t("Message (".module::get_var("ecard","max_length")." chars max)"))
|
||||
->id("g-text")
|
||||
->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."));
|
||||
->maxlength(module::get_var("ecard","max_length"))
|
||||
->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);
|
||||
->checked(false);
|
||||
$group->hidden("item_id")->value($item_id);
|
||||
module::event("ecard_send_form", $form);
|
||||
module::event("captcha_protect_form", $form);
|
||||
$group->submit("")->value(t("Send"))->class("ui-state-default ui-corner-all");
|
||||
|
@ -18,13 +18,32 @@
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class ecard_installer {
|
||||
private static function getversion() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
private static function setversion() {
|
||||
module::set_version("ecard", self::getversion());
|
||||
}
|
||||
|
||||
static function install() {
|
||||
module::set_var("ecard", "subject", "You have been sent an eCard");
|
||||
module::set_var("ecard", "message",
|
||||
"Hello %toname, \r\n%fromname has sent you an eCard. " .
|
||||
"Hello, \r\n%fromname has sent you an eCard. " .
|
||||
"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", 7);
|
||||
module::set_var("ecard","max_length",255);
|
||||
self::setversion();
|
||||
}
|
||||
|
||||
static function upgrade($version) {
|
||||
if($version <= 8) {
|
||||
module::set_var("ecard", "message",
|
||||
"Hello, \r\n%fromname has sent you an eCard. " .
|
||||
"Click the image to be taken to the gallery.");
|
||||
module::set_var("ecard","max_length",255);
|
||||
}
|
||||
self::setversion();
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
name = "E-Card"
|
||||
description = "Send a photo as a postcard"
|
||||
version = 7
|
||||
version = 9
|
||||
|
||||
|
1
3.1/modules/ecard/views/ecard_form.html.php
Normal file
1
3.1/modules/ecard/views/ecard_form.html.php
Normal file
@ -0,0 +1 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
<html>
<head>
<title>Send eCard</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('textarea').keyup(function(){
var message = document.getElementById("g-text");
var max = parseInt($(message).attr('maxlength'));
if($(message).val().length > max){
$(message).val($(message).val().substr(0, $(message).attr('maxlength')));
}
$(document).find('.charsRemaining').html('Message (You have ' + (max - $(message).val().length) + ' characters remaining)');
});
});
</script>
</head>
<body>
<?= ecard::prefill_send_form(ecard::get_send_form($item_id)); ?>
</body>
</html>
|
Reference in New Issue
Block a user