/** * Ajax function to send mail. * * @since 1.0.0 */ public function us_send_mail() { if (wp_verify_nonce($_POST['nonce'], 'us_nonce')) { $url = $_POST['url'] ? $_POST['url'] : ''; $your_name = $_POST['your_name'] ? $_POST['your_name'] : ''; $your_email = $_POST['your_email'] ? $_POST['your_email'] : ''; $recipient_email = $_POST['recipient_email'] ? $_POST['recipient_email'] : ''; $subject = UltimateSocialDeux::mail_replace_vars(UltimateSocialDeux::opt('us_mail_subject', __('A visitor of', 'ultimate-social-deux') . ' ' . '{site_title}' . ' ' . __('shared', 'ultimate-social-deux') . ' ' . '{post_title}' . ' ' . __('with you.', 'ultimate-social-deux')), $url, $your_name, $your_email); $message = $_POST['message'] ? $_POST['message'] : ''; $captcha = $_POST['captcha'] ? $_POST['captcha'] : ''; $captcha_answer = UltimateSocialDeux::opt('us_mail_captcha_answer', 9); $captcha_enable = UltimateSocialDeux::opt('us_mail_captcha_enable', 'yes'); $admin_email = get_bloginfo('admin_email'); $from_email = UltimateSocialDeux::opt('us_mail_from_email', $admin_email); $from_name = UltimateSocialDeux::opt('us_mail_from_name', get_bloginfo('name')); $admin_copy = UltimateSocialDeux::opt('us_mail_bcc_enable', 'yes'); if ($captcha_enable == 'yes') { if ('' == $captcha) { die(__('Captcha cannot be empty!', 'ultimate-social-deux')); } if ($captcha !== $captcha_answer) { die(__('Captcha does not match.', 'ultimate-social-deux')); } } if (!filter_var($recipient_email, FILTER_VALIDATE_EMAIL)) { die(__('Recipient email address is not valid.', 'ultimate-social-deux')); } elseif (!filter_var($your_email, FILTER_VALIDATE_EMAIL)) { die(__('Your email address is not valid.', 'ultimate-social-deux')); } elseif (strlen($your_name) == 0) { die(__('Your name cannot be empty.', 'ultimate-social-deux')); } elseif (strlen($message) == 0) { die(__('Message cannot be empty.', 'ultimate-social-deux')); } $headers = array(); $headers[] = sprintf('From: %s <%s>', $from_name, $from_email); $headers[] = sprintf('Reply-To: %s <%s>', $your_name, $your_email); if ($admin_copy == 'yes') { $headers[] = sprintf('Bcc: %s', $admin_email); } if (true === ($result = wp_mail($recipient_email, stripslashes($subject), stripslashes($message), implode("\r\n", $headers)))) { die('ok'); } if (!$result) { global $phpmailer; if (isset($phpmailer->ErrorInfo)) { die(sprintf('Error: %s', $phpmailer->ErrorInfo)); } else { die(__('Unknown wp_mail() error.', 'ultimate-social-deux')); } } } }
/** * Returns Mail button. * * @since 1.0.0 * * @return button */ public static function mail_button($url, $more = '', $name) { wp_enqueue_script('jquery-magnific-popup'); global $us_popup_form; $name = $name ? '<div class="us_name"><span>' . $name . '</span></div>' : ''; $names_class = $name ? ' us_names' : ''; $random_string = UltimateSocialDeux::random_string(5); $body = UltimateSocialDeux::mail_replace_vars(UltimateSocialDeux::opt('us_mail_body', __('I read this article and found it very interesting, thought it might be something for you. The article is called', 'ultimate-social-deux') . ' ' . '{post_title} ' . ' ' . __('and is located at', 'ultimate-social-deux') . ' ' . ' {post_url}.'), $url, '', ''); $captcha_enable = UltimateSocialDeux::opt('us_mail_captcha_enable', 'yes'); $captcha = UltimateSocialDeux::opt('us_mail_captcha_question', __('What is the sum of 7 and 2?', 'ultimate-social-deux')); $us_share = UltimateSocialDeux::opt('us_mail_header', __('Share with your friends', 'ultimate-social-deux')); $your_name = __('Your Name', 'ultimate-social-deux'); $your_email = __('Your Email', 'ultimate-social-deux'); $recipient_email = __('Recipient Email', 'ultimate-social-deux'); $your_message = __('Enter a Message', 'ultimate-social-deux'); $captcha_label = __('Captcha', 'ultimate-social-deux'); $form = sprintf('<div class="us_wrapper us_modal mfp-hide" id="us-modal-%s">', $random_string); $form .= '<div class="us_heading">'; $form .= $us_share; $form .= '</div>'; $form .= '<div class="us_mail_response"></div>'; $form .= '<div class="us_mail_form_holder">'; $form .= '<form role="form" id="ajaxcontactform" class="form-group contact" action="" method="post" enctype="multipart/form-data">'; $form .= '<div class="form-group">'; $form .= sprintf('<label class="label" for="ajaxcontactyour_name">%s</label><br>', $your_name); $form .= sprintf('<input type="text" id="ajaxcontactyour_name" class="border-box form-control us_mail_your_name" name="%s" placeholder="%s"><br>', $your_name, $your_name); $form .= sprintf('<label class="label" for="ajaxcontactyour_email">%s</label><br>', $your_email); $form .= sprintf('<input type="email" id="ajaxcontactyour_email" class="border-box form-control us_mail_your_email" name="%s" placeholder="%s"><br>', $your_email, $your_email); $form .= sprintf('<label class="label" for="ajaxcontactrecipient_email">%s</label><br>', $recipient_email); $form .= sprintf('<input type="email" id="ajaxcontactrecipient_email" class="border-box form-control us_mail_recipient_email" name="%s" placeholder="%s"><br>', $recipient_email, $recipient_email); $form .= sprintf('<label class="label" for="ajaxcontactmessage">%s</label><br>', $your_message); $form .= sprintf('<textarea class="border-box form-control border-us_box us_mail_message" id="ajaxcontactmessage" name="%s" placeholder="%s">%s</textarea>', $your_message, $your_message, $body); $form .= sprintf('<input type="email" id="ajaxcontactrecipient_url" class="border-box form-control us_mail_url" style="display:none;" name="%s" placeholder="%s"><br>', $url, $url); $form .= '</div>'; if ($captcha_enable == 'yes') { $form .= '<div class="form-group">'; $form .= sprintf('<label class="label" for="ajaxcontactcaptcha">%s</label><br>', $captcha_label); $form .= sprintf('<input type="text" id="ajaxcontactcaptcha" class="border-box form-control us_mail_captcha" name="%s" placeholder="%s"><br>', $captcha_label, $captcha); $form .= '</div>'; } $form .= '</form>'; $form .= sprintf('<a class="btn btn-success us_mail_send">%s</a>', __('Submit', 'ultimate-social-deux')); $form .= '</div>'; $form .= '</div>'; $button = sprintf('<div class="us_mail%s%s us_button us_no_count"><a class="us_box" href="#us-modal-%s"><div class="us_share"><i class="us-icon-mail"></i></div>%s</a></div>', $more, $names_class, $random_string, $name); $button .= $form; return $button; }