/** * Implementation of hook_token_values() */ function messaging_token_values($type, $object = NULL, $options = array()) { $language = isset($options['language']) ? $options['language'] : $GLOBALS['language']; switch ($type) { case 'message': if ($message = messaging_check_object($object, 'Messaging_Message')) { $values['message-subject'] = check_plain($message->get_subject()); $values['message-body'] = filter_xss($message->get_body()); $values['message-author-name'] = check_plain($message->get_sender_name()); $values['message-method'] = messaging_method_info($message->method, 'name'); $timezone = isset($options['timezone']) ? $options['timezone'] : variable_get('date_default_timezone', 0); $values['message-date'] = format_date($message->sent, 'medium', '', $timezone, $language->language); return $values; } break; case 'destination': // Messaging destinations if ($destination = messaging_check_object($object, 'Messaging_Destination')) { $values['destination-address'] = $destination->format_address(FALSE); $values['destination-type'] = $destination->address_name(); return $values; } break; } }
/** * Implementation of hook_token_values() * * @ TODO: Work out event tokens */ function notifications_token_values($type, $object = NULL, $options = array()) { $language = isset($options['language']) ? $options['language'] : $GLOBALS['language']; switch ($type) { case 'subscription': $values = array(); // Tokens only for registered users if ($subscription = messaging_check_object($object, 'Notifications_Subscription')) { $values['subscription-unsubscribe-url'] = notifications_build_url('unsubscribe', 'subscription', $subscription, array('language' => $language)); $values['subscription-edit-url'] = notifications_build_url('edit', 'subscription', $subscription, array('language' => $language)); $values['subscription-type'] = $subscription->get_type('name'); $values['subscription-name'] = $subscription->get_name(); $values['subscription-description-short'] = $subscription->format_short(FALSE); $values['subscription-description-long'] = $subscription->format_long(FALSE); // Old token, populate it for old templates $values['unsubscribe-url'] = $values['subscription-unsubscribe-url']; } return $values; case 'user': // Only for registered users. if (($account = $object) && !empty($account->uid)) { // We have a real user, so we produce full links $values['subscriptions-manage'] = url("user/{$account->uid}/notifications", array('absolute' => TRUE, 'language' => $language)); $values['unsubscribe-url-global'] = notifications_build_url('unsubscribe', 'user', $account, array('language' => $language)); return $values; } break; case 'destination': // These are just for registered users. For anonymous, notifications_anonymous will do it if (($destination = messaging_check_object($object, 'Messaging_Destination')) && !empty($destination->uid)) { $values['destination-unsubscribe-url'] = notifications_build_url('unsubscribe', 'destination', $destination, array('language' => $language)); $values['destination-manage-url'] = notifications_build_url('manage', 'destination', $destination, array('language' => $language)); $values['destination-edit-url'] = notifications_build_url('edit', 'destination', $destination, array('language' => $language)); return $values; } break; case 'event': if ($event = messaging_check_object($object, 'Notifications_Event')) { $timezone = isset($options['timezone']) ? $options['timezone'] : variable_get('date_default_timezone', 0); $values['event-type-description'] = $event->get_type('description'); $values['event-date-small'] = format_date($event->created, 'small', '', $timezone, $language->language); $values['event-date-medium'] = format_date($event->created, 'medium', '', $timezone, $language->language); $values['event-date-large'] = format_date($event->created, 'large', '', $timezone, $language->language); return $values; } break; } }