public static function es_synctables() { $es_c_email_subscribers_ver = get_option('email-subscribers'); if ($es_c_email_subscribers_ver != "2.9") { global $wpdb; // loading the sql file, load it and separate the queries $sql_file = ES_DIR . 'sql' . DS . 'es-createdb.sql'; $prefix = $wpdb->prefix; $handle = fopen($sql_file, 'r'); $query = fread($handle, filesize($sql_file)); fclose($handle); $query = str_replace('CREATE TABLE IF NOT EXISTS ', 'CREATE TABLE ' . $prefix, $query); $query = str_replace('ENGINE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci*/', '', $query); $queries = explode('-- SQLQUERY ---', $query); // includes db upgrade file require_once ABSPATH . 'wp-admin/includes/upgrade.php'; // run the queries one by one foreach ($queries as $sSql) { dbDelta($sSql); } $guid = es_cls_common::es_generate_guid(60); $home_url = home_url('/'); $cronurl = $home_url . "?es=cron&guid=" . $guid; add_option('es_c_cronurl', $cronurl); add_option('es_cron_mailcount', "50"); add_option('es_cron_adminmail', "Hi Admin, \r\n\r\nCron URL has been triggered successfully on ###DATE### for the mail ###SUBJECT###. And it sent mail to ###COUNT### recipient. \r\n\r\nThank You"); update_option('email-subscribers', "2.9"); } }
public static function es_group_ins($data = array(), $action = "insert") { global $wpdb; $prefix = $wpdb->prefix; $guid = es_cls_common::es_generate_guid(60); if ($action == "insert") { $sSql = $wpdb->prepare("INSERT INTO `" . $prefix . "es_group` (`es_group_name`,\r\r\n\t\t\t`es_group_status`, `es_group_type`, `es_group_guid`) VALUES(%s, %s, %s, %s)", array($data["es_group_name"], $data["es_group_status"], $data["es_group_type"], $guid)); } elseif ($action == "update") { $sSql = $wpdb->prepare("UPDATE `" . $prefix . "es_group` SET `es_group_name` = %s, `es_group_status` = %s, `es_group_type` = %s \r\r\n\t\t\t WHERE es_group_id = %d\tLIMIT 1", array($data["es_group_name"], $data["es_group_status"], $data["es_group_type"], $data["es_group_id"])); } echo $sSql; $wpdb->query($sSql); return true; }
public static function es_view_subscriber_ins($data = array(), $action = "insert") { global $wpdb; $prefix = $wpdb->prefix; $result = 0; if (!filter_var($data["es_email_mail"], FILTER_VALIDATE_EMAIL)) { return "invalid"; } $CurrentDate = date('Y-m-d G:i:s'); if ($action == "insert") { $sSql = "SELECT * FROM `" . $prefix . "es_emaillist` where es_email_mail='" . $data["es_email_mail"] . "' and es_email_group='" . trim($data["es_email_group"]) . "'"; $result = $wpdb->get_var($sSql); if ($result > 0) { return "ext"; } else { $guid = es_cls_common::es_generate_guid(60); $sql = $wpdb->prepare("INSERT INTO `" . $prefix . "es_emaillist` \n\t\t\t\t\t\t(`es_email_name`,`es_email_mail`, `es_email_status`, `es_email_created`, `es_email_viewcount`, `es_email_group`, `es_email_guid`)\n\t\t\t\t\t\tVALUES(%s, %s, %s, %s, %d, %s, %s)", array(trim($data["es_email_name"]), trim($data["es_email_mail"]), trim($data["es_email_status"]), $CurrentDate, 0, trim($data["es_email_group"]), $guid)); $wpdb->query($sql); return "sus"; } } elseif ($action == "update") { $sSql = "SELECT * FROM `" . $prefix . "es_emaillist` where es_email_mail='" . $data["es_email_mail"] . "'"; $sSql = $sSql . " and es_email_group='" . trim($data["es_email_group"]) . "' and es_email_id <> " . $data["es_email_id"]; $result = $wpdb->get_var($sSql); if ($result > 0) { return "ext"; } else { //$sSql = $wpdb->prepare("UPDATE `".$prefix."es_emaillist` SET `es_email_name` = %s, `es_email_mail` = %s, // `es_email_status` = %s, `es_email_group` = %s WHERE es_email_mail = %s LIMIT 10", array($data["es_email_name"], $data["es_email_mail"], // $data["es_email_status"], $data["es_email_group"], $data["es_email_mail"])); //$wpdb->query($sSql); //return "sus"; $sSql = $wpdb->prepare("UPDATE `" . $prefix . "es_emaillist` SET `es_email_name` = %s, `es_email_mail` = %s,\n\t\t\t\t\t\t`es_email_status` = %s, `es_email_group` = %s WHERE es_email_id = %d LIMIT 1", array($data["es_email_name"], $data["es_email_mail"], $data["es_email_status"], $data["es_email_group"], $data["es_email_id"])); $wpdb->query($sSql); return "sus"; } } }
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); } } } }
$es_cron_mailcount = isset($_POST['es_cron_mailcount']) ? $_POST['es_cron_mailcount'] : ''; if ($es_cron_mailcount == "0" && strlen($es_cron_mailcount) > 0) { $es_errors[] = __('Please enter valid mail count.', 'email-subscribers'); $es_error_found = TRUE; } $es_cron_adminmail = isset($_POST['es_cron_adminmail']) ? $_POST['es_cron_adminmail'] : ''; // No errors found, we can add this Group to the table if ($es_error_found == FALSE) { update_option('es_cron_mailcount', $es_cron_mailcount); update_option('es_cron_adminmail', $es_cron_adminmail); $es_success = __('Cron details successfully updated.', 'email-subscribers'); } } $es_cron_url = get_option('es_c_cronurl', 'nocronurl'); if ($es_cron_url == "nocronurl") { $guid = es_cls_common::es_generate_guid(60); $home_url = home_url('/'); $cronurl = $home_url . "?es=cron&guid=" . $guid; add_option('es_c_cronurl', $cronurl); $es_cron_url = get_option('es_c_cronurl'); } $es_cron_mailcount = get_option('es_cron_mailcount', '0'); if ($es_cron_mailcount == "0") { add_option('es_cron_mailcount', "50"); $es_cron_mailcount = get_option('es_cron_mailcount'); } $es_cron_adminmail = get_option('es_cron_adminmail', ''); if ($es_cron_adminmail == "") { add_option('es_cron_adminmail', "Hi Admin, \r\n\r\nCron URL has been triggered successfully on ###DATE### for the mail ###SUBJECT###. And it sent mail to ###COUNT### recipient. \r\n\r\nThank You"); $es_cron_adminmail = get_option('es_cron_adminmail'); }