Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

adding version 2.52 from http://svn.wp-plugins.org/wp-email/tags/2.52/

  • Loading branch information...
commit 7eea428be8d06199512b01245df472d1f2dce7c1 0 parents
Sean Klein authored
16 email-admin-css.css
@@ -0,0 +1,16 @@
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail Admin CSS Style
+ * - wp-content/plugins/wp-email/email-admin-css.css
+ */
+
+#icon-wp-email {
+ background: transparent url(images/email_admin_icon.png) no-repeat;
+}
16 email-css-rtl.css
@@ -0,0 +1,16 @@
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail CSS Style (RTL)
+ * - wp-content/plugins/wp-email/email-css-rtl.css
+ */
+
+.wp-email P {
+ text-align: right;
+}
40 email-css.css
@@ -0,0 +1,40 @@
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail CSS Style
+ * - wp-content/plugins/wp-email/email-css.css
+ */
+
+.wp-email P {
+ text-align: left;
+}
+.wp-email label {
+ font-weight: bold;
+}
+.wp-email-loading {
+ display: none;
+ text-align: center;
+ height: 16px;
+}
+.wp-email-image {
+ border: 0px;
+}
+.TextField {
+}
+.Button {
+}
+#wp-email-required {
+ font-weight: bold;
+}
+#wp-email-button {
+ text-align: center;
+}
+#wp-email-popup {
+ padding: 1em 1em 0;
+}
60 email-image-verify.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail Image Verification
+ * - wp-content/plugins/wp-email/email-image-verify.php
+ */
+
+
+### Start Session
+@session_start();
+
+### Captial Letters And Numbers
+$alphanum = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
+
+### Generate The Verfication Code
+$rand = substr(str_shuffle($alphanum), 0, 5);
+
+### MD5 The Code And Assign It To Session
+$_SESSION['email_verify'] = md5($rand);
+
+### Create The Image (60x22)
+$image = imagecreate(55, 15);
+
+### Use White As The Background Color
+$bgColor = imagecolorallocate($image, 255, 255, 255);
+
+### Use Black As The Text Color
+$textColor = imagecolorallocate($image, 0, 0, 0);
+
+### Output The Code To The Image
+imagestring($image, 5, 5, 1, $rand, $textColor);
+
+### Date In The Past
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+
+### Always Modified
+header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+
+### HTTP 1.1
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+
+### HTTP 1.0
+header("Pragma: no-cache");
+
+### Set The Header To Be JPG
+header('Content-type: image/jpeg');
+
+### Send The Image To The Browser
+imagejpeg($image);
+
+### Destroy The Image
+imagedestroy($image);
213 email-js.dev.js
@@ -0,0 +1,213 @@
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail Javascript File
+ * - wp-content/plugins/wp-email/email-js.js
+ */
+
+
+// Variables
+var email_p = 0;
+var email_pageid = 0;
+var email_yourname = '';
+var email_youremail = '';
+var email_yourremarks = '';
+var email_friendname = '';
+var email_friendemail = '';
+var email_friendnames = '';
+var email_friendemails = '';
+var email_imageverify = '';
+emailL10n.max_allowed = parseInt(emailL10n.max_allowed);
+
+// Email Form Validation
+function validate_email_form() {
+ // Variables
+ var errFlag = false;
+ var errMsg = emailL10n.text_error + "\n";
+ errMsg = errMsg + "__________________________________\n\n";
+
+ // Your Name Validation
+ if(jQuery('#yourname').length) {
+ if(isEmpty(email_yourname) || !is_valid_name(email_yourname)) {
+ errMsg = errMsg + emailL10n.text_name_invalid + "\n";
+ errFlag = true;
+ }
+ }
+ // Your Email Validation
+ if(jQuery('#youremail').length) {
+ if(isEmpty(email_youremail) || !is_valid_email(email_youremail)) {
+ errMsg = errMsg + emailL10n.text_email_invalid + "\n";
+ errFlag = true;
+ }
+ }
+ // Your Remarks Validation
+ if(jQuery('#yourremarks').length) {
+ if(!isEmpty(email_yourremarks)) {
+ if(!is_valid_remarks(email_yourremarks)) {
+ errMsg = errMsg + emailL10n.text_remarks_invalid + "\n";
+ errFlag = true;
+ }
+ }
+ }
+ // Friend Name(s) Validation
+ if(jQuery('#friendname').length) {
+ if(isEmpty(email_friendname)) {
+ errMsg = errMsg + emailL10n.text_friend_names_empty + "\n";
+ errFlag = true;
+ } else {
+ for(i = 0; i < email_friendnames.length; i++) {
+ if(isEmpty(email_friendnames[i]) || !is_valid_name(email_friendnames[i])) {
+ errMsg = errMsg + emailL10n.text_friend_name_invalid + email_friendnames[i] + "\n";
+ errFlag = true;
+ }
+ }
+ }
+ if(email_friendnames.length > emailL10n.max_allowed) {
+ errMsg = errMsg + emailL10n.text_max_friend_names_allowed + "\n";
+ errFlag = true;
+ }
+ }
+ // Friend Email(s) Validation
+ if(isEmpty(email_friendemail)) {
+ errMsg = errMsg + emailL10n.text_friend_emails_empty + "\n";
+ errFlag = true;
+ } else {
+ for(i = 0; i < email_friendemails.length; i++) {
+ if(isEmpty(email_friendemails[i]) || !is_valid_email(email_friendemails[i])) {
+ errMsg = errMsg + emailL10n.text_friend_email_invalid + email_friendemails[i] + "\n";
+ errFlag = true;
+ }
+ }
+ }
+ if(email_friendemails.length > emailL10n.max_allowed) {
+ errMsg = errMsg + emailL10n.text_max_friend_emails_allowed + "\n";
+ errFlag = true;
+ }
+ // Friend Name(s) And Email(s) Validation
+ if(jQuery('#friendname').length) {
+ if(email_friendnames.length != email_friendemails.length) {
+ errMsg = errMsg + emailL10n.text_friends_tally + "\n";
+ errFlag = true;
+ }
+ }
+ if(jQuery('#imageverify').length) {
+ if(isEmpty(email_imageverify)) {
+ errMsg = errMsg + emailL10n.text_image_verify_empty + "\n";
+ errFlag = true;
+ }
+ }
+ // If There Is Error Alert It
+ if (errFlag == true){
+ alert(errMsg);
+ return false;
+ } else {
+ return true;
+ }
+}
+
+// Check Form Field Is Empty
+function isEmpty(value){
+ if (jQuery.trim(value) == "") {
+ return true;
+ }
+ return false;
+}
+
+// Check Name
+function is_valid_name(name) {
+ filter = /[(\*\(\)\[\]\+\,\/\?\:\;\'\"\`\~\\#\$\%\^\&\<\>)+]/;
+ return !filter.test(jQuery.trim(name));
+}
+
+// Check Email
+function is_valid_email(email) {
+ filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+ return filter.test(jQuery.trim(email));
+}
+
+// Check Remarks
+function is_valid_remarks(remarks) {
+ remarks = jQuery.trim(remarks);
+ injection_strings = new Array('apparently-to', 'cc', 'bcc', 'boundary', 'charset', 'content-disposition', 'content-type', 'content-transfer-encoding', 'errors-to', 'in-reply-to', 'message-id', 'mime-version', 'multipart/mixed', 'multipart/alternative', 'multipart/related', 'reply-to', 'x-mailer', 'x-sender', 'x-uidl');
+ for(i = 0; i < injection_strings.length; i++) {
+ if(remarks.indexOf(injection_strings[i]) != -1) {
+ return false;
+ }
+ }
+ return true;
+}
+
+// WP-Email Popup
+function email_popup(email_url) {
+ window.open(email_url, "_blank", "width=500,height=500,toolbar=0,menubar=0,location=0,resizable=0,scrollbars=1,status=0");
+}
+
+// Email Form AJAX
+function email_form() {
+ if(jQuery('#yourname').length) {
+ email_yourname = jQuery('#yourname').val();
+ }
+ if(jQuery('#youremail').length) {
+ email_youremail = jQuery('#youremail').val();
+ }
+ if(jQuery('#yourremarks').length) {
+ email_yourremarks = jQuery('#yourremarks').val();
+ }
+ if(jQuery('#friendname').length) {
+ email_friendname = jQuery('#friendname').val();
+ email_friendnames = email_friendname.split(",");
+ }
+ email_friendemail = jQuery('#friendemail').val();
+ email_friendemails = email_friendemail.split(",");
+ if(jQuery('#imageverify').length) {
+ email_imageverify = jQuery('#imageverify').val();
+ }
+ if(jQuery('#p').length) {
+ email_p = jQuery('#p').val();
+ }
+ if(jQuery('#page_id').length) {
+ email_pageid = jQuery('#page_id').val();
+ }
+ if(validate_email_form()) {
+ email_ajax_data = 'wp-email=1';
+ jQuery('#wp-email-submit').attr('disabled', true);
+ jQuery('#wp-email-loading').show();
+ if(jQuery('#yourname').length) {
+ email_ajax_data += '&yourname=' + email_yourname;
+ jQuery('#yourname').attr('disabled', true);
+ }
+ if(jQuery('#youremail').length) {
+ email_ajax_data += '&youremail=' + email_youremail;
+ jQuery('#youremail').attr('disabled', true);
+ }
+ if(jQuery('#yourremarks').length) {
+ email_ajax_data += '&yourremarks=' + email_yourremarks;
+ jQuery('#yourremarks').attr('disabled', true);
+ }
+ if(jQuery('#friendname').length) {
+ email_ajax_data += '&friendname=' + email_friendname;
+ jQuery('#friendname').attr('disabled', true);
+ }
+ if(jQuery('#friendemail').length) {
+ email_ajax_data += '&friendemail=' + email_friendemail;
+ jQuery('#friendemail').attr('disabled', true);
+ }
+ if(jQuery('#imageverify').length) {
+ email_ajax_data += '&imageverify=' + email_imageverify;
+ jQuery('#imageverify').attr('disabled', true);
+ }
+ if(jQuery('#p').length) {
+ email_ajax_data += '&p=' + email_p;
+ }
+ if(jQuery('#page_id').length) {
+ email_ajax_data += '&page_id=' + email_pageid;
+ }
+ jQuery.ajax({type: 'POST', url: emailL10n.ajax_url, data: email_ajax_data, cache: false, success: function (data) { jQuery('#wp-email-content').html(data);}});
+ }
+}
1  email-js.js
@@ -0,0 +1 @@
+var email_p=0;var email_pageid=0;var email_yourname="";var email_youremail="";var email_yourremarks="";var email_friendname="";var email_friendemail="";var email_friendnames="";var email_friendemails="";var email_imageverify="";emailL10n.max_allowed=parseInt(emailL10n.max_allowed);function validate_email_form(){var b=false;var a=emailL10n.text_error+"\n";a=a+"__________________________________\n\n";if(jQuery("#yourname").length){if(isEmpty(email_yourname)||!is_valid_name(email_yourname)){a=a+emailL10n.text_name_invalid+"\n";b=true}}if(jQuery("#youremail").length){if(isEmpty(email_youremail)||!is_valid_email(email_youremail)){a=a+emailL10n.text_email_invalid+"\n";b=true}}if(jQuery("#yourremarks").length){if(!isEmpty(email_yourremarks)){if(!is_valid_remarks(email_yourremarks)){a=a+emailL10n.text_remarks_invalid+"\n";b=true}}}if(jQuery("#friendname").length){if(isEmpty(email_friendname)){a=a+emailL10n.text_friend_names_empty+"\n";b=true}else{for(i=0;i<email_friendnames.length;i++){if(isEmpty(email_friendnames[i])||!is_valid_name(email_friendnames[i])){a=a+emailL10n.text_friend_name_invalid+email_friendnames[i]+"\n";b=true}}}if(email_friendnames.length>emailL10n.max_allowed){a=a+emailL10n.text_max_friend_names_allowed+"\n";b=true}}if(isEmpty(email_friendemail)){a=a+emailL10n.text_friend_emails_empty+"\n";b=true}else{for(i=0;i<email_friendemails.length;i++){if(isEmpty(email_friendemails[i])||!is_valid_email(email_friendemails[i])){a=a+emailL10n.text_friend_email_invalid+email_friendemails[i]+"\n";b=true}}}if(email_friendemails.length>emailL10n.max_allowed){a=a+emailL10n.text_max_friend_emails_allowed+"\n";b=true}if(jQuery("#friendname").length){if(email_friendnames.length!=email_friendemails.length){a=a+emailL10n.text_friends_tally+"\n";b=true}}if(jQuery("#imageverify").length){if(isEmpty(email_imageverify)){a=a+emailL10n.text_image_verify_empty+"\n";b=true}}if(b==true){alert(a);return false}else{return true}}function isEmpty(a){if(jQuery.trim(a)==""){return true}return false}function is_valid_name(a){filter=/[(\*\(\)\[\]\+\,\/\?\:\;\'\"\`\~\\#\$\%\^\&\<\>)+]/;return !filter.test(jQuery.trim(a))}function is_valid_email(a){filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;return filter.test(jQuery.trim(a))}function is_valid_remarks(a){a=jQuery.trim(a);injection_strings=new Array("apparently-to","cc","bcc","boundary","charset","content-disposition","content-type","content-transfer-encoding","errors-to","in-reply-to","message-id","mime-version","multipart/mixed","multipart/alternative","multipart/related","reply-to","x-mailer","x-sender","x-uidl");for(i=0;i<injection_strings.length;i++){if(a.indexOf(injection_strings[i])!=-1){return false}}return true}function email_popup(a){window.open(a,"_blank","width=500,height=500,toolbar=0,menubar=0,location=0,resizable=0,scrollbars=1,status=0")}function email_form(){if(jQuery("#yourname").length){email_yourname=jQuery("#yourname").val()}if(jQuery("#youremail").length){email_youremail=jQuery("#youremail").val()}if(jQuery("#yourremarks").length){email_yourremarks=jQuery("#yourremarks").val()}if(jQuery("#friendname").length){email_friendname=jQuery("#friendname").val();email_friendnames=email_friendname.split(",")}email_friendemail=jQuery("#friendemail").val();email_friendemails=email_friendemail.split(",");if(jQuery("#imageverify").length){email_imageverify=jQuery("#imageverify").val()}if(jQuery("#p").length){email_p=jQuery("#p").val()}if(jQuery("#page_id").length){email_pageid=jQuery("#page_id").val()}if(validate_email_form()){email_ajax_data="wp-email=1";jQuery("#wp-email-submit").attr("disabled",true);jQuery("#wp-email-loading").show();if(jQuery("#yourname").length){email_ajax_data+="&yourname="+email_yourname;jQuery("#yourname").attr("disabled",true)}if(jQuery("#youremail").length){email_ajax_data+="&youremail="+email_youremail;jQuery("#youremail").attr("disabled",true)}if(jQuery("#yourremarks").length){email_ajax_data+="&yourremarks="+email_yourremarks;jQuery("#yourremarks").attr("disabled",true)}if(jQuery("#friendname").length){email_ajax_data+="&friendname="+email_friendname;jQuery("#friendname").attr("disabled",true)}if(jQuery("#friendemail").length){email_ajax_data+="&friendemail="+email_friendemail;jQuery("#friendemail").attr("disabled",true)}if(jQuery("#imageverify").length){email_ajax_data+="&imageverify="+email_imageverify;jQuery("#imageverify").attr("disabled",true)}if(jQuery("#p").length){email_ajax_data+="&p="+email_p}if(jQuery("#page_id").length){email_ajax_data+="&page_id="+email_pageid}jQuery.ajax({type:"POST",url:emailL10n.ajax_url,data:email_ajax_data,cache:false,success:function(a){jQuery("#wp-email-content").html(a)}})}};
366 email-manager.php
@@ -0,0 +1,366 @@
+<?php
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - Manages Your E-Mail Logs
+ * - wp-content/plugins/wp-email/email-manager.php
+ */
+
+
+### Check Whether User Can Manage EMail
+if(!current_user_can('manage_email')) {
+ die('Access Denied');
+}
+
+
+### E-Mail Variables
+$base_name = plugin_basename('wp-email/email-manager.php');
+$base_page = 'admin.php?page='.$base_name;
+$email_page = empty($_GET['emailpage'])? 1 : max(intval($_GET['emailpage']), 1);
+$email_sortby = empty($_GET['by'])? '' : trim($_GET['by']);
+$email_sortby_text = '';
+$email_sortorder = empty($_GET['order'])? 'DESC':trim($_GET['order']);
+$email_sortorder_text = '';
+$email_log_perpage = (empty($_GET['perpage']) || intval($_GET['perpage']) < 1)? 20 : intval($_GET['perpage']);
+$email_sort_url = '';
+
+
+### Form Sorting URL
+if(!empty($email_sortby)) {
+ $email_sort_url .= '&amp;by='.$email_sortby;
+}
+if(!empty($email_sortorder)) {
+ $email_sort_url .= '&amp;order='.$email_sortorder;
+}
+if(!empty($email_log_perpage)) {
+ $email_sort_url .= '&amp;perpage='.$email_log_perpage;
+}
+
+
+### Get Order By
+switch($email_sortby) {
+ case 'id':
+ $email_sortby = 'email_id';
+ $email_sortby_text = __('ID', 'wp-email');
+ break;
+ case 'fromname':
+ $email_sortby = 'email_yourname';
+ $email_sortby_text = __('From Name', 'wp-email');
+ break;
+ case 'fromemail':
+ $email_sortby = 'email_youremail';
+ $email_sortby_text = __('From E-Mail', 'wp-email');
+ break;
+ case 'toname':
+ $email_sortby = 'email_friendname';
+ $email_sortby_text = __('To Name', 'wp-email');
+ break;
+ case 'toemail':
+ $email_sortby = 'email_friendemail';
+ $email_sortby_text = __('To E-Mail', 'wp-email');
+ break;
+ case 'postid':
+ $email_sortby = 'email_postid';
+ $email_sortby_text = __('Post ID', 'wp-email');
+ break;
+ case 'posttitle':
+ $email_sortby = 'email_posttitle';
+ $email_sortby_text = __('Post Title', 'wp-email');
+ break;
+ case 'ip':
+ $email_sortby = 'email_ip';
+ $email_sortby_text = __('IP', 'wp-email');
+ break;
+ case 'host':
+ $email_sortby = 'email_host';
+ $email_sortby_text = __('Host', 'wp-email');
+ break;
+ case 'status':
+ $email_sortby = 'email_status';
+ $email_sortby_text = __('Status', 'wp-email');
+ break;
+ case 'date':
+ default:
+ $email_sortby = 'email_timestamp';
+ $email_sortby_text = __('Date', 'wp-email');
+}
+
+
+### Get Sort Order
+switch($email_sortorder) {
+ case 'asc':
+ $email_sortorder = 'ASC';
+ $email_sortorder_text = __('Ascending', 'wp-email');
+ break;
+ case 'desc':
+ default:
+ $email_sortorder = 'DESC';
+ $email_sortorder_text = __('Descending', 'wp-email');
+}
+
+
+### Form Processing
+if(!empty($_POST['delete_logs'])) {
+ if(trim($_POST['delete_logs_yes']) == 'yes') {
+ $delete_logs = $wpdb->query("DELETE FROM $wpdb->email");
+ if($delete_logs) {
+ $text = '<font color="green">'.__('All E-Mail Logs Have Been Deleted.', 'wp-email').'</font>';
+ } else {
+ $text = '<font color="red">'.__('An Error Has Occured While Deleting All E-Mail Logs.', 'wp-email').'</font>';
+ }
+ }
+}
+
+
+### Get E-Mail Logs Data
+$total_email_success = $wpdb->get_var("SELECT COUNT(email_id) FROM $wpdb->email WHERE email_status = '".__('Success', 'wp-email')."'");
+$total_email_failed = $wpdb->get_var("SELECT COUNT(email_id) FROM $wpdb->email WHERE email_status = '".__('Failed', 'wp-email')."'");
+$total_email = $total_email_success+$total_email_failed;
+
+
+### Checking $email_page and $offset
+//if(empty($email_page) || $email_page == 0) { $email_page = 1; }
+//if(empty($offset)) { $offset = 0; }
+//if(empty($email_log_perpage) || $email_log_perpage == 0) { $email_log_perpage = 20; }
+
+
+### Determin $offset
+$offset = ($email_page-1) * $email_log_perpage;
+
+
+### Determine Max Number Of Polls To Display On Page
+if(($offset + $email_log_perpage) > $total_email) {
+ $max_on_page = $total_email;
+} else {
+ $max_on_page = ($offset + $email_log_perpage);
+}
+
+
+### Determine Number Of Polls To Display On Page
+if (($offset + 1) > ($total_email)) {
+ $display_on_page = $total_email;
+} else {
+ $display_on_page = ($offset + 1);
+}
+
+### Determing Total Amount Of Pages
+$total_pages = ceil($total_email / $email_log_perpage);
+
+
+### Get The Logs
+$email_logs = $wpdb->get_results("SELECT * FROM $wpdb->email ORDER BY $email_sortby $email_sortorder LIMIT $offset, $email_log_perpage");
+?>
+<?php if(!empty($text)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$text.'</p></div>'; } ?>
+<!-- Manage E-Mail -->
+<div class="wrap">
+ <div id="icon-wp-email" class="icon32"><br /></div>
+ <h2><?php _e('Manage E-Mail', 'wp-email'); ?></h2>
+ <h3><?php _e('E-Mail Logs', 'wp-email'); ?></h3>
+ <p><?php printf(__('Displaying <strong>%s</strong> To <strong>%s</strong> Of <strong>%s</strong> E-Mail Logs', 'wp-email'), number_format_i18n($display_on_page), number_format_i18n($max_on_page), number_format_i18n($total_email)); ?></p>
+ <p><?php printf(__('Sorted By <strong>%s</strong> In <strong>%s</strong> Order', 'wp-email'), $email_sortby_text, $email_sortorder_text); ?></p>
+ <?php
+ $colspan = 7;
+ if(EMAIL_SHOW_REMARKS) {
+ $colspan++;
+ }
+ ?>
+ <table class="widefat">
+ <thead>
+ <tr>
+ <th><?php _e('ID', 'wp-email'); ?></th>
+ <th><?php _e('From', 'wp-email'); ?></th>
+ <th><?php _e('To', 'wp-email'); ?></th>
+ <th><?php _e('Date / Time', 'wp-email'); ?></th>
+ <th><?php _e('IP / Host', 'wp-email'); ?></th>
+ <?php
+ if(EMAIL_SHOW_REMARKS) {
+ echo '<th>'.__('Remarks', 'wp-email').'</th>';
+ }
+ ?>
+ <th><?php _e('Post Title', 'wp-email'); ?></th>
+ <th><?php _e('Status', 'wp-email'); ?></th>
+ </tr>
+ </thead>
+ <?php
+ if($email_logs) {
+ $i = 0;
+ foreach($email_logs as $email_log) {
+ if($i%2 == 0) {
+ $style = '';
+ } else {
+ $style = 'class="alternate"';
+ }
+ $email_id = intval($email_log->email_id);
+ $email_yourname = stripslashes($email_log->email_yourname);
+ $email_youremail = stripslashes($email_log->email_youremail);
+ $email_friendname = stripslashes($email_log->email_friendname);
+ $email_friendemail = stripslashes($email_log->email_friendemail);
+ $email_postid = intval($email_log->email_postid);
+ $email_remarks = htmlspecialchars(stripslashes($email_log->email_yourremarks));
+ $email_posttitle = htmlspecialchars(stripslashes($email_log->email_posttitle));
+ $email_date = mysql2date(sprintf(__('%s @ %s', 'wp-email'), get_option('date_format'), get_option('time_format')), gmdate('Y-m-d H:i:s', $email_log->email_timestamp));
+ $email_ip = $email_log->email_ip;
+ $email_host = $email_log->email_host;
+ $email_status = stripslashes($email_log->email_status);
+ echo "<tr $style>\n";
+ echo "<td>".number_format_i18n($email_id)."</td>\n";
+ echo "<td>$email_yourname<br />$email_youremail</td>\n";
+ echo "<td>$email_friendname<br />$email_friendemail</td>\n";
+ echo "<td>$email_date</td>\n";
+ echo "<td>$email_ip<br />$email_host</td>\n";
+ if(EMAIL_SHOW_REMARKS) {
+ echo '<td>'.$email_remarks.'</td>';
+ }
+ echo "<td>$email_posttitle</td>\n";
+ echo "<td>$email_status</td>\n";
+ echo '</tr>';
+ $i++;
+ }
+ } else {
+ echo '<tr><td colspan="'.$colspan.'" align="center"><strong>'.__('No E-Mail Logs Found', 'wp-email').'</strong></td></tr>';
+ }
+ ?>
+ </table>
+ <!-- <Paging> -->
+ <?php
+ if($total_pages > 1) {
+ ?>
+ <br />
+ <table class="widefat">
+ <tr>
+ <td align="<?php echo ('rtl' == $text_direction) ? 'right' : 'left'; ?>" width="50%">
+ <?php
+ if($email_page > 1 && ((($email_page*$email_log_perpage)-($email_log_perpage-1)) <= $total_email)) {
+ echo '<strong>&laquo;</strong> <a href="'.$base_page.'&amp;emailpage='.($email_page-1).$email_sort_url.'" title="&laquo; '.__('Previous Page', 'wp-email').'">'.__('Previous Page', 'wp-email').'</a>';
+ } else {
+ echo '&nbsp;';
+ }
+ ?>
+ </td>
+ <td align="<?php echo ('rtl' == $text_direction) ? 'left' : 'right'; ?>" width="50%">
+ <?php
+ if($email_page >= 1 && ((($email_page*$email_log_perpage)+1) <= $total_email)) {
+ echo '<a href="'.$base_page.'&amp;emailpage='.($email_page+1).$email_sort_url.'" title="'.__('Next Page', 'wp-email').' &raquo;">'.__('Next Page', 'wp-email').'</a> <strong>&raquo;</strong>';
+ } else {
+ echo '&nbsp;';
+ }
+ ?>
+ </td>
+ </tr>
+ <tr class="alternate">
+ <td colspan="2" align="center">
+ <?php printf(__('Pages (%s): ', 'wp-postratings'), number_format_i18n($total_pages)); ?>
+ <?php
+ if ($email_page >= 4) {
+ echo '<strong><a href="'.$base_page.'&amp;emailpage=1'.$email_sort_url.'" title="'.__('Go to First Page', 'wp-email').'">&laquo; '.__('First', 'wp-email').'</a></strong> ... ';
+ }
+ if($email_page > 1) {
+ echo ' <strong><a href="'.$base_page.'&amp;emailpage='.($email_page-1).$email_sort_url.'" title="&laquo; '.__('Go to Page', 'wp-email').' '.number_format_i18n($email_page-1).'">&laquo;</a></strong> ';
+ }
+ for($i = $email_page - 2 ; $i <= $email_page +2; $i++) {
+ if ($i >= 1 && $i <= $total_pages) {
+ if($i == $email_page) {
+ echo '<strong>['.number_format_i18n($i).']</strong> ';
+ } else {
+ echo '<a href="'.$base_page.'&amp;emailpage='.($i).$email_sort_url.'" title="'.__('Page', 'wp-email').' '.number_format_i18n($i).'">'.number_format_i18n($i).'</a> ';
+ }
+ }
+ }
+ if($email_page < $total_pages) {
+ echo ' <strong><a href="'.$base_page.'&amp;emailpage='.($email_page+1).$email_sort_url.'" title="'.__('Go to Page', 'wp-email').' '.number_format_i18n($email_page+1).' &raquo;">&raquo;</a></strong> ';
+ }
+ if (($email_page+2) < $total_pages) {
+ echo ' ... <strong><a href="'.$base_page.'&amp;emailpage='.($total_pages).$email_sort_url.'" title="'.__('Go to Last Page', 'wp-email'), 'wp-email'.'">'.__('Last', 'wp-email').' &raquo;</a></strong>';
+ }
+ ?>
+ </td>
+ </tr>
+ </table>
+ <!-- </Paging> -->
+ <?php
+ }
+ ?>
+ <br />
+ <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="get">
+ <table class="widefat">
+ <tr>
+ <td>
+ <input type="hidden" name="page" value="<?php echo $base_name; ?>" />
+ <?php _e('Sort Options:', 'wp-email'); ?>&nbsp;&nbsp;&nbsp;
+ <select name="by" size="1">
+ <option value="id"<?php if($email_sortby == 'email_id') { echo ' selected="selected"'; }?>><?php _e('ID', 'wp-email'); ?></option>
+ <option value="fromname"<?php if($email_sortby == 'email_yourname') { echo ' selected="selected"'; }?>><?php _e('From Name', 'wp-email'); ?></option>
+ <option value="fromemail"<?php if($email_sortby == 'email_youremail') { echo ' selected="selected"'; }?>><?php _e('From E-Mail', 'wp-email'); ?></option>
+ <option value="toname"<?php if($email_sortby == 'email_friendname') { echo ' selected="selected"'; }?>><?php _e('To Name', 'wp-email'); ?></option>
+ <option value="toemail"<?php if($email_sortby == 'email_friendemail') { echo ' selected="selected"'; }?>><?php _e('To E-Mail', 'wp-email'); ?></option>
+ <option value="date"<?php if($email_sortby == 'email_timestamp') { echo ' selected="selected"'; }?>><?php _e('Date', 'wp-email'); ?></option>
+ <option value="postid"<?php if($email_sortby == 'email_postid') { echo ' selected="selected"'; }?>><?php _e('Post ID', 'wp-email'); ?></option>
+ <option value="posttitle"<?php if($email_sortby == 'email_posttitle') { echo ' selected="selected"'; }?>><?php _e('Post Title', 'wp-email'); ?></option>
+ <option value="ip"<?php if($email_sortby == 'email_ip') { echo ' selected="selected"'; }?>><?php _e('IP', 'wp-email'); ?></option>
+ <option value="host"<?php if($email_sortby == 'email_host') { echo ' selected="selected"'; }?>><?php _e('Host', 'wp-email'); ?></option>
+ <option value="status"<?php if($email_sortby == 'email_status') { echo ' selected="selected"'; }?>><?php _e('Status', 'wp-email'); ?></option>
+ </select>
+ &nbsp;&nbsp;&nbsp;
+ <select name="order" size="1">
+ <option value="asc"<?php if($email_sortorder == 'ASC') { echo ' selected="selected"'; }?>><?php _e('Ascending', 'wp-email'); ?></option>
+ <option value="desc"<?php if($email_sortorder == 'DESC') { echo ' selected="selected"'; } ?>><?php _e('Descending', 'wp-email'); ?></option>
+ </select>
+ &nbsp;&nbsp;&nbsp;
+ <select name="perpage" size="1">
+ <?php
+ for($i=10; $i <= 100; $i+=10) {
+ if($email_log_perpage == $i) {
+ echo "<option value=\"$i\" selected=\"selected\">".__('Per Page', 'wp-email').": ".number_format_i18n($i)."</option>\n";
+ } else {
+ echo "<option value=\"$i\">".__('Per Page', 'wp-email').": ".number_format_i18n($i)."</option>\n";
+ }
+ }
+ ?>
+ </select>
+ <input type="submit" value="<?php _e('Sort', 'wp-email'); ?>" class="button" />
+ </td>
+ </tr>
+ </table>
+ </form>
+</div>
+<p>&nbsp;</p>
+
+<!-- E-Mail Stats -->
+<div class="wrap">
+ <h3><?php _e('E-Mail Logs Stats', 'wp-email'); ?></h3>
+ <br style="clear" />
+ <table class="widefat">
+ <tr>
+ <th><?php _e('Total E-Mails:', 'wp-email'); ?></th>
+ <td><?php echo number_format_i18n($total_email); ?></td>
+ </tr>
+ <tr class="alternate">
+ <th><?php _e('Total E-Mail Sent:', 'wp-email'); ?></th>
+ <td><?php echo number_format_i18n($total_email_success); ?></td>
+ </tr>
+ <tr>
+ <th><?php _e('Total E-Mail Failed:', 'wp-email'); ?></th>
+ <td><?php echo number_format_i18n($total_email_failed); ?></td>
+ </tr>
+ </table>
+</div>
+<p>&nbsp;</p>
+
+<!-- Delete E-Mail Logs -->
+<div class="wrap">
+ <h3><?php _e('Delete E-Mail Logs', 'wp-email'); ?></h3>
+ <br style="clear" />
+ <div align="center">
+ <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
+ <strong><?php _e('Are You Sure You Want To Delete All E-Mail Logs?', 'wp-email'); ?></strong><br /><br />
+ <input type="checkbox" name="delete_logs_yes" value="yes" />&nbsp;<?php _e('Yes', 'wp-email'); ?><br /><br />
+ <input type="submit" name="delete_logs" value="<?php _e('Delete', 'wp-email'); ?>" class="button" onclick="return confirm('<?php _e('You Are About To Delete All E-Mail Logs\nThis Action Is Not Reversible.\n\n Choose [Cancel] to stop, [OK] to delete.', 'wp-email'); ?>')" />
+ </form>
+ </div>
+</div>
494 email-options.php
@@ -0,0 +1,494 @@
+<?php
+/*
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - Configure E-Mail Options
+ * - wp-content/plugins/wp-email/email-options.php
+ */
+
+
+### Check Whether User Can Manage EMail
+if(!current_user_can('manage_email')) {
+ die('Access Denied');
+}
+
+
+### E-Mail Variables
+$base_name = plugin_basename('wp-email/email-options.php');
+$base_page = 'admin.php?page='.$base_name;
+
+
+### If Form Is Submitted
+if( !empty($_POST['Submit']) ) {
+ $email_smtp_name = strip_tags(trim($_POST['email_smtp_name']));
+ $email_smtp_password = strip_tags(trim($_POST['email_smtp_password']));
+ $email_smtp_server = strip_tags(trim($_POST['email_smtp_server']));
+ $email_smtp = array('username' => $email_smtp_name, 'password' => $email_smtp_password, 'server' => $email_smtp_server);
+ $email_options = array();
+ $email_options['post_text'] = addslashes(trim(wp_filter_post_kses($_POST['email_post_text'])));
+ $email_options['page_text'] = addslashes(trim(wp_filter_post_kses($_POST['email_page_text'])));
+ $email_options['email_icon'] = trim($_POST['email_icon']);
+ $email_options['email_type'] = intval($_POST['email_type']);
+ $email_options['email_style'] = intval($_POST['email_style']);
+ $email_options['email_html'] = trim($_POST['email_html']);
+ $email_fields = array();
+ $email_fields['yourname'] = intval($_POST['email_field_yourname']);
+ $email_fields['youremail'] = intval($_POST['email_field_youremail']);
+ $email_fields['yourremarks'] = intval($_POST['email_field_yourremarks']);
+ $email_fields['friendname'] = intval($_POST['email_field_friendname']);
+ $email_fields['friendemail'] = intval($_POST['email_field_friendemail']);
+ $email_contenttype = strip_tags(trim($_POST['email_contenttype']));
+ $email_mailer = strip_tags(trim($_POST['email_mailer']));
+ $email_snippet = intval(trim($_POST['email_snippet']));
+ $email_interval = intval(trim($_POST['email_interval']));
+ $email_multiple = intval(trim($_POST['email_multiple']));
+ $email_imageverify = intval(trim($_POST['email_imageverify']));
+ $email_template_title = trim(wp_filter_post_kses($_POST['email_template_title']));
+ $email_template_subtitle = trim(wp_filter_post_kses($_POST['email_template_subtitle']));
+ $email_template_subject = strip_tags(trim($_POST['email_template_subject']));
+ $email_template_body = trim(wp_filter_post_kses($_POST['email_template_body']));
+ $email_template_bodyalt = trim(wp_filter_post_kses($_POST['email_template_bodyalt']));
+ $email_template_sentsuccess = trim(wp_filter_post_kses($_POST['email_template_sentsuccess']));
+ $email_template_sentfailed = trim(wp_filter_post_kses($_POST['email_template_sentfailed']));
+ $email_template_error = trim(wp_filter_post_kses($_POST['email_template_error']));
+ $update_email_queries = array();
+ $update_email_text = array();
+ $update_email_queries[] = update_option('email_smtp', $email_smtp);
+ $update_email_queries[] = update_option('email_options', $email_options);
+ $update_email_queries[] = update_option('email_fields', $email_fields);
+ $update_email_queries[] = update_option('email_contenttype', $email_contenttype);
+ $update_email_queries[] = update_option('email_mailer', $email_mailer);
+ $update_email_queries[] = update_option('email_snippet', $email_snippet);
+ $update_email_queries[] = update_option('email_interval', $email_interval);
+ $update_email_queries[] = update_option('email_multiple', $email_multiple);
+ $update_email_queries[] = update_option('email_imageverify', $email_imageverify);
+ $update_email_queries[] = update_option('email_template_title', $email_template_title);
+ $update_email_queries[] = update_option('email_template_subtitle', $email_template_subtitle);
+ $update_email_queries[] = update_option('email_template_subject', $email_template_subject);
+ $update_email_queries[] = update_option('email_template_body', $email_template_body);
+ $update_email_queries[] = update_option('email_template_bodyalt', $email_template_bodyalt);
+ $update_email_queries[] = update_option('email_template_sentsuccess', $email_template_sentsuccess);
+ $update_email_queries[] = update_option('email_template_sentfailed', $email_template_sentfailed);
+ $update_email_queries[] = update_option('email_template_error', $email_template_error);
+ $update_email_text[] = __('SMTP Information', 'wp-email');
+ $update_email_text[] = __('E-Mail Style', 'wp-email');
+ $update_email_text[] = __('E-Mail Fields', 'wp-email');
+ $update_email_text[] = __('E-Mail Content Type', 'wp-email');
+ $update_email_text[] = __('Send E-Mail Method', 'wp-email');
+ $update_email_text[] = __('Snippet Option', 'wp-email');
+ $update_email_text[] = __('Interval Option', 'wp-email');
+ $update_email_text[] = __('Multiple E-Mails Option', 'wp-email');
+ $update_email_text[] = __('Image Verification Option', 'wp-email');
+ $update_email_text[] = __('Page Title Template', 'wp-email');
+ $update_email_text[] = __('Page Subtitle Template', 'wp-email');
+ $update_email_text[] = __('Subject Template', 'wp-email');
+ $update_email_text[] = __('Body Template', 'wp-email');
+ $update_email_text[] = __('Alternate Body Template', 'wp-email');
+ $update_email_text[] = __('Sent Success Template', 'wp-email');
+ $update_email_text[] = __('Sent Failed Template', 'wp-email');
+ $update_email_text[] = __('Error Template', 'wp-email');
+ $i=0;
+ $text = '';
+ foreach($update_email_queries as $update_email_query) {
+ if($update_email_query) {
+ $text .= '<font color="green">'.$update_email_text[$i].' '.__('Updated', 'wp-email').'</font><br />';
+ }
+ $i++;
+ }
+ if(empty($text)) {
+ $text = '<font color="red">'.__('No E-Mail Option Updated', 'wp-email').'</font>';
+ }
+}
+$email_options = get_option('email_options');
+$email_fields = get_option('email_fields');
+$email_smtp = get_option('email_smtp');
+?>
+<script type="text/javascript">
+/* <![CDATA[*/
+ function email_default_templates(template) {
+ var default_template;
+ switch(template) {
+ case "title":
+ default_template = "<?php _e('E-Mail \'%EMAIL_POST_TITLE%\' To A Friend', 'wp-email'); ?>";
+ break;
+ case "subtitle":
+ default_template = "<p style=\"text-align: center;\"><?php _e('Email a copy of <strong>\'%EMAIL_POST_TITLE%\'</strong> to a friend', 'wp-email'); ?></p>";
+ break;
+ case "subject":
+ default_template = "<?php _e('Recommended Article By %EMAIL_YOUR_NAME%: %EMAIL_POST_TITLE%', 'wp-email'); ?>";
+ break;
+ case "body":
+ default_template = "<?php _e('<p>Hi <strong>%EMAIL_FRIEND_NAME%</strong>,<br />Your friend, <strong>%EMAIL_YOUR_NAME%</strong>, has recommended this article entitled \'<strong>%EMAIL_POST_TITLE%</strong>\' to you.</p><p><strong>Here is his/her remarks:</strong><br />%EMAIL_YOUR_REMARKS%</p><p><strong>%EMAIL_POST_TITLE%</strong><br />Posted By %EMAIL_POST_AUTHOR% On %EMAIL_POST_DATE% In %EMAIL_POST_CATEGORY%</p>%EMAIL_POST_CONTENT%<p>Article taken from %EMAIL_BLOG_NAME% - <a href=\"%EMAIL_BLOG_URL%\">%EMAIL_BLOG_URL%</a><br />URL to article: <a href=\"%EMAIL_PERMALINK%\">%EMAIL_PERMALINK%</a></p>', 'wp-email'); ?>";
+ break;
+ case "bodyalt":
+ default_template = "<?php _e('Hi %EMAIL_FRIEND_NAME%,\nYour friend, %EMAIL_YOUR_NAME%, has recommended this article entitled \'%EMAIL_POST_TITLE%\' to you.\n\nHere is his/her remark:\n%EMAIL_YOUR_REMARKS%\n\n%EMAIL_POST_TITLE%\nPosted By %EMAIL_POST_AUTHOR% On %EMAIL_POST_DATE% In %EMAIL_POST_CATEGORY%\n%EMAIL_POST_CONTENT%\nArticle taken from %EMAIL_BLOG_NAME% - %EMAIL_BLOG_URL%\nURL to article: %EMAIL_PERMALINK%', 'wp-email'); ?>";
+ break;
+ case "sentsuccess":
+ default_template = "<p><?php _e('Article: <strong>%EMAIL_POST_TITLE%</strong> has been sent to <strong>%EMAIL_FRIEND_NAME% (%EMAIL_FRIEND_EMAIL%)</strong>', 'wp-email'); ?></p><p>&laquo; <a href=\"%EMAIL_PERMALINK%\"><?php _e('Back to %EMAIL_POST_TITLE%', 'wp-email'); ?></a></p>";
+ break;
+ case "sentfailed":
+ default_template = "<p><?php _e('An error has occurred when trying to send this email: ', 'wp-email'); ?><br /><strong>&raquo;</strong> %EMAIL_ERROR_MSG%</p>";
+ break;
+ case "error":
+ default_template = "<p><?php _e('An error has occurred: ', 'wp-email'); ?><br /><strong>&raquo;</strong> %EMAIL_ERROR_MSG%</p>";
+ break;
+ case "html":
+ default_template = '<a href="%EMAIL_URL%" rel="nofollow" title="%EMAIL_TEXT%">%EMAIL_TEXT%</a>';
+ break;
+ }
+ jQuery("#email_template_" + template).val(default_template);
+ }
+ function check_email_style() {
+ if (parseInt(jQuery("#email_style").val()) == 4) {
+ jQuery("#email_style_custom").show();
+ } else {
+ if(jQuery("#email_style_custom").is(":visible")) {
+ jQuery("#email_style_custom").hide();
+ }
+ }
+ }
+/* ]]> */
+</script>
+<?php if(!empty($text)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$text.'</p></div>'; } ?>
+<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
+<div class="wrap">
+ <div id="icon-wp-email" class="icon32"><br /></div>
+ <h2><?php _e('E-Mail Options', 'wp-email'); ?></h2>
+ <h3><?php _e('SMTP Settings', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <th width="20%"><?php _e('SMTP Username:', 'wp-email'); ?></th>
+ <td><input type="text" name="email_smtp_name" value="<?php echo stripslashes($email_smtp['username']); ?>" size="30" dir="ltr" /></td>
+ </tr>
+ <tr>
+ <th width="20%"><?php _e('SMTP Password:', 'wp-email'); ?></th>
+ <td><input type="password" name="email_smtp_password" value="<?php echo stripslashes($email_smtp['password']); ?>" size="30" dir="ltr" /></td>
+ </tr>
+ <tr>
+ <th width="20%"><?php _e('SMTP Server:', 'wp-email'); ?></th>
+ <td><input type="text" name="email_smtp_server" value="<?php echo stripslashes($email_smtp['server']); ?>" size="30" dir="ltr" /><br /><?php _e('You may leave the above fields blank if you do not use a SMTP server.', 'wp-email'); ?></td>
+ </tr>
+ </table>
+ <h3><?php _e('E-Mail Styles', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Text Link For Post', 'wp-email'); ?></th>
+ <td>
+ <input type="text" name="email_post_text" value="<?php echo stripslashes($email_options['post_text']); ?>" size="30" />
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Text Link For Page', 'wp-email'); ?></th>
+ <td>
+ <input type="text" name="email_page_text" value="<?php echo stripslashes($email_options['page_text']); ?>" size="30" />
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Icon', 'wp-email'); ?></th>
+ <td>
+ <?php
+ $email_icon = $email_options['email_icon'];
+ $email_icon_url = plugins_url('wp-email/images');
+ $email_icon_path = WP_PLUGIN_DIR.'/wp-email/images';
+ if($handle = @opendir($email_icon_path)) {
+ while (false !== ($filename = readdir($handle))) {
+ if ($filename != '.' && $filename != '..' && $filename != 'loading.gif') {
+ if(is_file($email_icon_path.'/'.$filename)) {
+ echo '<p>';
+ if($email_icon == $filename) {
+ echo '<input type="radio" name="email_icon" value="'.$filename.'" checked="checked" />'."\n";
+ } else {
+ echo '<input type="radio" name="email_icon" value="'.$filename.'" />'."\n";
+ }
+ echo '&nbsp;&nbsp;&nbsp;';
+ echo '<img src="'.$email_icon_url.'/'.$filename.'" alt="'.$filename.'" />'."\n";
+ echo '&nbsp;&nbsp;&nbsp;('.$filename.')';
+ echo '</p>'."\n";
+ }
+ }
+ }
+ closedir($handle);
+ }
+ ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Link Type', 'wp-email'); ?></th>
+ <td>
+ <select name="email_type" size="1">
+ <option value="1"<?php selected('1', $email_options['email_type']); ?>><?php _e('E-Mail Standalone Page', 'wp-email'); ?></option>
+ <option value="2"<?php selected('2', $email_options['email_type']); ?>><?php _e('E-Mail Popup', 'wp-email'); ?></option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Text Link Style', 'wp-email'); ?></th>
+ <td>
+ <select name="email_style" id="email_style" size="1" onchange="check_email_style();">
+ <option value="1"<?php selected('1', $email_options['email_style']); ?>><?php _e('E-Mail Icon With Text Link', 'wp-email'); ?></option>
+ <option value="2"<?php selected('2', $email_options['email_style']); ?>><?php _e('E-Mail Icon Only', 'wp-email'); ?></option>
+ <option value="3"<?php selected('3', $email_options['email_style']); ?>><?php _e('E-Mail Text Link Only', 'wp-email'); ?></option>
+ <option value="4"<?php selected('4', $email_options['email_style']); ?>><?php _e('Custom', 'wp-email'); ?></option>
+ </select>
+ <div id="email_style_custom" style="display: <?php if(intval($email_options['email_style']) == 4) { echo 'block'; } else { echo 'none'; } ?>; margin-top: 20px;">
+ <textarea rows="2" cols="80" name="email_html" id="email_template_html"><?php echo htmlspecialchars(stripslashes($email_options['email_html'])); ?></textarea><br />
+ <?php _e('HTML is allowed.', 'wp-email'); ?><br />
+ %EMAIL_URL% - <?php _e('URL to the email post/page.', 'wp-email'); ?><br />
+ %EMAIL_POPUP% - <?php _e('It will produce the onclick html code which is nescassary for popup.', 'wp-email'); ?><br />
+ <?php _e('Example Popup Template:', 'wp-email'); ?><br />
+ <span dir="ltr"><?php echo htmlspecialchars('<a href="%EMAIL_URL%" %EMAIL_POPUP% rel="nofollow" title="%EMAIL_TEXT%">%EMAIL_TEXT%</a>'); ?></span><br />
+ %EMAIL_TEXT% - <?php _e('E-Mail text link of the post/page that you have typed in above.', 'wp-email'); ?><br />
+ %EMAIL_ICON_URL% - <?php _e('URL to the email icon you have chosen above.', 'wp-email'); ?><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('html');" class="button" />
+ </div>
+ </td>
+ </tr>
+ </table>
+ <h3><?php _e('E-Mail Settings', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Fields:', 'wp-email'); ?></th>
+ <td>
+ <input type="checkbox" name="email_field_yourname" value="1"<?php checked('1', $email_fields['yourname']); ?> />&nbsp;<?php _e('Your Name', 'wp-email'); ?><br />
+ <input type="checkbox" name="email_field_youremail" value="1"<?php checked('1', $email_fields['youremail']); ?> />&nbsp;<?php _e('Your E-Mail', 'wp-email'); ?><br />
+ <input type="checkbox" name="email_field_yourremarks" value="1"<?php checked('1', $email_fields['yourremarks']); ?> />&nbsp;<?php _e('Your Remarks', 'wp-email'); ?><br />
+ <input type="checkbox" name="email_field_friendname" value="1"<?php checked('1', $email_fields['friendname']); ?> />&nbsp;<?php _e('Friend\'s Name', 'wp-email'); ?><br />
+ <input type="checkbox" name="email_field_friendemail" value="1" checked="checked" disabled="disabled" />&nbsp;<?php _e('Friend\'s E-Mail', 'wp-email'); ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('E-Mail Content Type:', 'wp-email'); ?></th>
+ <td>
+ <select name="email_contenttype" size="1">
+ <option value="text/plain"<?php selected('text/plain', get_option('email_contenttype')); ?>><?php _e('Plain Text', 'wp-email'); ?></option>
+ <option value="text/html"<?php selected('text/html', get_option('email_contenttype')); ?>><?php _e('HTML', 'wp-email'); ?></option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('Method Used To Send E-Mail:', 'wp-email'); ?></th>
+ <td>
+ <select name="email_mailer" size="1">
+ <option value="mail"<?php selected('mail', get_option('email_mailer')); ?>><?php _e('PHP', 'wp-email'); ?></option>
+ <option value="sendmail"<?php selected('sendmail', get_option('email_mailer')); ?>><?php _e('SendMail', 'wp-email'); ?></option>
+ <option value="smtp"<?php selected('smtp', get_option('email_mailer')); ?>><?php _e('SMTP', 'wp-email'); ?></option>
+ </select>
+ <br /><?php _e('If you ARE NOT using a smtp server or if there is a problem sending out email using your smtp server. Please Choose PHP or Send Mail.', 'wp-email'); ?>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('No. Of Words Before Cutting Off:', 'wp-email'); ?></th>
+ <td><input type="text" id="email_snippet" name="email_snippet" value="<?php echo get_option('email_snippet'); ?>" size="5" maxlength="5" /><br /><?php _e('Setting this value more than 0 will enable the snippet feature. This feature will allow you to send a portion (defined by the text field above) of the article to your friend instead of the whole article.', 'wp-email'); ?></td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('Interval Between E-Mails:', 'wp-email'); ?></th>
+ <td><input type="text" id="email_interval" name="email_interval" value="<?php echo get_option('email_interval'); ?>" size="5" maxlength="5" /> <?php _e('Mins', 'wp-email'); ?><br /><?php _e('It allows you to specify the interval in minutes between each email sent per user based on IP to prevent spam and flood.', 'wp-email'); ?></td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('Max Number Of Multiple E-Mails:', 'wp-email'); ?></th>
+ <td><input type="text" id="email_multiple" name="email_multiple" value="<?php echo get_option('email_multiple'); ?>" size="5" maxlength="3" /><br /><?php _e('Setting this value more than 1 will enable this feature. It allows the maximum number of multiple e-mails that can be send at one go.', 'wp-email'); ?></td>
+ </tr>
+ <tr>
+ <th scope="row" valign="top"><?php _e('Enable Image Verification:', 'wp-email'); ?></th>
+ <td>
+ <select name="email_imageverify" size="1">
+ <option value="1"<?php selected('1', get_option('email_imageverify')); ?>><?php _e('Yes', 'wp-email'); ?></option>
+ <option value="0"<?php selected('0', get_option('email_imageverify')); ?>><?php _e('No', 'wp-email'); ?></option>
+ </select><br /><?php _e('It is recommanded to choose <strong>Yes</strong> unless your server does not support PHP GD Library.', 'wp-email'); ?>
+ </td>
+ </tr>
+ </table>
+
+ <h3><?php _e('Template Variables', 'wp-email'); ?></h3>
+ <table class="widefat">
+ <tr>
+ <td><strong>%EMAIL_YOUR_NAME%</strong> - <?php _e('Display the sender\'s name', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_POST_TITLE%</strong> - <?php _e('Display the post\'s title', 'wp-email'); ?></td>
+ </tr>
+ <tr class="alternate">
+ <td><strong>%EMAIL_YOUR_EMAIL%</strong> - <?php _e('Display the sender\'s email', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_POST_AUTHOR%</strong> - <?php _e('Display the post\'s author', 'wp-email'); ?></td>
+ </tr>
+ <tr>
+ <td><strong>%EMAIL_YOUR_REMARKS%</strong> - <?php _e('Display the sender\'s remarks', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_POST_DATE%</strong> - <?php _e('Display the post\'s date', 'wp-email'); ?></td>
+ </tr>
+ <tr class="alternate">
+ <td><strong>%EMAIL_FRIEND_NAME%</strong> - <?php _e('Display the friend\'s name', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_POST_CATEGORY%</strong> - <?php _e('Display the post\'s category', 'wp-email'); ?></td>
+ </tr>
+ <tr>
+ <td><strong>%EMAIL_FRIEND_EMAIL%</strong> - <?php _e('Display the friend\'s email', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_POST_EXCERPT%</strong> - <?php _e('Display the post\'s excerpt', 'wp-email'); ?></td>
+ </tr>
+ <tr class="alternate">
+ <td><strong>%EMAIL_ERROR_MSG%</strong> - <?php _e('Display the error message', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_POST_CONTENT%</strong> - <?php _e('Display the post\'s content', 'wp-email'); ?></td>
+ </tr>
+ <tr>
+ <td><strong>%EMAIL_BLOG_NAME%</strong> - <?php _e('Display the blog\'s name', 'wp-email'); ?></td>
+ <td><strong>%EMAIL_PERMALINK%</strong> - <?php _e('Display the permalink of the post', 'wp-email'); ?></td>
+ </tr>
+ <tr class="alternate">
+ <td><strong>%EMAIL_BLOG_URL%</strong> - <?php _e('Display the blog\'s url', 'wp-email'); ?></td>
+ <td>&nbsp;</td>
+ </tr>
+ </table>
+
+ <h3><?php _e('E-Mail Page Templates', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <td width="30%">
+ <strong><?php _e('E-Mail Page Title:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_AUTHOR%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_DATE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CATEGORY%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('title');" class="button" />
+ </td>
+ <td><input type="text" id="email_template_title" name="email_template_title" value="<?php echo htmlspecialchars(stripslashes(get_option('email_template_title'))); ?>" size="82" /></td>
+ </tr>
+ <tr>
+ <td width="30%">
+ <strong><?php _e('E-Mail Page Subtitle:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_AUTHOR%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_DATE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CATEGORY%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('subtitle');" class="button" />
+ </td>
+ <td><input type="text" id="email_template_subtitle" name="email_template_subtitle" value="<?php echo htmlspecialchars(stripslashes(get_option('email_template_subtitle'))); ?>" size="82" /></td>
+ </tr>
+ </table>
+
+ <h3><?php _e('E-Mail Templates', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <td width="30%">
+ <strong><?php _e('E-Mail Subject:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_AUTHOR%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_DATE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CATEGORY%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('subject');" class="button" />
+ </td>
+ <td><input type="text" id="email_template_subject" name="email_template_subject" value="<?php echo htmlspecialchars(stripslashes(get_option('email_template_subject'))); ?>" size="82" /></td>
+ </tr>
+ <tr>
+ <td width="30%">
+ <strong><?php _e('E-Mail Body:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_REMARKS%</p>
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_AUTHOR%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_DATE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CATEGORY%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_EXCERPT%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CONTENT%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('body');" class="button" />
+ </td>
+ <td><textarea cols="80" rows="15" id="email_template_body" name="email_template_body"><?php echo htmlspecialchars(stripslashes(get_option('email_template_body'))); ?></textarea></td>
+ </tr>
+ <tr>
+ <td width="30%">
+ <strong><?php _e('E-Mail Alternate Body:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_YOUR_REMARKS%</p>
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_AUTHOR%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_DATE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CATEGORY%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_EXCERPT%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_CONTENT%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('bodyalt');" class="button" />
+ </td>
+ <td><textarea cols="80" rows="15" id="email_template_bodyalt" name="email_template_bodyalt"><?php echo htmlspecialchars(stripslashes(get_option('email_template_bodyalt'))); ?></textarea></td>
+ </tr>
+ </table>
+
+ <h3><?php _e('After Sending E-Mail Templates', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <td width="30%">
+ <strong><?php _e('Sent Successfully:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('sentsuccess');" class="button" />
+ </td>
+ <td><textarea cols="80" rows="10" id="email_template_sentsuccess" name="email_template_sentsuccess"><?php echo htmlspecialchars(stripslashes(get_option('email_template_sentsuccess'))); ?></textarea></td>
+ </tr>
+ <tr>
+ <td width="30%">
+ <strong><?php _e('Sent Failed:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?><br />
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_FRIEND_EMAIL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_ERROR_MSG%</p>
+ <p style="margin: 2px 0;">- %EMAIL_POST_TITLE%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('sentfailed');" class="button" />
+ </td>
+ <td><textarea cols="80" rows="10" id="email_template_sentfailed" name="email_template_sentfailed"><?php echo htmlspecialchars(stripslashes(get_option('email_template_sentfailed'))); ?></textarea></td>
+ </tr>
+ </table>
+ <h3><?php _e('E-Mail Misc Templates', 'wp-email'); ?></h3>
+ <table class="form-table">
+ <tr>
+ <td width="30%">
+ <strong><?php _e('E-Mail Error:', 'wp-email'); ?></strong><br /><br />
+ <?php _e('Allowed Variables:', 'wp-email'); ?>
+ <p style="margin: 2px 0;">- %EMAIL_ERROR_MSG%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_NAME%</p>
+ <p style="margin: 2px 0;">- %EMAIL_BLOG_URL%</p>
+ <p style="margin: 2px 0;">- %EMAIL_PERMALINK%</p><br />
+ <input type="button" name="RestoreDefault" value="<?php _e('Restore Default Template', 'wp-email'); ?>" onclick="email_default_templates('error');" class="button" />
+ </td>
+ <td><textarea cols="80" rows="10" id="email_template_error" name="email_template_error"><?php echo htmlspecialchars(stripslashes(get_option('email_template_error'))); ?></textarea></td>
+ </tr>
+ </table>
+ <p class="submit">
+ <input type="submit" name="Submit" class="button" value="<?php _e('Save Changes', 'wp-email'); ?>" />
+ </p>
+</div>
+</form>
52 email-popup.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail Post/Page To A Friend (Popup Window)
+ * - wp-content/plugins/wp-email/email-popup.php
+ */
+
+
+### Session Start
+@session_start();
+
+### Filters
+add_filter('wp_title', 'email_pagetitle');
+add_filter('the_title', 'email_title');
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
+<head>
+ <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
+ <meta name="robots" content="noindex, nofollow" />
+ <title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> &raquo; <?php _e('Blog Archive', 'wp-email'); ?> <?php } ?> <?php wp_title(); ?></title>
+ <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
+ <script type="text/javascript">
+ /* <![CDATA[*/
+ function repositionPopup() {
+ var content = document.getElementById("wp-email-popup");
+ var newWidth = content.offsetWidth + 30;
+ var newHeight = content.offsetHeight + 50;
+ if (/Firefox/.test(navigator.userAgent)) // Firefox doesn't hide location & status bars
+ newHeight += 50;
+ window.resizeTo(newWidth, newHeight);
+ window.moveTo((screen.width-newWidth) / 2, (screen.height-newHeight) / 2);
+ }
+ /* ]]> */
+ </script>
+ <?php wp_head(); ?>
+</head>
+<body onload="repositionPopup();">
+ <div id="wp-email-popup">
+ <?php email_form(true); ?>
+ <p style="text-align: center; padding-top: 20px;"><a href="#" onclick="window.close();"><?php _e('Close This Window', 'wp-email'); ?></a></p>
+ <?php wp_footer(); ?>
+ </div>
+</body>
+</html>
32 email-standalone.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - E-Mail Post/Page To A Friend
+ * - wp-content/plugins/wp-email/email-standalone.php
+ */
+
+
+### Session Start
+@session_start();
+
+### Filters
+add_filter('wp_title', 'email_pagetitle');
+add_action('loop_start', 'email_addfilters');
+
+### We Use Page Template
+if(file_exists(TEMPLATEPATH.'/email.php')) {
+ include(TEMPLATEPATH.'/email.php');
+} elseif(file_exists(TEMPLATEPATH.'/page.php')) {
+ include(get_page_template());
+} elseif(file_exists(TEMPLATEPATH.'/single.php')) {
+ include(get_single_template());
+} else {
+ include(TEMPLATEPATH.'/index.php');
+}
135 email-uninstall.php
@@ -0,0 +1,135 @@
+<?php
+/**
+ * WordPress 2.8 Plugin: WP-EMail 2.50
+ * Copyright (c) 2009 Lester "GaMerZ" Chan
+ *
+ * File Written By:
+ * - Lester "GaMerZ" Chan
+ * - http://lesterchan.net
+ *
+ * File Information:
+ * - Uninstall WP-EMail
+ * - wp-content/plugins/wp-email/email-uninstall.php
+ */
+
+
+### Check Whether User Can Manage EMail
+if(!current_user_can('manage_email')) {
+ die('Access Denied');
+}
+
+
+### Variables Variables Variables
+$base_name = plugin_basename('wp-email/email-manager.php');
+$base_page = 'admin.php?page='.$base_name;
+$mode = empty($_GET['mode'])? '' : trim($_GET['mode']);
+$email_tables = array($wpdb->email);
+$email_settings = array('email_smtp', 'email_contenttype', 'email_mailer', 'email_template_subject', 'email_template_body', 'email_template_bodyalt', 'email_template_sentsuccess', 'email_template_sentfailed', 'email_template_error', 'email_interval', 'email_snippet', 'email_multiple', 'email_imageverify', 'email_options', 'email_fields', 'email_template_title', 'email_template_subtitle', 'widget_email_most_emailed', 'widget_email');
+
+
+### Form Processing
+if(!empty($_POST['do'])) {
+ // Decide What To Do
+ switch($_POST['do']) {
+ // Uninstall WP-EMail
+ case __('UNINSTALL WP-EMail', 'wp-email') :
+ if(trim($_POST['uninstall_email_yes']) == 'yes') {
+ echo '<div id="message" class="updated fade">';
+ echo '<p>';
+ foreach($email_tables as $table) {
+ $wpdb->query("DROP TABLE {$table}");
+ echo '<font style="color: green;">';
+ printf(__('Table \'%s\' has been deleted.', 'wp-email'), "<strong><em>{$table}</em></strong>");
+ echo '</font><br />';
+ }
+ echo '</p>';
+ echo '<p>';
+ foreach($email_settings as $setting) {
+ $delete_setting = delete_option($setting);
+ if($delete_setting) {
+ echo '<font color="green">';
+ printf(__('Setting Key \'%s\' has been deleted.', 'wp-email'), "<strong><em>{$setting}</em></strong>");
+ echo '</font><br />';
+ } else {
+ echo '<font color="red">';
+ printf(__('Error deleting Setting Key \'%s\'.', 'wp-email'), "<strong><em>{$setting}</em></strong>");
+ echo '</font><br />';
+ }
+ }
+ echo '</p>';
+ echo '</div>';
+ $mode = 'end-UNINSTALL';
+ }
+ break;
+ }
+}
+
+
+### Determines Which Mode It Is
+switch($mode) {
+ // Deactivating WP-EMail
+ case 'end-UNINSTALL':
+ $deactivate_url = 'plugins.php?action=deactivate&amp;plugin=wp-email/wp-email.php';
+ if(function_exists('wp_nonce_url')) {
+ $deactivate_url = wp_nonce_url($deactivate_url, 'deactivate-plugin_wp-email/wp-email.php');
+ }
+ echo '<div class="wrap">';
+ echo '<h2>'.__('Uninstall WP-EMail', 'wp-email').'</h2>';
+ echo '<p><strong>'.sprintf(__('<a href="%s">Click Here</a> To Finish The Uninstallation And WP-EMail Will Be Deactivated Automatically.', 'wp-email'), $deactivate_url).'</strong></p>';
+ echo '</div>';
+ break;
+ // Main Page
+ default:
+?>
+<!-- Uninstall WP-EMail -->
+<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?page=<?php echo plugin_basename(__FILE__); ?>">
+<div class="wrap">
+ <div id="icon-wp-email" class="icon32"><br /></div>
+ <h2><?php _e('Uninstall WP-EMail', 'wp-email'); ?></h2>
+ <p>
+ <?php _e('Deactivating WP-EMail plugin does not remove any data that may have been created, such as the email options and the email logs. To completely remove this plugin, you can uninstall it here.', 'wp-email'); ?>
+ </p>
+ <p style="color: red">
+ <strong><?php _e('WARNING:', 'wp-email'); ?></strong><br />
+ <?php _e('Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to back up all the data first.', 'wp-email'); ?>
+ </p>
+ <p style="color: red">
+ <strong><?php _e('The following WordPress Options/Tables will be DELETED:', 'wp-email'); ?></strong><br />
+ </p>
+ <table class="widefat">
+ <thead>
+ <tr>
+ <th><?php _e('WordPress Options', 'wp-email'); ?></th>
+ <th><?php _e('WordPress Tables', 'wp-email'); ?></th>
+ </tr>
+ </thead>
+ <tr>
+ <td valign="top">
+ <ol>
+ <?php
+ foreach($email_settings as $settings) {
+ echo '<li>'.$settings.'</li>'."\n";
+ }
+ ?>
+ </ol>
+ </td>
+ <td valign="top" class="alternate">
+ <ol>
+ <?php
+ foreach($email_tables as $tables) {
+ echo '<li>'.$tables.'</li>'."\n";
+ }
+ ?>
+ </ol>
+ </td>
+ </tr>
+ </table>
+ <p>&nbsp;</p>
+ <p style="text-align: center;">
+ <input type="checkbox" name="uninstall_email_yes" value="yes" />&nbsp;<?php _e('Yes', 'wp-email'); ?><br /><br />
+ <input type="submit" name="do" value="<?php _e('UNINSTALL WP-EMail', 'wp-email'); ?>" class="button" onclick="return confirm('<?php _e('You Are About To Uninstall WP-EMail From WordPress.\nThis Action Is Not Reversible.\n\n Choose [Cancel] To Stop, [OK] To Uninstall.', 'wp-email'); ?>')" />
+ </p>
+</div>
+</form>
+<?php
+} // End switch($mode)
BIN  images/email.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  images/email_admin_icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  images/email_famfamfam.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  images/loading.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
711 readme.html
@@ -0,0 +1,711 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title>WP-EMail 2.50 Readme</title>
+ <style type="text/css" media="screen">
+ /* Default Style */
+ BODY {
+ font-family: Verdana, Arial;
+ font-size: 12px;
+ color: #000000;
+ background: #FFFFFF;
+ }
+ P {
+ padding-left: 10px;
+ }
+ BLOCKQUOTE {
+ margin: 10px 20px 0px 20px;
+ padding: 10px;
+ border: 1px solid #8d8d8d;
+ background-color: #f5f5f5;
+ }
+ LI {
+ margin-top: 20px;
+ }
+ UL LI UL LI {
+ margin-top: 10px;
+ }
+ A, A:active, A:link, A:visited {
+ color: #2d3a4c;
+ text-decoration: none;
+ }
+ A:hover {
+ color: #5577a5;
+ text-decoration: underline;
+ }
+ /* Place Holder Style */
+ #Container {
+ width: 780px;
+ margin-left: auto;
+ margin-right: auto;
+ }
+ #Content {
+ background-color: #fafafa;
+ border: 1px solid #a2b6cb;
+ padding: 10px;
+ margin-top: -13px;
+ }
+ /* Title Style */
+ #Title {
+ font-family: Verdana, Arial;
+ font-size: 22px;
+ font-weight: bold;
+ color: #389aff;
+ border-bottom: 1px solid #389aff;
+ margin-bottom: 10px;
+ }
+ .SubTitle {
+ font-family: Verdana, Arial;
+ font-size: 18px;
+ font-weight: bold;
+ color: #5b87b4;
+ }
+ .SubSubTitle {
+ font-family: Verdana, Arial;
+ font-size: 14px;
+ font-weight: bold;
+ color: #73a4d6;
+ }
+ /* Tabs */
+ UL#Tabs {
+ font-family: Verdana, Arial;
+ font-size: 12px;
+ font-weight: bold;
+ list-style-type: none;
+ padding-bottom: 28px;
+ border-bottom: 1px solid #a2b6cb;
+ margin-bottom: 12px;
+ z-index: 1;
+ }
+ #Tabs LI.Tab {
+ float: right;
+ height: 25px;
+ background-color: #deedfb;
+ margin: 2px 0px 0px 5px;
+ border: 1px solid #a2b6cb;
+ }
+ #Tabs LI.Tab A {
+ float: left;
+ display: block;
+ color: #666666;
+ text-decoration: none;
+ padding: 5px;
+ }
+ #Tabs LI.Tab A:hover {
+ background-color: #bfe0fe;
+ border-bottom: 1px solid #bfe0fe;
+ }
+ /* Selected Tab */
+ #Tabs LI.SelectedTab {
+ float: right;
+ height: 25px;
+ background-color: #fafafa;
+ margin: 2px 0px 0px 5px;
+ border-top: 1px solid #a2b6cb;
+ border-right: 1px solid #a2b6cb;
+ border-bottom: 1px solid #fafafa;
+ border-left: 1px solid #a2b6cb;
+ }
+ #Tabs LI.SelectedTab A {
+ float: left;
+ display: block;
+ color: #666666;
+ text-decoration: none;
+ padding: 5px;
+ cursor: default;
+ }
+ /* Copyright */
+ #Copyright {
+ text-align: center;
+ }
+ </style>
+ <script type="text/javascript">
+ /* <![CDATA[*/
+ // Index Page
+ function index() {
+ // Tab
+ document.getElementById('IndexTab').className = 'SelectedTab';
+ document.getElementById('ChangelogTab').className = 'Tab';
+ document.getElementById('InstallTab').className = 'Tab';
+ document.getElementById('UpgradeTab').className = 'Tab';
+ document.getElementById('UsageTab').className = 'Tab';
+ // Page
+ document.getElementById('Index').style.display= 'block';
+ document.getElementById('Changelog').style.display = 'none';
+ document.getElementById('Install').style.display = 'none';
+ document.getElementById('Upgrade').style.display = 'none';
+ document.getElementById('Usage').style.display = 'none';
+ }
+ // Changelog Page
+ function changelog() {
+ // Tab
+ document.getElementById('IndexTab').className = 'Tab';
+ document.getElementById('ChangelogTab').className = 'SelectedTab';
+ document.getElementById('InstallTab').className = 'Tab';
+ document.getElementById('UpgradeTab').className = 'Tab';
+ document.getElementById('UsageTab').className = 'Tab';
+ // Page
+ document.getElementById('Index').style.display = 'none';
+ document.getElementById('Changelog').style.display = 'block';
+ document.getElementById('Install').style.display = 'none';
+ document.getElementById('Upgrade').style.display = 'none';
+ document.getElementById('Usage').style.display = 'none';
+ }
+ // Installation Page
+ function install() {
+ // Tab
+ document.getElementById('IndexTab').className = 'Tab';
+ document.getElementById('ChangelogTab').className = 'Tab';
+ document.getElementById('InstallTab').className = 'SelectedTab';
+ document.getElementById('UpgradeTab').className = 'Tab';
+ document.getElementById('UsageTab').className = 'Tab';
+ // Page
+ document.getElementById('Index').style.display= 'none';
+ document.getElementById('Changelog').style.display = 'none';
+ document.getElementById('Install').style.display = 'block';
+ document.getElementById('Upgrade').style.display = 'none';
+ document.getElementById('Usage').style.display = 'none';
+ }
+ // Upgrade Page
+ function upgrade() {
+ // Tab
+ document.getElementById('IndexTab').className = 'Tab';
+ document.getElementById('ChangelogTab').className = 'Tab';
+ document.getElementById('InstallTab').className = 'Tab';
+ document.getElementById('UpgradeTab').className = 'SelectedTab';
+ document.getElementById('UsageTab').className = 'Tab';
+ // Page
+ document.getElementById('Index').style.display= 'none';
+ document.getElementById('Changelog').style.display = 'none';
+ document.getElementById('Install').style.display = 'none';
+ document.getElementById('Upgrade').style.display = 'block';
+ document.getElementById('Usage').style.display = 'none';
+ }
+ // Usage Page
+ function usage() {
+ // Tab
+ document.getElementById('IndexTab').className = 'Tab';
+ document.getElementById('ChangelogTab').className = 'Tab';
+ document.getElementById('InstallTab').className = 'Tab';
+ document.getElementById('UpgradeTab').className = 'Tab';
+ document.getElementById('UsageTab').className = 'SelectedTab';
+ // Page
+ document.getElementById('Index').style.display= 'none';
+ document.getElementById('Changelog').style.display = 'none';
+ document.getElementById('Install').style.display = 'none';
+ document.getElementById('Upgrade').style.display = 'none';
+ document.getElementById('Usage').style.display = 'block';
+ }
+ /* ]]> */
+ </script>
+</head>
+<body>
+<div id="Container">
+ <!-- Title -->
+ <div id="Title">WP-EMail 2.50&nbsp;&nbsp;&nbsp;<span style="color: #aaaaaa;">Readme</span></div>
+
+ <!-- Tabs -->
+ <ul id="Tabs">
+ <li id="UsageTab" class="Tab"><a href="#Usage" onclick="usage(); return false;" title="Usage Instructions">Usage</a></li>
+ <li id="UpgradeTab" class="Tab"><a href="#Upgrade" onclick="upgrade(); return false;" title="Upgrade Instructions">Upgrade</a></li>
+ <li id="InstallTab" class="Tab"><a href="#Installation" onclick="install(); return false;" title="Installation Instructions">Installation</a></li>
+ <li id="ChangelogTab" class="Tab"><a href="#Changelog" onclick="changelog(); return false;" title="Changelog">Changelog</a></li>
+ <li id="IndexTab" class="SelectedTab"><a href="#Index" onclick="index(); return false;" title="Index Instructions">Index</a></li>
+ </ul>
+
+ <!-- Content -->
+ <div id="Content">
+ <!-- Index -->
+ <div id="Index">
+ <div class="SubTitle">&raquo; Index</div>
+ <div class="SubSubTitle">Plugin Information</div>
+ <p>
+ <strong>Author:</strong><br />
+ <strong>&raquo;</strong> Lester 'GaMerZ' Chan
+ </p>
+ <p>
+ <strong>Website:</strong><br />
+ <strong>&raquo;</strong> <a href="http://lesterchan.net/" title="http://lesterchan.net/">http://lesterchan.net/</a>
+ </p>
+ <p>
+ <strong>Features:</strong><br />
+ <strong>&raquo;</strong> Allows people to recommend/send your WordPress blog's post/page to a friend.
+ </p>
+ <p>
+ <strong>Download:</strong><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.50.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.50.zip">WP-EMail 2.50 For WordPress 2.8.x</a><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.40.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.40.zip">WP-EMail 2.40 For WordPress 2.7.x</a><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.31.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.31.zip">WP-EMail 2.31 For WordPress 2.5.x And 2.6.x</a><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.20.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.20.zip">WP-EMail 2.20 For WordPress 2.3.x</a><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.11.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.11.zip">WP-EMail 2.11 For WordPress 2.1.x And 2.2.x</a><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.07.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.07.zip">WP-EMail 2.07 For WordPress 2.0.x</a><br />
+ <strong>&raquo;</strong> <a href="http://downloads.wordpress.org/plugin/wp-email.2.00b.zip" title="http://downloads.wordpress.org/plugin/wp-email.2.00b.zip">WP-EMail 2.00b For WordPress 1.5.2</a>
+ </p>
+ <p>
+ <strong>Screenshots:</strong><br />
+ <strong>&raquo;</strong> <a href="http://lesterchan.net/wordpress/screenshots/browse/wp-email/" title="http://lesterchan.net/wordpress/screenshots/browse/wp-email/">http://lesterchan.net/wordpress/screenshots/browse/wp-email/</a>
+ </p>
+ <p>
+ <strong>Demo:</strong><br />
+ <strong>&raquo;</strong> <a href="http://lesterchan.net/wordpress/2006/07/05/donations/email/" title="http://lesterchan.net/wordpress/2006/07/05/donations/email/">http://lesterchan.net/wordpress/2006/07/05/donations/email/</a>
+ </p>
+ <p>
+ <strong>Development:</strong><br />
+ <strong>&raquo;</strong> <a href="http://dev.wp-plugins.org/browser/wp-email/" title="http://dev.wp-plugins.org/browser/wp-email/">http://dev.wp-plugins.org/browser/wp-email/</a>
+ </p>
+ <p>
+ <strong>Translations:</strong><br />
+ <strong>&raquo;</strong> <a href="http://dev.wp-plugins.org/browser/wp-email/i18n/" title="http://dev.wp-plugins.org/browser/wp-email/i18n/">http://dev.wp-plugins.org/browser/wp-email/i18n/</a></p>
+ <p>
+ <strong>
+ Support Forums:</strong><br />
+ <strong>&raquo;</strong> <a href="http://forums.lesterchan.net/index.php?board=13.0" title="http://forums.lesterchan.net/index.php?board=13.0">http://forums.lesterchan.net/index.php?board=13.0</a>
+ </p>
+ <p>
+ <strong>Credits:</strong><br />
+ <strong>&raquo;</strong> Icons courtesy of <a href="http://www.famfamfam.com/">FamFamFam</a>.
+ <strong>&raquo;</strong> __ngetext() by <a href="http://hweia.ru/" title="http://hweia.ru/">Anna Ozeritskaya</a>.<br />
+ <strong>&raquo;</strong> Right To Left Language Support by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a>.
+ </p>
+ <p>
+ <strong>Note:</strong><br />
+ <strong>&raquo;</strong> The <strong>Changelog</strong>, <strong>Installation</strong>, <strong>Upgrade</strong>, <strong>Usage</strong> Tab at the top of the page.<br />
+ </p>
+ <p>
+ <strong>Donations:</strong><br />
+ <strong>&raquo;</strong> I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks as my school allowance, I will really appericiate it. If not feel free to use it without any obligations. Thank You. My Paypal account is
+ <script type="text/javascript">
+ /* <![CDATA[*/
+ document.write(' <strong>lesterchan@gmail.com</strong>.');
+ /* ]]> */
+ </script>
+ </p>
+ </div>
+
+ <!-- Changelog -->
+ <div id="Changelog" style="display: none;">
+ <div class="SubTitle">&raquo; Changelog</div>
+ <ul>
+ <li>
+ <strong>Version 2.50 (01-06-2009)</strong>
+ <ul>
+ <li>NEW: Works For WordPress 2.8 Only</li>
+ <li>NEW: Javascript Now Placed At The Footer</li>
+ <li>NEW: Uses jQuery Instead Of tw-sack</li>
+ <li>NEW: Minified Javascript Instead Of Packed Javascript</li>
+ <li>NEW: Renamed email-js-packed.js To email-js.js</li>
+ <li>NEW: Renamed email-js.js To email-js.dev.js</li>
+ <li>NEW: Translate Javascript Variables Using wp_localize_script()</li>
+ <li>NEW: Fill In "Your Name" And "Your Email" Fields If User Is Logged In (By Aaron Campbell)</li>
+ <li>NEW: Added [donotemail][/donotemail] Short Code (Refer To Usage Tab)</li>
+ <li>NEW: Added In Most Emailed Pages To WP-Stats</li>
+ <li>NEW: Use _n() Instead Of __ngettext() And _n_noop() Instead Of __ngettext_noop()</li>
+ <li>NEW: Uses New Widget Class From WordPress</li>
+ <li>NEW: Merge Widget Code To wp-email.php And Remove wp-email-widget.php</li>
+ <li>FIXED: Uses $_SERVER['PHP_SELF'] With plugin_basename(__FILE__) Instead Of Just $_SERVER['REQUEST_URI']</li>
+ <li>FIXED: Nested ShortCode Issues</li>
+ <li>FIXED: Double Slashes In SMTP Username</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.40 (12-12-2008)</strong>
+ <ul>
+ <li>NEW: Works For WordPress 2.7 Only</li>
+ <li>NEW: Load Admin JS And CSS Only In WP-Email Admin Pages</li>
+ <li>NEW: Added email-admin-css.css For WP-Email Admin CSS Styles</li>
+ <li>NEW: Uses wp_register_style(), wp_print_styles(), plugins_url() And site_url()</li>
+ <li>NEW: Better Translation Using __ngetext() by <a href="http://hweia.ru/" title="http://hweia.ru/">Anna Ozeritskaya</a></li>
+ <li>NEW: Right To Left Language Support by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>NEW: Called email_textdomain() In create_email_table() by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>NEW: Added "email-css-rtl.css" by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>NEW: E-mail Form Is More CSS Friendly by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>NEW: Use language_attributes() To Get Attributes Of HTML Tag For Popup Window by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>NEW: Popup Window Is Now Auto Sized And Centralized by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>NEW: Page Title Is Now "Post Title -> Email" Instead Of "Email -> Post Title" by <a href="http://persian-programming.com/" title="http://persian-programming.com/">Kambiz R. Khojasteh</a></li>
+ <li>FIXED: remove_filter('the_content', 'email_form', ''); By TripleM</li>
+ <li>FIXED: Missing Display Of Friend's Invalid Email Address In Javascript Alert Box</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.31 (16-07-2008)</strong>
+ <ul>
+ <li>NEW: Works For WordPress 2.6</li>
+ <li>FIXED: MYSQL Charset Issue Should Be Solved</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.30 (01-06-2008)</strong>
+ <ul>
+ <li>NEW: Works For WordPress 2.5 Only</li>
+ <li>NEW: WP-Email Will Load 'email.php' Inside Your Theme Directory If It Exists. This Will Allow Some Flexibility Instead Of Using 'page.php' As The Default Template.</li>
+ <li>NEW: WP-Email Will Load 'email-css.css' Inside Your Theme Directory If It Exists. If Not, It Will Just Load The Default 'email-css.css' By WP-Email</li>
+ <li>NEW: Changed CSS Style For Input Field From 'Forms' To 'TextField' And For Buttons From 'Buttons' To 'Button'</li>
+ <li>NEW: Renamed email-js.php To email-js.js and Move The Dynamic Javascript Variables To The PHP Pages</li>
+ <li>NEW: Uses email-js-packed.js</li>
+ <li>NEW: Uses /wp-email/ Folder Instead Of /email/</li>
+ <li>NEW: Uses wp-email.php Instead Of email.php</li>
+ <li>NEW: Uses wp-email-widget.php Instead Of email-widget.php</li>
+ <li>NEW: Changed wp-email.php To email-standalone.php</li>
+ <li>NEW: Changed wp-email-popup.php To email-popup.php</li>
+ <li>NEW: Use number_format_i18n() Instead</li>
+ <li>NEW: Show 'Remarks' In 'WP-Admin -> E-Mail -> E-Mail Logs' Page By Default. See Usage Tab On How To Hide It.</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.20 (01-10-2007)</strong>
+ <ul>
+ <li>NEW: Works For WordPress 2.3 Only</li>
+ <li>NEW: Removed PHPMailer Files From The Zip As It Is Included In WordPress</li>
+ <li>NEW: Ability To Embed [email_link] Into Excerpt</li>
+ <li>NEW: AJAX Used To Email The Post/Page</li>
+ <li>NEW: Most Emailed Widget Added</li>
+ <li>NEW: Ability To Uninstall WP-EMail</li>
+ <li>NEW: Uses WP-Stats Filter To Add Stats Into WP-Stats Page</li>
+ <li>FIXED: Displaying Friend's E-Mail Field Is Compulsory To Prevent Error</li>
+ <li>FIXED: Method Of Storing SMTP Information Updated</li>
+ <li>FIXED: If There Is No Trailing Slash In Your Permalink, WP-Email Will Add It For You</li>
+ <li>FIXED: Use @session_start() Instead To Compress Session Already Started Error</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.11 (01-06-2007)</strong>
+ <ul>
+ <li>NEW: Added Template For Page Title And Page Subtitle In 'WP-Admin -> E-Mail -> E-Mail Options'</li>
+ <li>NEW: Putting [email_link] In Your Post/Page Content Will Display A Link To The E-Mail Post/Page</li>
+ <li>FIXED: Suppress gethostbyaddr() Error</li>
+ <li>FIXED: Duplicate Page Title When Listing Pages With wp_list_pages()</li>
+ <li>FIXED: If page.php Is Not Found, single.php or index.php Will Be Used</li>
+ <li>FIXED: Wrong URL For Page Under Most E-Mailed Posts Listing</li>
+ <li>FIXED: Wrong URL If Front Page Is A Static Page</li>
+ <li>FIXED: Fixed A Minor Grammer Mistake For Remark (Singular)</li>
+ <li>FIXED: Some Text Not Translated</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.10 (01-02-2007)</strong>
+ <ul>
+ <li>NEW: Works For WordPress 2.1 Only</li>
+ <li>NEW: Added Fam Fam Fam's E-Mail Icon</li>
+ <li>NEW: Localize WP-EMail</li>
+ <li>NEW: Ability To Configure The Text For E-Mail Links Via 'WP-Admin -> E-Mail -> E-Mail Options'</li>
+ <li>NEW: Ability To Set E-Mail Link Type (Standalone Page Or Popup Page) Via 'WP-Admin -> E-Mail -> E-Mail Options'</li>
+ <li>NEW: The Text For E-Mail Links Can No Longer Be Pass To The Function email_link(), email_link_image(), email_popup() or email_popup_image().</li>
+ <li>NEW: Ability To Select Which Field You Want To Display In The E-Mail Form</li>
+ <li>FIXED: Name Fields No Longer Check For Validity Due To Localization</li>
+ <li>FIXED: Special HTML Characters No Longer Get Converted Into Its Symbolic Form When Displaying In E-Mail -> E-Mail Options</li>
+ <li>FIXED: Extra ; When Displaying Error Message</li>
+ <li>FIXED: Removed 1 0 I O From The Image Verify To Avoid Confusion</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.07 (01-10-2006)</strong>
+ <ul>
+ <li>NEW: WP-EMail-Popup Now Have Nice Permalinks /emailpopup/ Or /emailpopuppage/</li>
+ <li>NEW: Added rel="nofollow" To All Links Generated By WP-EMail</li>
+ <li>NEW: Added noindex, nofollow To Robots Meta Tag In wp-email-popup.php</li>
+ <li>NEW: Error Messages Will Now Be Displayed Together With The E-Mail Form</li>
+ <li>FIXED: PHP5 Compatibility Issue</li>
+ <li>FIXED: Image Verify Is Now Not Case Sensitive</li>
+ <li>FIXED: Error In Logging Due To Post ID Being Blank</li>
+ <li>FIXED: Form Input Data Will No Longer Be Lost After Encountering An Error</li>
+ <li>FIXED: WP-EMail-Popup Not Working With Other Nice Permalinks</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.06 (01-07-2006)</strong>
+ <ul>
+ <li>FIXED: Modified Get Most Emailed Post Function</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.05 (06-06-2006)</strong>
+ <ul>
+ <li>NEW: Spam Prevention - Image Verification</li>
+ <li>NEW: EMail Administration Panel And The Code That WP-EMail Generated Is XHTML 1.0 Transitional</li>
+ <li>NEW: Added &lt;label&gt; Tag For Form Fields</li>
+ <li>FIXED: Remarks Column Removed From E-Mail Logs Due To Privacy Issue</li>
+ <li>FIXED: Duplicate Subject/Name When Sent Using PHP</li>
+ <li>FIXED: Quotes Not Displaying When Sending In Plain Text</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.04a (01-05-2006)</strong>
+ <ul>
+ <li>FIXED: PHP Mail Not Working Properly (Thanks To Pablo)</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.04 (01-04-2006)</strong>
+ <ul>
+ <li>NEW: Ability To Sent To Multiple EMails (Config Via Admin Panel)l</li>
+ <li>NEW: Added wp-email-popup.php For Using WP-EMail In A Pop Up Windowl</li>
+ <li>NEW: Combined functions-wp-email.php With email.phpl</li>
+ <li>NEW: Moved wp-email.php/wp-email-popup.php To Plugin Folderl</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.03 (01-03-2006)</strong>
+ <ul>
+ <li>NEW: Improved On 'manage_email' Capabilities</li>
+ <li>NEW: Neater Structure</li>
+ <li>NEW: No More Install/Upgrade File, It Will Install/Upgrade When You Activate The Plugin</li>
+ <li>NEW: Added E-Mail Stats Function</li>
+ <li>NEW: Per Page Option In email-manager.php</li>
+ <li>NEW: Added Excerpt As A Template Variable</li>
+ <li>NEW: Added EMail Image With email_link_image()</li>
+ <li>FIXED: Now Paginate Have Sort Options</li>
+ <li>FIXED: Default Mailer Type Is Now PHP</li>
+ <li>FIXED: Charset Is Now UTF-8</li>
+ <li>FIXED: Quotes Not Displaying</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.02 (01-02-2006)</strong>
+ <ul>
+ <li>NEW: Added 'manage_email' Capabilities To Administrator Roles</li>
+ <li>FIXED: Able To View Password Protected Blog</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.01 (01-01-2006)</strong>
+ <ul>
+ <li>NEW: Compatible With WordPress 2.0 Only</li>
+ <li>NEW: EMail A Snippet Of The Post Rather Than The Whole Post. Able To Specify The No. Of Words Before Cutting Off</li>
+ <li>NEW: Spam Prevention - Better Checking Of Names, EMail Addresses And Remarks</li>
+ <li>NEW: Spam Prevention - Able To Specify The No. Of Mins Before User Is Allowed To Send A 2nd Article</li>
+ <li>NEW: GPL License Added</li>
+ <li>NEW: Page Title Added To wp-email.php</li>
+ <li>NEW: Automated Permalink</li>
+ <li>FIXED: Date Not Showing Correctly In EMail Logs</li>
+ <li>FIXED: Friend's Name Is Displayed Instead Of Friend's EMail On The Results Page</li>
+ <li>UPDATE: Moved All The WP-EMail Functions To wp-includes/functions-wp-email.php</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.00b (29-11-2005)</strong>
+ <ul>
+ <li>FIXED: Error In Sending E-Mail With Pages</li>
+ </ul>
+ </li>
+ <li>
+ <strong>Version 2.00a (27-11-2005)</strong>
+ <ul>
+ <li>FIXED: exit(); Missing in wp-email.php</li>
+ </ul>
+ </li>
+ &l