static function approval_notify($certificate, $user_certificate_id) { global $wpdb; // select user certificate along with taking date $user_certificate = $wpdb->get_row($wpdb->prepare("SELECT tUC.*, tT.date as date FROM " . WATUPRO_USER_CERTIFICATES . " tUC\n\t\t\tJOIN " . WATUPRO_TAKEN_EXAMS . " tT ON tT.ID = tUC.taking_id \n\t\t\tWHERE tUC.ID = %d AND tUC.certificate_id=%d", $user_certificate_id, $certificate->ID)); $admin_email = watupro_admin_email(); $user = get_userdata($user_certificate->user_id); $exam = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . WATUPRO_EXAMS . " WHERE ID=%d", $user_certificate->exam_id)); // replace email subject and contents $date = date(get_option('date_format'), strtotime($user_certificate->date)); $subject = str_replace('{{quiz-name}}', stripslashes($exam->name), stripslashes($certificate->approval_email_subject)); $subject = str_replace('{{certificate}}', stripslashes($certificate->title), $subject); $subject = str_replace('{{date}}', $date, $subject); $message = str_replace('{{quiz-name}}', stripslashes($exam->name), stripslashes($certificate->approval_email_message)); $message = str_replace('{{certificate}}', stripslashes($certificate->title), $message); $message = str_replace('{{date}}', $date, $message); $message = str_replace('{{url}}', site_url("?watupro_view_certificate=1&taking_id=" . $user_certificate->taking_id . "&id=" . $certificate->ID), $message); $message = apply_filters('watupro_content', $message); // send email $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; $headers .= 'From: ' . $admin_email . "\r\n"; // echo "{$user->user_email}, $subject, $message"; wp_mail($user->user_email, $subject, $message, $headers); }
echo $delete_db ? 'inline' : 'none'; ?> "><?php _e('Are you sure? Type "yes" to confirm.', 'watupro'); ?> <input type="text" name="really_delete_db" value="<?php echo $delete_db ? get_option('watupro_really_delete_db') : ''; ?> " size="5"></span> </p--> <p><?php _e('Send the automated emails from this address:', 'watupro'); ?> <input type="text" name="watupro_admin_email" value="<?php echo watupro_admin_email(); ?> " size="30"><br> <?php _e('This defaults to your main admin email. However to set a friendlier sender name you can overwrite it here by entering your name in format: <b>Your Name <email@domain.com></b>', 'watupro'); ?> </p> <div class="postbox"> <h3 class="hndle"><span><?php _e('Default Answer Type', 'watupro'); ?> </span></h3> <div class="inside" style="padding:8px"> <?php
function email_results($exam, $output, $grade_id = null) { global $user_ID, $user_email; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $headers .= 'From: ' . watupro_admin_email() . "\r\n"; $admin_output = $output = WatuPRO::cleanup($output); if (strstr($output, "{{{split}}}")) { $parts = explode("{{{split}}}", $output); $output = trim($parts[0]); $admin_output = trim($parts[1]); } $admin_subject = __('User results on %%QUIZ_NAME%%', 'watupro'); $user_subject = __('Your results on %%QUIZ_NAME%%', 'watupro'); if (!empty($exam->email_subject)) { $email_subject = stripslashes($exam->email_subject); if (strstr($email_subject, '{{{split}}}')) { list($user_subject, $admin_subject) = explode('{{{split}}}', $email_subject); } else { $user_subject = $admin_subject = $email_subject; } } $output = '<html><head><title>' . __('Your results on ', 'watupro') . $exam->name . '</title> </head> <html><body>' . $output . '</body></html>'; // echo $output; if (!is_user_logged_in() or !empty($_POST['taker_email'])) { $user_email = @$_POST['taker_email']; } // user setting may override the var if ($exam->email_taker and is_user_logged_in() and get_user_meta($user_ID, 'watupro_no_quiz_mails', true)) { $exam->email_taker = false; } // now email user if ($exam->email_taker and $user_email) { // check for grade-related restrictions $advanced_settings = unserialize(stripslashes($exam->advanced_settings)); if (!empty($advanced_settings['email_grades']) and is_array($advanced_settings['email_grades']) and !in_array($grade_id, $advanced_settings['email_grades'])) { $dont_email_taker = true; } $user_subject = str_replace('%%QUIZ_NAME%%', stripslashes($exam->name), $user_subject); if (empty($dont_email_taker)) { wp_mail($user_email, $user_subject, $output, $headers); } } if ($exam->email_admin) { // if user is logged in, let admin know who is taking the test $output = $admin_output; // echo($output); $user_data = $user_email; if (!empty($_POST['taker_name'])) { $user_data .= " ({$_POST['taker_name']})"; } if (!empty($user_email)) { $output = "Details of {$user_data}:<br><br>" . $output; } $admin_email = empty($exam->admin_email) ? get_option('admin_email') : $exam->admin_email; $admin_subject = str_replace('%%QUIZ_NAME%%', stripslashes($exam->name), $admin_subject); wp_mail($admin_email, $admin_subject, $output, $headers); } }