Tested with 4images1.7
this mod allows users to send the
complete ecard thanks to an email in HTML language .
the sender can choose between those notifications :
1) text notification (classic way => default choice)
2) whole ecard by html mail
3) both methods (1 & 2 => 2 mails sent)
never forget to
backup the files which you will modify.
>> 04 files to edit from 4images root:
[change]
/postcards.php[change]
/templates/<yourtemplate>/postcard_create.html [change]
/templates/<yourtemplate>/postcard_preview.html [change]
/lang/<yourlanguage>/main.php >> 01 new file to create from 4images root:
[new]
/include/html_mime_mail.php------ Installation ------ STEP 1:Open
postcards.php 1.1:Find:
$recipient_email = un_htmlspecialchars(trim($HTTP_POST_VARS['recipient_email']));
Add after:
$email_format = $HTTP_POST_VARS['email_format'];
1.2:Find:
include(ROOT_PATH.'includes/email.php');
$site_email = new Email();
$site_email->set_to(stripslashes($recipient_email));
$site_email->set_from(stripslashes($sender_email), stripslashes($sender_name));
$site_email->set_subject($lang['send_postcard_emailsubject']);
$site_email->register_vars(array(
"sender_name" => stripslashes($sender_name),
"sender_email" => stripslashes($sender_email),
"recipient_name" => stripslashes($recipient_name),
"postcard_url" => stripslashes($postcard_url),
"postcard_send_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
"site_name" => $config['site_name']
));
$site_email->set_body("postcard_message", $config['language_dir']);
$site_email->send_email();
Replace with:
if ($email_format == 'html' || $email_format == 'txthtml') {
// email html
include(ROOT_PATH.'includes/html_mime_mail.php');
$html_to_send .= "<center>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">
<tr>
<td>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">
<tr>
<td bgcolor=\"".$border_color."\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\" bgcolor=\"".$bg_color."\">
<tr>
<td valign=\"top\"><div><img src=\"".MEDIA_PATH."/".$cat_id."/".$image_row['image_media_file']."\" border=\"0\" /></div></td>
<td valign=\"top\" width=\"200\" height=\"250\">
<div align=\"right\"><img src=\"".TEMPLATE_PATH."/images/stamp.gif\" border=\"0\" /></div>
<br /><br />
<b><font face=\"".$font_face."\" color=\"".$font_color."\" size=\"4\">".$headline."</font></b>
<br /><br />
<font face=\"".$font_face."\" color=\"".$font_color."\" size=\"2\">".$message."</font>
<br /><br />
<font face=\"".$font_face."\" color=\"".$font_color."\" size=\"2\">".$sender_name."</font><br />
<a href=\"mailto:".$sender_email."\"><font face=\"".$font_face."\" color=\"".$font_color."\" size=\"2\">".$sender_email."</font></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br />
</td>
</tr>
</table>
<b><font face=\"".$font_face."\" color=\"".$font_color."\" size=\"2\">See your eCard <a href=\"".$postcard_url."\">here</a>.</font><br />
".$config['site_name']."</center>";
$mel = new html_mime_mail(102400, "iso-8859-1");
$fp = fopen(MEDIA_PATH."/".$cat_id."/".$image_row['image_media_file'], "r");
$bin_img = fread($fp, filesize(MEDIA_PATH."/".$cat_id."/".$image_row['image_media_file']));
fclose($fp);
$mel->add_img($bin_img, MEDIA_PATH."/".$cat_id."/".$image_row['image_media_file'], "image/jpeg");
$fp = fopen(TEMPLATE_PATH."/images/stamp.gif", "r");
$bin_img = fread($fp, filesize(TEMPLATE_PATH."/images/stamp.gif"));
fclose($fp);
$mel->add_img($bin_img, TEMPLATE_PATH."/images/stamp.gif", "image/gif");
$mel->add_body($html_to_send);
$mel->build_mail("base64", 5);
$mel->send($sender_name, $sender_email, $recipient_name, $recipient_email, "eCard for you !");
//echo $mel->get_rfc822($sender_name, $sender_email, $recipient_name, $recipient_email, "test ecard");
} // end if
if ($email_format == 'txt' || $email_format == 'txthtml') {
include(ROOT_PATH.'includes/email.php');
$site_email = new Email();
$site_email->set_to(stripslashes($recipient_email));
$site_email->set_from(stripslashes($sender_email), stripslashes($sender_name));
$site_email->set_subject($lang['send_postcard_emailsubject']);
$site_email->register_vars(array(
"sender_name" => stripslashes($sender_name),
"sender_email" => stripslashes($sender_email),
"recipient_name" => stripslashes($recipient_name),
"postcard_url" => stripslashes($postcard_url),
"postcard_send_date" => format_date($config['date_format']." ".$config['time_format'], $current_time),
"site_name" => $config['site_name']
));
$site_email->set_body("postcard_message", $config['language_dir']);
$site_email->send_email();
} // end if
now, you can modify the code in
$html_to_send .= to customize the final email.
1.3:Find:
$main_template = "postcard_preview";
$image = get_media_code($image_row['image_media_file'], $image_id, $cat_id, $image_row['image_name'], $mode, 1);
$thumbnail = get_thumbnail_code($image_row['image_media_file'], $image_row['image_thumb_file'], $image_id, $cat_id, $image_row['image_name'], $mode);
$site_template->register_vars(array(
Add right after:
"lang_postcard_email_format" => $lang['postcard_email_format'],
"postcard_email_format" => ($HTTP_POST_VARS['email_format'] == 'txt') ? 'text' : (($HTTP_POST_VARS['email_format'] == 'html') ? 'HTML' : 'text & HTML'),
"email_format" => $HTTP_POST_VARS['email_format'],
1.4:Find:
if ($action == "createcard") {
if (!$sendprocess) {
$bg_color = "";
$border_color = "";
$font_color = "";
$font_face = "";
$sender_name = ($user_info['user_level'] != GUEST) ? $user_info['user_name'] : "";
$sender_email = ($user_info['user_level'] != GUEST) ? $user_info['user_email'] : "";
$recipient_name = "";
$recipient_email = "";
$headline = "";
$message = "";
}
$image = get_media_code($image_row['image_media_file'], $image_id, $cat_id, $image_row['image_name'], $mode, 1);
$thumbnail = get_thumbnail_code($image_row['image_media_file'], $image_row['image_thumb_file'], $image_id, $cat_id, $image_row['image_name'], $mode);
$site_template->register_vars(array(
Add right after:
"lang_postcard_email_format" => $lang['postcard_email_format']."?",
Step 2:Open
/lang/<yourlanguage>/main.phpAdd at the end of the file, just before ?> :
$lang['postcard_email_format'] = "Type of notification";
Step 3: Open
/templates/<yourtemplate>/postcard_create.html Add this:
<tr>
<td class="row2" valign="top"><b>{lang_postcard_email_format}</b></td>
<td class="row2" valign="top">
<table border=0 cellspacing=3 cellpadding=1>
<tr>
<td>
<input name="email_format" type="radio" value="txt" checked />
</td>
<td><font face="arial">Text</font></td>
<td>
<input name="email_format" type="radio" value="html" />
</td>
<td><font face="verdana">HTML</font></td>
<td>
<input name="email_format" type="radio" value="txthtml" />
</td>
<td><font face="arial">text & HTML</font></td>
</tr>
</table>
</td>
</tr>
Step 4:Open
/templates/<yourtemplate>/postcard_preview.htmlAdd this:
<B>{lang_postcard_email_format}:</B> {postcard_email_format}
and this:
<INPUT type="hidden" name="email_format" value="{email_format}" />
Step 5:Download attched file, unzip it and copy it in
4images/includes/ directory.
------ END of Installation ------ it should work !!!