$did = isset($_GET['did']) ? $_GET['did'] : '0';
es_cls_security::es_check_number($did);
// First check if ID exist with requested ID
$result = es_cls_compose::es_template_count($did);
if ($result != '1') {
    ?>
<div class="error fade"><p><strong><?php 
    _e('Oops, selected details doesnt exist.', 'email-subscribers');
    ?>
</strong></p></div><?php 
} else {
    $es_errors = array();
    $es_success = '';
    $es_error_found = FALSE;
    $data = array();
    $data = es_cls_compose::es_template_select($did);
    // Preset the form fields
    $form = array('es_templ_id' => $data['es_templ_id'], 'es_templ_heading' => stripslashes($data['es_templ_heading']), 'es_templ_body' => stripslashes($data['es_templ_body']), 'es_templ_status' => $data['es_templ_status'], 'es_email_type' => $data['es_email_type']);
}
// Form submitted, check the data
if (isset($_POST['es_form_submit']) && $_POST['es_form_submit'] == 'yes') {
    //	Just security thingy that wordpress offers us
    check_admin_referer('es_form_edit');
    $form['es_templ_heading'] = isset($_POST['es_templ_heading']) ? $_POST['es_templ_heading'] : '';
    if ($form['es_templ_heading'] == '') {
        $es_errors[] = __('Please enter template heading.', 'email-subscribers');
        $es_error_found = TRUE;
    }
    $form['es_templ_body'] = isset($_POST['es_templ_body']) ? $_POST['es_templ_body'] : '';
    $form['es_templ_status'] = isset($_POST['es_templ_status']) ? $_POST['es_templ_status'] : '';
    $form['es_email_type'] = isset($_POST['es_email_type']) ? $_POST['es_email_type'] : '';
Beispiel #2
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);
             }
         }
     }
 }
$displayisthere = FALSE;
if (count($myData) > 0) {
    $i = 1;
    foreach ($myData as $data) {
        ?>
					<tr class="<?php 
        if ($i & 1) {
            echo 'alternate';
        } else {
            echo '';
        }
        ?>
">
					  	<td>
						<?php 
        $template = es_cls_compose::es_template_select($data['es_note_templ']);
        if (count($template) > 0) {
            echo $template['es_templ_heading'];
        }
        ?>
						<div class="row-actions">
							<span class="edit">
							<a title="Edit" href="<?php 
        echo ES_ADMINURL;
        ?>
?page=es-notification&amp;ac=edit&amp;did=<?php 
        echo $data['es_note_id'];
        ?>
"><?php 
        _e('Edit', 'email-subscribers');
        ?>
</h2>
	<h3><?php 
_e('Compose Mail', 'email-subscribers');
?>
  
	<a class="add-new-h2" href="<?php 
echo ES_ADMINURL;
?>
?page=es-compose&amp;ac=add"><?php 
_e('Add New', 'email-subscribers');
?>
</a></h3>
    <div class="tool-box">
	<?php 
$myData = array();
$myData = es_cls_compose::es_template_select(0);
?>
	<form name="frm_es_display" method="post">
      <table width="100%" class="widefat" id="straymanage">
        <thead>
          <tr>
			<th scope="col"><?php 
_e('Email subject', 'email-subscribers');
?>
</th>
			<th scope="col"><?php 
_e('Status', 'email-subscribers');
?>
</th>
            <th scope="col"><?php 
_e('Type', 'email-subscribers');
Beispiel #5
0
?>
compose/compose.js"></script>
<div class="wrap">
  <div id="icon-plugins" class="icon32"></div>
    <h2><?php 
_e(ES_PLUGIN_DISPLAY, ES_TDOMAIN);
?>
</h2>
	<h3><?php 
_e('Preview Mail', ES_TDOMAIN);
?>
</h3>
    <div class="tool-box">
	<div style="padding:15px;background-color:#FFFFFF;">
	<?php 
$preview = es_cls_compose::es_template_select($did);
$es_templ_body = $preview["es_templ_body"];
$es_templ_body = nl2br($es_templ_body);
echo stripslashes($es_templ_body);
?>
	</div>
	<div class="tablenav">
	  <h2>
		<a class="button add-new-h2" href="<?php 
echo ES_ADMINURL;
?>
?page=es-compose"><?php 
_e('Back', ES_TDOMAIN);
?>
</a>
		<a class="button add-new-h2" href="<?php