Getting started on the email stuff
This commit is contained in:
parent
b4e238ee41
commit
033dd8e4fb
@ -42,11 +42,18 @@ $case_statement = "CASE
|
|||||||
WHEN `unit` = '2' THEN DATE_SUB(`event`.`start`, INTERVAL `reminder`.`amount` DAY)
|
WHEN `unit` = '2' THEN DATE_SUB(`event`.`start`, INTERVAL `reminder`.`amount` DAY)
|
||||||
WHEN `unit` = '3' THEN DATE_SUB(`event`.`start`, INTERVAL `reminder`.`amount` WEEK)
|
WHEN `unit` = '3' THEN DATE_SUB(`event`.`start`, INTERVAL `reminder`.`amount` WEEK)
|
||||||
END";
|
END";
|
||||||
$sql = "SELECT `reminder`.`id`, `reminder`.`user_id`, `reminder`.`event_id`,
|
$sql = "SELECT `reminder`.`id` AS `reminder_id`, `reminder`.`user_id` AS `user_id`, `reminder`.`event_id` AS `event_id`,
|
||||||
|
`event`.`name` AS `event_name`, `event`.`location` AS `event_location`, `event`.`comments` AS `event_comments`,
|
||||||
|
`category`.`name` AS `event_category`, `event`.`start` AS `event_start`, `event`.`end` AS `event_end`,
|
||||||
|
`event`.`all_day` AS `event_all_day`, `user`.`language` AS `user_language`, `user`.`email` AS `user_email`
|
||||||
" . $case_statement . " AS `reminder_date`
|
" . $case_statement . " AS `reminder_date`
|
||||||
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder` AS `reminder`
|
FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event_reminder` AS `reminder`
|
||||||
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` AS `event`
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` AS `event`
|
||||||
ON `reminder`.`event_id` = `event`.`id`
|
ON `reminder`.`event_id` = `event`.`id`
|
||||||
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "categories` AS `category`
|
||||||
|
ON `event`.`category` = `category`.`id`
|
||||||
|
INNER JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` AS `user`
|
||||||
|
ON `reminder`.`user_id` = `user`.`id`
|
||||||
WHERE (" . $case_statement . ") <= NOW()
|
WHERE (" . $case_statement . ") <= NOW()
|
||||||
AND `email_sent` = '0'";
|
AND `email_sent` = '0'";
|
||||||
|
|
||||||
@ -54,7 +61,9 @@ $rs = hesk_dbQuery($sql);
|
|||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ($row = hesk_dbFetchAssoc($rs)) {
|
while ($row = hesk_dbFetchAssoc($rs)) {
|
||||||
|
$i++;
|
||||||
|
|
||||||
|
echo "Sent e-mail reminder for event: {$row['event_name']}\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -255,6 +255,52 @@ function hesk_notifyStaff($email_template, $sql_where, $modsForHesk_settings, $i
|
|||||||
|
|
||||||
} // END hesk_notifyStaff()
|
} // END hesk_notifyStaff()
|
||||||
|
|
||||||
|
function mfh_sendCalendarReminder($reminder_data, $modsForHesk_settings) {
|
||||||
|
global $hesk_settings, $hesklang;
|
||||||
|
|
||||||
|
if (defined('HESK_DEMO')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
hesk_setLanguage($reminder_data['user_language']);
|
||||||
|
|
||||||
|
$valid_emails = hesk_validEmails();
|
||||||
|
$subject = NULL;
|
||||||
|
if (!isset($valid_emails['calendar_reminder'])) {
|
||||||
|
hesk_error($hesklang['inve']);
|
||||||
|
} else {
|
||||||
|
$subject = $valid_emails['calendar_reminder'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Format email subject and message
|
||||||
|
$subject = str_replace('%%TITLE%%', $reminder_data['event_name'], $subject);
|
||||||
|
$message = hesk_getEmailMessage('calendar_reminder', NULL, $modsForHesk_settings, 1, 0, 1);
|
||||||
|
$htmlMessage = hesk_getHtmlMessage('calendar_reminder', NULL, $modsForHesk_settings, 1, 0, 1);
|
||||||
|
|
||||||
|
|
||||||
|
if ($reminder_data['event_all_day'] == '1') {
|
||||||
|
$format = 'Y-m-d';
|
||||||
|
} else {
|
||||||
|
$format = $hesk_settings['timeformat'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$start_date = strtotime($event['event_start']);
|
||||||
|
$formatted_start_date = date($format, $start_date);
|
||||||
|
$formatted_end_date = '';
|
||||||
|
|
||||||
|
if ($reminder_data['event_start'] != $reminder_data['event_end']) {
|
||||||
|
$end_date = strtotime($event['event_end']);
|
||||||
|
$formatted_end_date = ' - ' . date($format, $end_date);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process replaced fields
|
||||||
|
$message = str_replace('%%TITLE%%', $reminder_data['event_name'], $message);
|
||||||
|
$message = str_replace('%%LOCATION%%', $reminder_data['event_location'], $message);
|
||||||
|
$message = str_replace('%%CATEGORY%%', $reminder_data['category_name'], $message);
|
||||||
|
$message = str_replace('%%WHEN%%', $formatted_start_date . $formatted_end_date, $message);
|
||||||
|
$message = str_replace('%%COMMENTS%%', $reminder_data['event_comments'], $message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function hesk_validEmails()
|
function hesk_validEmails()
|
||||||
{
|
{
|
||||||
@ -303,6 +349,9 @@ function hesk_validEmails()
|
|||||||
// --> Staff password reset email
|
// --> Staff password reset email
|
||||||
'reset_password' => $hesklang['reset_password'],
|
'reset_password' => $hesklang['reset_password'],
|
||||||
|
|
||||||
|
// --> Calendar reminder
|
||||||
|
'calendar_reminder' => "Calendar Reminder",
|
||||||
|
|
||||||
);
|
);
|
||||||
} // END hesk_validEmails()
|
} // END hesk_validEmails()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user