public static function es_optimize_setdetails()
 {
     global $wpdb;
     $prefix = $wpdb->prefix;
     $total = es_cls_sentmail::es_sentmail_count($id = 0);
     if ($total > 10) {
         $delete = $total - 10;
         $sSql = "DELETE FROM `" . $prefix . "es_sentdetails` ORDER BY es_sent_id ASC LIMIT " . $delete;
         $wpdb->query($sSql);
     }
     $sSql = "DELETE FROM `" . $prefix . "es_deliverreport` WHERE es_deliver_sentguid NOT IN";
     $sSql = $sSql . " (SELECT es_sent_guid FROM `" . $prefix . "es_sentdetails`)";
     $wpdb->query($sSql);
     return true;
 }
Esempio n. 2
0
 public static function es_sentmail_delete($id = 0)
 {
     global $wpdb;
     $prefix = $wpdb->prefix;
     $Sentdetails = array();
     $Sentdetails = es_cls_sentmail::es_sentmail_select($id, 0, 1);
     if (count($Sentdetails) > 0) {
         $es_deliver_sentguid = $Sentdetails['es_sent_guid'];
         if ($es_deliver_sentguid != "") {
             $sSql = $wpdb->prepare("DELETE FROM `" . $prefix . "es_deliverreport` WHERE `es_deliver_sentguid` = %s", $es_deliver_sentguid);
             $wpdb->query($sSql);
         }
         $sSql = $wpdb->prepare("DELETE FROM `" . $prefix . "es_sentdetails` WHERE `es_sent_id` = %d LIMIT 1", $id);
         $wpdb->query($sSql);
     }
     return true;
 }
Esempio n. 3
0
 public static function es_sendmail($type = "", $template = 0, $subscribers = array(), $action = "", $post_id = 0)
 {
     $data = array();
     $htmlmail = true;
     $wpmail = true;
     $unsublink = "";
     $unsubtext = "";
     $sendguid = "";
     $viewstatus = "";
     $viewstslink = "";
     $adminmail = "";
     $adminmailsubject = "";
     $adminmailcontant = "";
     $reportmail = "";
     $currentdate = date('Y-m-d G:i:s');
     $cacheid = es_cls_common::es_generate_guid(100);
     $replacefrom = array("<ul><br />", "</ul><br />", "<li><br />", "</li><br />", "<ol><br />", "</ol><br />", "</h2><br />", "</h1><br />");
     $replaceto = array("<ul>", "</ul>", "<li>", "</li>", "<ol>", "</ol>", "</h2>", "</h1>");
     $settings = es_cls_settings::es_setting_select(1);
     $adminmail = $settings['es_c_adminemail'];
     $es_c_adminmailoption = $settings['es_c_adminmailoption'];
     $es_c_usermailoption = $settings['es_c_usermailoption'];
     if (trim($settings['es_c_fromname']) == "" || trim($settings['es_c_fromemail']) == '') {
         get_currentuserinfo();
         $sender_name = $user_login;
         $sender_email = $user_email;
     } else {
         $sender_name = $settings['es_c_fromname'];
         $sender_email = $settings['es_c_fromemail'];
     }
     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
         $htmlmail = true;
     } else {
         $htmlmail = false;
     }
     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "WP PLAINTEXT MAIL") {
         $wpmail = true;
     } else {
         $wpmail = false;
     }
     $headers = "From: \"{$sender_name}\" <{$sender_email}>\n";
     $headers .= "Return-Path: <" . $sender_email . ">\n";
     $headers .= "Reply-To: \"" . $sender_name . "\" <" . $sender_email . ">\n";
     $headers .= "X-Mailer: PHP" . phpversion() . "\n";
     if ($htmlmail) {
         $headers .= "MIME-Version: 1.0\n";
         $headers .= "Content-Type: " . get_bloginfo('html_type') . "; charset=\"" . get_bloginfo('charset') . "\"\n";
         $headers .= "Content-type: text/html\r\n";
     } else {
         $headers .= "MIME-Version: 1.0\n";
         $headers .= "Content-Type: text/plain; charset=\"" . get_bloginfo('charset') . "\"\n";
     }
     switch ($type) {
         case 'optin':
             $subject = stripslashes($settings['es_c_optinsubject']);
             $content = stripslashes($settings['es_c_optincontent']);
             break;
         case 'welcome':
             $subject = stripslashes($settings['es_c_usermailsubject']);
             $content = stripslashes($settings['es_c_usermailcontant']);
             break;
         case 'newsletter':
             $template = es_cls_compose::es_template_select($template);
             $subject = stripslashes($template['es_templ_heading']);
             $content = stripslashes($template['es_templ_body']);
             break;
         case 'notification':
             $template = es_cls_compose::es_template_select($template);
             $subject = stripslashes($template['es_templ_heading']);
             $content = stripslashes($template['es_templ_body']);
             $post_title = "";
             $post_excerpt = "";
             $post_link = "";
             $post_thumbnail = "";
             $post_thumbnail_link = "";
             $post = get_post($post_id);
             $excerpt_length = 50;
             // Change this value to increase the content length in newsletter.
             $post_title = $post->post_title;
             $subject = str_replace('###POSTTITLE###', $post_title, $subject);
             $post_link = get_permalink($post_id);
             $subject = str_replace('###POSTLINK###', $post_link, $subject);
             $post_date = $post->post_modified;
             // Get full post
             $post_full = $post->post_content;
             $post_full = wpautop($post_full);
             // Get post excerpt
             $the_excerpt = $post->post_content;
             $the_excerpt = strip_tags(strip_shortcodes($the_excerpt));
             $words = explode(' ', $the_excerpt, $excerpt_length + 1);
             if (count($words) > $excerpt_length) {
                 array_pop($words);
                 array_push($words, '...');
                 $the_excerpt = implode(' ', $words);
             }
             if (function_exists('has_post_thumbnail') && has_post_thumbnail($post_id)) {
                 $post_thumbnail = get_the_post_thumbnail($post_id, 'thumbnail');
             }
             if ($post_thumbnail != "") {
                 $post_thumbnail_link = "<a href='" . $post_link . "' target='_blank'>" . $post_thumbnail . "</a>";
             }
             $content = str_replace('###POSTLINK-ONLY###', $post_link, $content);
             if ($post_link != "") {
                 $post_link_with_title = "<a href='" . $post_link . "' target='_blank'>" . $post_title . "</a>";
                 $content = str_replace('###POSTLINK-WITHTITLE###', $post_link_with_title, $content);
                 $post_link = "<a href='" . $post_link . "' target='_blank'>" . $post_link . "</a>";
             }
             $content = str_replace('###POSTTITLE###', $post_title, $content);
             $content = str_replace('###POSTLINK###', $post_link, $content);
             $content = str_replace('###POSTIMAGE###', $post_thumbnail_link, $content);
             $content = str_replace('###POSTDESC###', $the_excerpt, $content);
             $content = str_replace('###POSTFULL###', $post_full, $content);
             $content = str_replace('###DATE###', $post_date, $content);
             break;
     }
     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
         $content = str_replace("\r\n", "<br />", $content);
     } else {
         $content = str_replace("<br />", "\r\n", $content);
     }
     if ($type == "newsletter" || $type == "notification") {
         $sendguid = es_cls_common::es_generate_guid(60);
         $url = home_url('/');
         $viewstatus = '<img src="' . $url . '?es=viewstatus&delvid=###DELVIID###" width="1" height="1" />';
         es_cls_sentmail::es_sentmail_ins($sendguid, $qstring = 0, $action, $currentdate, $enddt = "", count($subscribers), $content);
     }
     $count = 1;
     if (count($subscribers) > 0) {
         foreach ($subscribers as $subscriber) {
             $to = $subscriber['es_email_mail'];
             $name = $subscriber['es_email_name'];
             if ($name == "") {
                 $name = $to;
             }
             switch ($type) {
                 case 'optin':
                     $content_send = str_replace("###NAME###", $name, $content);
                     $content_send = str_replace("###EMAIL###", $to, $content_send);
                     $optinlink = $settings['es_c_optinlink'];
                     $optinlink = str_replace("###DBID###", $subscriber["es_email_id"], $optinlink);
                     $optinlink = str_replace("###EMAIL###", $subscriber["es_email_mail"], $optinlink);
                     $optinlink = str_replace("###GUID###", $subscriber["es_email_guid"], $optinlink);
                     $optinlink = $optinlink . "&cache=" . $cacheid;
                     $content_send = str_replace("###LINK###", $optinlink, $content_send);
                     break;
                 case 'welcome':
                     $content_send = str_replace("###NAME###", $name, $content);
                     $content_send = str_replace("###EMAIL###", $to, $content_send);
                     $adminmailsubject = stripslashes($settings['es_c_adminmailsubject']);
                     $adminmailcontant = stripslashes($settings['es_c_adminmailcontant']);
                     $adminmailcontant = str_replace("###NAME###", $name, $adminmailcontant);
                     $adminmailcontant = str_replace("###EMAIL###", $to, $adminmailcontant);
                     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
                         $adminmailcontant = nl2br($adminmailcontant);
                         $content_send = str_replace($replacefrom, $replaceto, $content_send);
                     } else {
                         $adminmailcontant = str_replace("<br />", "\r\n", $adminmailcontant);
                         $adminmailcontant = str_replace("<br>", "\r\n", $adminmailcontant);
                     }
                     break;
                 case 'newsletter':
                     $unsublink = $settings['es_c_unsublink'];
                     $unsublink = str_replace("###DBID###", $subscriber["es_email_id"], $unsublink);
                     $unsublink = str_replace("###EMAIL###", $subscriber["es_email_mail"], $unsublink);
                     $unsublink = str_replace("###GUID###", $subscriber["es_email_guid"], $unsublink);
                     $unsublink = $unsublink . "&cache=" . $cacheid;
                     $unsubtext = stripslashes($settings['es_c_unsubtext']);
                     $unsubtext = str_replace("###LINK###", $unsublink, $unsubtext);
                     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
                         $unsubtext = '<br><br>' . $unsubtext;
                     } else {
                         $unsubtext = '\\n\\n' . $unsubtext;
                     }
                     $returnid = es_cls_delivery::es_delivery_ins($sendguid, $subscriber["es_email_id"], $subscriber["es_email_mail"]);
                     $viewstslink = str_replace("###DELVIID###", $returnid, $viewstatus);
                     $content_send = str_replace("###EMAIL###", $subscriber["es_email_mail"], $content);
                     $content_send = str_replace("###NAME###", $subscriber["es_email_name"], $content_send);
                     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
                         $content_send = nl2br($content_send);
                         $content_send = str_replace($replacefrom, $replaceto, $content_send);
                     } else {
                         $content_send = str_replace("<br />", "\r\n", $content_send);
                         $content_send = str_replace("<br>", "\r\n", $content_send);
                     }
                     break;
                 case 'notification':
                     // notification mail to subscribers
                     $unsublink = $settings['es_c_unsublink'];
                     $unsublink = str_replace("###DBID###", $subscriber["es_email_id"], $unsublink);
                     $unsublink = str_replace("###EMAIL###", $subscriber["es_email_mail"], $unsublink);
                     $unsublink = str_replace("###GUID###", $subscriber["es_email_guid"], $unsublink);
                     $unsublink = $unsublink . "&cache=" . $cacheid;
                     $unsubtext = stripslashes($settings['es_c_unsubtext']);
                     $unsubtext = str_replace("###LINK###", $unsublink, $unsubtext);
                     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
                         $unsubtext = '<br><br>' . $unsubtext;
                     } else {
                         $unsubtext = '\\n\\n' . $unsubtext;
                     }
                     $returnid = es_cls_delivery::es_delivery_ins($sendguid, $subscriber["es_email_id"], $subscriber["es_email_mail"]);
                     $viewstslink = str_replace("###DELVIID###", $returnid, $viewstatus);
                     $content_send = str_replace("###EMAIL###", $subscriber["es_email_mail"], $content);
                     $content_send = str_replace("###NAME###", $subscriber["es_email_name"], $content_send);
                     if ($settings['es_c_mailtype'] == "WP HTML MAIL" || $settings['es_c_mailtype'] == "PHP HTML MAIL") {
                         $content_send = nl2br($content_send);
                         $content_send = str_replace($replacefrom, $replaceto, $content_send);
                     } else {
                         $content_send = str_replace("<br />", "\r\n", $content_send);
                         $content_send = str_replace("<br>", "\r\n", $content_send);
                     }
                     break;
             }
             if ($wpmail) {
                 // Users mails
                 if ($type == "welcome") {
                     if ($es_c_usermailoption == "YES") {
                         wp_mail($to, $subject, $content_send . $unsubtext . $viewstslink, $headers);
                     }
                 } else {
                     wp_mail($to, $subject, $content_send . $unsubtext . $viewstslink, $headers);
                 }
                 // Admin mails
                 if ($type == "welcome" && $adminmail != "" && $es_c_adminmailoption == "YES") {
                     wp_mail($adminmail, $adminmailsubject, $adminmailcontant, $headers);
                 }
             } else {
                 // Users mails
                 if ($type == "welcome") {
                     if ($es_c_usermailoption == "YES") {
                         mail($to, $subject, $content_send . $unsubtext . $viewstslink, $headers);
                     }
                 } else {
                     mail($to, $subject, $content_send . $unsubtext . $viewstslink, $headers);
                 }
                 // Admin mails
                 if ($type == "welcome" && $adminmail != "" && $es_c_adminmailoption == "YES") {
                     mail($adminmail, $adminmailsubject, $adminmailcontant, $headers);
                 }
             }
             $count = $count + 1;
         }
     }
     if ($type == "newsletter" || $type == "notification") {
         $count = $count - 1;
         es_cls_sentmail::es_sentmail_ups($sendguid);
         if ($adminmail != "") {
             $subject = get_option('es_c_sentreport_subject', 'nosubjectexists');
             if ($subject == "" || $subject == "nosubjectexists") {
                 $subject = es_cls_common::es_sent_report_subject();
             }
             if ($htmlmail) {
                 $reportmail = get_option('es_c_sentreport', 'nooptionexists');
                 if ($reportmail == "" || $reportmail == "nooptionexists") {
                     $reportmail = es_cls_common::es_sent_report_html();
                 }
                 $reportmail = nl2br($reportmail);
             } else {
                 $reportmail = get_option('es_c_sentreport', 'nooptionexists');
                 if ($reportmail == "" || $reportmail == "nooptionexists") {
                     $reportmail = es_cls_common::es_sent_report_plain();
                 }
                 $reportmail = str_replace("<br />", "\r\n", $reportmail);
                 $reportmail = str_replace("<br>", "\r\n", $reportmail);
             }
             $enddate = date('Y-m-d G:i:s');
             $reportmail = str_replace("###COUNT###", $count, $reportmail);
             $reportmail = str_replace("###UNIQUE###", $sendguid, $reportmail);
             $reportmail = str_replace("###STARTTIME###", $currentdate, $reportmail);
             $reportmail = str_replace("###ENDTIME###", $enddate, $reportmail);
             if ($wpmail) {
                 wp_mail($adminmail, $subject, $reportmail, $headers);
             } else {
                 mail($adminmail, $subject, $reportmail, $headers);
             }
         }
     }
 }
template/template.js"></script>
<div class="wrap">
  <div id="icon-plugins" class="icon32"></div>
    <h2><?php 
_e(ES_PLUGIN_DISPLAY, 'email-subscribers');
?>
</h2>
	<h3><?php 
_e('Preview Mail', 'email-subscribers');
?>
</h3>
    <div class="tool-box">
	<div style="padding:15px;background-color:#FFFFFF;">
	<?php 
$preview = array();
$preview = es_cls_sentmail::es_sentmail_select($did, 0, 0);
$preview = str_replace('###NAME###', "Username", $preview);
$preview = str_replace('###EMAIL###', "Useremail", $preview);
echo stripslashes($preview['es_sent_preview']);
?>
	</div>
	<div class="tablenav">
	  <h2>
		<a class="button add-new-h2" href="<?php 
echo ES_ADMINURL;
?>
?page=es-sentmail&pagenum=<?php 
echo $pagenum;
?>
"><?php 
_e('Back', 'email-subscribers');
</h2>
	<h3><?php 
_e('Sent Mails', 'email-subscribers');
?>
</h3>
    <div class="tool-box">
	<?php 
$pagenum = isset($_GET['pagenum']) ? absint($_GET['pagenum']) : 1;
es_cls_security::es_check_number($pagenum);
$limit = 30;
$offset = ($pagenum - 1) * $limit;
$total = es_cls_sentmail::es_sentmail_count(0);
$fulltotal = $total;
$total = ceil($total / $limit);
$myData = array();
$myData = es_cls_sentmail::es_sentmail_select(0, $offset, $limit);
?>
	<form name="frm_es_display" method="post" onsubmit="return _es_bulkaction()">
      <table width="100%" class="widefat" id="straymanage">
        <thead>
          <tr>
			<th scope="col"><?php 
_e('View Reports', 'email-subscribers');
?>
</th>
			<th scope="col"><?php 
_e('Preview', 'email-subscribers');
?>
</th>
			<th scope="col"><?php 
_e('Source', 'email-subscribers');
Esempio n. 6
0
        if ($es_c_cronguid != "") {
            $security1 = strlen($es_c_cronguid);
            $es_c_cronguid_noslash = str_replace("-", "", $es_c_cronguid);
            $security2 = strlen($es_c_cronguid_noslash);
            if ($security1 == 34 && $security2 == 30) {
                if (!preg_match('/[^a-z]/', $es_c_cronguid_noslash)) {
                    $es_c_cronurl = get_option('es_c_cronurl');
                    $es_c_croncount = get_option('es_cron_mailcount');
                    parse_str($es_c_cronurl, $output);
                    if ($es_c_cronguid == $output['guid']) {
                        if (!is_numeric($es_c_croncount)) {
                            $es_c_croncount = 50;
                        }
                        $cronmailqueue = es_cls_sentmail::es_sentmail_cronmail_inqueue();
                        if (count($cronmailqueue) > 0) {
                            $crondeliveryqueue = es_cls_delivery::es_delivery_cronmail_inqueue($es_c_croncount, $cronmailqueue[0]['es_sent_guid']);
                            if (count($crondeliveryqueue) > 0) {
                                es_cls_sendmail::es_prepare_send_cronmail($cronmailqueue, $crondeliveryqueue);
                            }
                            $cronmailqueuecnt = es_cls_delivery::es_delivery_cronmail_count($cronmailqueue[0]['es_sent_guid']);
                            if ($cronmailqueuecnt == 0) {
                                es_cls_sentmail::es_sentmail_cronmail_ups($cronmailqueue[0]['es_sent_guid']);
                            }
                        }
                    }
                }
            }
        }
    }
}
die;