prefix . "ecards_settings"; $tbl_post_settings = $wpdb->prefix . "ecards_post_settings"; $serialsettings = $wpdb->get_var("SELECT settings FROM $tbl_post_settings WHERE pid = '$pid'"); // if there are no post settings, use default values if ($serialsettings == null) { $width = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'width'"); $height = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'height'"); $feed = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'feed'"); } else { $settings = unserialize($serialsettings); $width = $settings['width']; $height = $settings['height']; $feed = $settings['feed']; } if ( strpos(get_permalink(), '?') ) { $imageidlink = get_permalink() . "%26imageid="; } else { $imageidlink = get_permalink() . "?imageid="; } $embedcode = '
'; $content = str_replace( '[zp-e-cards]', $embedcode, $content); return $content; } /** * generates the form html code and displays image generated on the flash app, using parameters retrieved from database. * @param int $pid * @return string */ function image_render($pid) { $loc = get_permalink(); $imageid = $_REQUEST['imageid']; global $wpdb; $tbl_settings = $wpdb->prefix . "ecards_settings"; $tbl_emails = $wpdb->prefix . "ecards_emails"; $tbl_post_settings = $wpdb->prefix . "ecards_post_settings"; $serialsettings = $wpdb->get_var("SELECT settings FROM $tbl_post_settings WHERE pid = '$pid'"); // if there are no post settings, use default values if ($serialsettings == null) { $width = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'width'"); $height = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'height'"); $feed = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'feed'"); $domain = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'domain'"); $requirefrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'requirefrom'"); $validatefrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'validatefrom'"); $subject = stripslashes(stripslashes($wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'subject'"))); $message = stripslashes(stripslashes($wpdb->get_var("SELECT value from $tbl_settings WHERE name = 'message'"))); $confirmmessage = stripslashes(stripslashes($wpdb->get_var("SELECT value from $tbl_settings WHERE name = 'confirmmessage'"))); $defaultfrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'from'"); $recipients = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'recipients'"); } else { $settings = unserialize($serialsettings); $width = $settings['width']; $height = $settings['height']; $feed = $settings['feed']; $message = stripslashes(stripslashes($settings['message'])); $confirmmessage = stripslashes(stripslashes($settings['confirmmessage'])); $recipients = $settings['recipients']; $requirefrom = $settings['requirefrom']; $validatefrom = $settings['validatefrom']; $defaultfrom = $settings['from']; $domain = $settings['domain']; $subject = stripslashes(stripslashes($settings['subject'])); } $url = $domain . 'preview/' . $imageid ; $thePage = getFile( $url, false ) ; // get the image from zetaprints server // save the image under the preview folder $fp = fopen('wp-content/plugins/zpecards/preview/' . $imageid, 'w'); fwrite($fp, $thePage); fclose($fp); ob_start(); ?>

Your ECard

'; ?>
prefix . "ecards_settings"; $tbl_emails = $wpdb->prefix . "ecards_emails"; $tbl_post_settings = $wpdb->prefix . "ecards_post_settings"; $serialsettings = $wpdb->get_var("SELECT settings from $tbl_post_settings WHERE pid = '$pid'"); // if there are no post settings, use default values if ($serialsettings == null) { $width = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'width'"); $height = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'height'"); $feed = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'feed'"); $domain = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'domain'"); $requirefrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'requirefrom'"); $validatefrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'validatefrom'"); $subject = stripslashes(stripslashes($wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'subject'"))); $message = stripslashes(stripslashes($wpdb->get_var("SELECT value from $tbl_settings WHERE name = 'message'"))); $confirmmessage = stripslashes(stripslashes($wpdb->get_var("SELECT value from $tbl_settings WHERE name = 'confirmmessage'"))); $defaultfrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'from'"); $recipients = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'recipients'"); } else { $settings = unserialize($serialsettings); $width = $settings['width']; $height = $settings['height']; $feed = $settings['feed']; $message = stripslashes(stripslashes($settings['message'])); $confirmmessage = stripslashes(stripslashes($settings['confirmmessage'])); $recipients = $settings['recipients']; $requirefrom = $settings['requirefrom']; $validatefrom = $settings['validatefrom']; $defaultfrom = $settings['from']; $domain = $settings['domain']; $subject = stripslashes(stripslashes($settings['subject'])); } // send the email with parameters retrieved from database and the image as attachment $id = $_REQUEST['confirm']; $emailfrom = $wpdb->get_var("SELECT emailfrom from $tbl_emails WHERE link = '$id'"); $emailto = $wpdb->get_var("SELECT emailto from $tbl_emails WHERE link = '$id'"); $imageid = $wpdb->get_var("SELECT image from $tbl_emails WHERE link = '$id'"); $file = 'wp-content/plugins/zpecards/preview/' . $imageid ; require('class.phpmailer.php'); $mail = new PHPMailer(); $mail->From = $emailfrom; $mail->FromName = $emailfrom; $mail->AddAddress($emailto); $mail->AddReplyTo($emailfrom); $mail->WordWrap = 50; $mail->AddAttachment($file, 'e-card.jpg', 'base64', 'image/jpeg'); $mail->Subject = $subject; $mail->Body = $message ; $mail->Send(); return '

An email with your ECard has been sent.

'; } /** * get the image from the zetaprint server. * @param string $url * @param bool $showHeader * @return mixed */ function getFile( $url, $showHeader ) { $ch = curl_init ($url); curl_setopt($ch, CURLOPT_POST, false); if ($showHeader === true) { curl_setopt($ch, CURLOPT_HEADER, 1); } else { curl_setopt($ch, CURLOPT_HEADER, 0); } curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); return curl_exec ($ch); } /** * AJAX call to get the image and send the email. * @return string */ function ajaxResponse() { global $wpdb; $pid = $_POST['pid']; $tbl_settings = $wpdb->prefix . "ecards_settings"; $tbl_emails = $wpdb->prefix . "ecards_emails"; $tbl_post_settings = $wpdb->prefix . "ecards_post_settings"; $serialsettings = $wpdb->get_var("SELECT settings FROM $tbl_post_settings WHERE pid = '$pid'"); $loc = $_POST['loc']; $imageid = $_POST['imageid']; if ($serialsettings == null) { $width = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'width'"); $height = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'height'"); $feed = $wpdb->get_var( "SELECT value FROM $tbl_settings WHERE name = 'feed'"); $domain = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'domain'"); $requirefrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'requirefrom'"); $validatefrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'validatefrom'"); $subject = stripslashes(stripslashes($wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'subject'"))); $message = stripslashes(stripslashes($wpdb->get_var("SELECT value from $tbl_settings WHERE name = 'message'"))); $confirmmessage = stripslashes(stripslashes($wpdb->get_var("SELECT value from $tbl_settings WHERE name = 'confirmmessage'"))); $defaultfrom = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'from'"); $recipients = $wpdb->get_var("SELECT value FROM $tbl_settings WHERE name = 'recipients'"); } else { $settings = unserialize($serialsettings); $width = $settings['width']; $height = $settings['height']; $feed = $settings['feed']; $message = stripslashes(stripslashes($settings['message'])); $confirmmessage = stripslashes(stripslashes($settings['confirmmessage'])); $recipients = $settings['recipients']; $requirefrom = $settings['requirefrom']; $validatefrom = $settings['validatefrom']; $defaultfrom = $settings['from']; $domain = $settings['domain']; $subject = stripslashes(stripslashes($settings['subject'])); } $url = $domain . 'preview/' . $imageid ; $thePage = getFile( $url, false ) ; // get the image from zetaprints server // save the image under the preview folder $fp = fopen( dirname(__FILE__) . '/preview/' . $imageid, 'w'); fwrite($fp, $thePage); fclose($fp); // send the email with parameters retrieved from database $emailto = $_POST['emailto']; if ($requirefrom == "on") { $emailfrom = $_POST['emailfrom']; } else { $emailfrom = $defaultfrom; } if ( is_email($emailto) === false ) { $emailtoerror = true; } else { $emailtoerror = false; } if ( is_email($emailfrom) === false ) { $emailfromerror = true; } else { $emailfromerror = false; } if ($emailtoerror === false && $emailfromerror === false) { require('class.phpmailer.php'); $mail = new PHPMailer(); // if validate from is required send an email with the link to confirm to sender // otherwise send an email with the attachment to addressee if ($validatefrom == "on") { $mail->From = $defaultfrom; $mail->FromName = $defaultfrom; $mail->AddReplyTo($defaultfrom); $md5time = md5(time()); $results = $wpdb->query( "INSERT INTO " . $tbl_emails . " ( link, emailfrom, emailto, image ) VALUES ( '" . $md5time . "', '" . $emailfrom . "', '" . $emailto . "', '" . $imageid . "')" ); if ( strpos($loc, '?') ) { $message = "Did you send an e-card through our website? We'll send it as soon as you confirm your email address by clicking on this link.\r\n\r\n" . $loc . "&confirm=" . $md5time; } else { $message = "Did you send an e-card through our website? We'll send it as soon as you confirm your email address by clicking on this link.\r\n\r\n" . $loc . "?confirm=" . $md5time; } $jsdata = '2'; } else { $mail->From = $emailfrom; $mail->FromName = $emailfrom; $mail->AddReplyTo($emailfrom); $file = dirname(__FILE__) . '/preview/' . $imageid ; $mail->AddAttachment($file, 'e-card.jpg', 'base64', 'image/jpeg'); $jsdata = '1'; } if ($validatefrom == "on") { $mail->AddAddress($emailfrom); } else { $mail->AddAddress($emailto); } $mail->WordWrap = 50; $mail->Subject = $subject; $mail->Body = $message; $res = $mail->Send(); if ($res != 'true') { $result['status'] = "fail"; $jsdata = ''; } else { $result['status'] = "ok"; } } echo $jsdata; } function getTemplate($post, $url, $showHeader) { $ch = curl_init ($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); if ($showHeader === true) { curl_setopt($ch, CURLOPT_HEADER, 1); } else { curl_setopt($ch, CURLOPT_HEADER, 0); } curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); return curl_exec ($ch); }