示例#1
0
 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);
 }
示例#2
0
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 &lt;email@domain.com&gt;</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 
示例#3
0
    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);
        }
    }