3 // simple cron script to run daily
\r
5 function fha_refresher_cron() {
\r
6 global $db, $system_courses, $_config;
\r
8 require_once(AT_INCLUDE_PATH . 'classes/phpmailer/atutormailer.class.php');
\r
10 $mail = new ATutorMailer;
\r
12 $subject = _AT('fha_ref_automatic_email_reminder');
\r
14 $sql = "SELECT * FROM ".TABLE_PREFIX."fha_refresher WHERE enabled=1";
\r
15 $result = mysql_query($sql, $db);
\r
16 while ($row = mysql_fetch_assoc($result)) {
\r
17 $refresh_period_seconds = time() - ($row['refresh_period'] * 24 * 60 * 60);
\r
18 $max_refresh_period = $row['max_refresh_period'] * 24 * 60 * 60;
\r
20 // these are used in the mail footer
\r
21 $_SESSION['course_id'] = $row['course_id'];
\r
22 $_SESSION['course_title'] = $system_courses[$row['course_id']]['title'];
\r
24 $sql = "SELECT member_id, MAX(UNIX_TIMESTAMP(date_taken)) AS date_taken FROM ".TABLE_PREFIX."tests_results WHERE test_id=$row[test_id] AND final_score >= $row[pass_score] GROUP BY member_id";
\r
25 $test_result = mysql_query($sql, $db);
\r
27 while ($test_row = mysql_fetch_assoc($test_result)) {
\r
28 $refresh_difference = $test_row['date_taken'] - $refresh_period_seconds;
\r
29 if ((abs($refresh_difference) < $max_refresh_period) && ($refresh_difference < 0)) {
\r
30 $refresh_difference = abs($refresh_difference);
\r
31 if ((round($refresh_difference / 24 / 60 / 60) % $row['reminder_period']) == 0) {
\r
32 $sql = "SELECT login, email FROM ".TABLE_PREFIX."members WHERE member_id=$test_row[member_id]";
\r
33 $member_result = mysql_query($sql, $db);
\r
34 $member_row = mysql_fetch_assoc($member_result);
\r
36 $mail->From = $_config['contact_email'];
\r
37 $mail->AddAddress($member_row['email']);
\r
38 $mail->Subject = $subject;
\r
39 $mail->Body = _AT('fha_ref_automatic_email_body',$_SESSION['course_title'], $member_row['login']);
\r
43 $mail->ClearAllRecipients();
\r