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);
}