messaging.inc in Date Reminder 6.2
Same filename and directory in other branches
Support for configuring and sending messages.
File
includes/messaging.incView source
<?php
/**
* @file
* Support for configuring and sending messages.
*/
/**
* Implements hook_messaging().
*
* @param string $op
* What kind of info is being requested?
* @param string $type
* What kind of message is this about?
* @param string $arg2
* Not used here.
*/
function _datereminder_messaging($op, $type = NULL, $arg2 = NULL) {
switch ($op) {
case 'message groups':
// What kind of messages do we send?
$help = t('This is the message sent to remind a user of an upcoming calendar event');
$info = array();
$info['datereminder-reminder'] = array(
'module' => 'datereminder-reminder',
'name' => t('Reminder message'),
'description' => t('Send reminders for approaching events'),
'help' => $help,
);
return $info;
case 'message keys':
// The parts of messages that site admin can customize.
switch ($type) {
case 'datereminder-reminder':
return array(
'subject' => t('Subject'),
'body' => t('Content'),
);
}
break;
case 'messages':
// Default email content.
switch ($type) {
case 'datereminder-reminder':
return array(
'subject' => 'REMINDER from [site-name]: [title] at [next-date-short]',
'body' => "[title] is coming at [next-date-short]\n\n[node-teaser]\n\nRead more: [node-url]",
);
}
break;
case 'tokens':
// Get the parts of the template name as explained in the
// "messaging groups" case.
$type = explode('-', $type);
if ($type[0] == 'datereminder') {
$tokens = array(
'user',
'node',
'datereminder',
);
return $tokens;
}
}
}
/**
* Send reminder for given node to given user request.
*/
function _datereminder_send_reminder($r) {
_datereminder_complete_reminder($r);
$node = $r->node;
$user = $r->user;
$sending_method = messaging_method_default($user);
$message = array(
'subject' => messaging_message_part('datereminder-reminder', 'subject', $sending_method),
'body' => messaging_message_part('datereminder-reminder', 'body', $sending_method),
);
$objects = array(
'node' => $node,
'user' => $user,
'datereminder' => $r,
'global' => NULL,
);
foreach ($message as $p => $c) {
$message[$p] = token_replace_multiple($c, $objects);
}
$m = $message['body'];
if (empty($r->email)) {
$u = $user->name;
return messaging_message_send_user($user, $message);
}
else {
return messaging_message_send(explode(',', $r->email), $message, $sending_method);
}
}
Functions
Name![]() |
Description |
---|---|
_datereminder_messaging | Implements hook_messaging(). |
_datereminder_send_reminder | Send reminder for given node to given user request. |