-function mail_notify_message($message, $from=NULL, $to=NULL) {
-
- if (is_null($from)) {
- $from = User::staticGet($message->from_profile);
- }
-
- if (is_null($to)) {
- $to = User::staticGet($message->to_profile);
- }
-
- if (!$to->email || !$to->emailnotifymsg) {
- return true;
- }
-
- $subject = sprintf(_('New private message from %s'), $from->nickname);
-
- $from_profile = $from->getProfile();
-
- $body = sprintf(_("%1\$s (%2\$s) sent you a private message:\n\n".
- "------------------------------------------------------\n".
- "%3\$s\n".
- "------------------------------------------------------\n\n".
- "You can reply to their message here:\n\n".
- "%4\$s\n\n".
- "Don't reply to this email; it won't get to them.\n\n".
- "With kind regards,\n",
- "%5\$s\n"),
- $from_profile->getBestName(),
- $from->nickname,
- $message->content,
- common_local_url('newmessage', array('to' => $from->id)),
- common_config('site', 'name'));
-
- return mail_to_user($to, $subject, $body);
+/**
+ * send a mail message to notify a user of a 'nudge'
+ *
+ * @param User $from user nudging
+ * @param User $to user being nudged
+ *
+ * @return boolean success flag
+ */
+
+function mail_notify_nudge($from, $to)
+{
+ common_init_locale($to->language);
+ $subject = sprintf(_('You\'ve been nudged by %s'), $from->nickname);
+
+ $from_profile = $from->getProfile();
+
+ $body = sprintf(_("%1\$s (%2\$s) is wondering what you are up to ".
+ "these days and is inviting you to post some news.\n\n".
+ "So let's hear from you :)\n\n".
+ "%3\$s\n\n".
+ "Don't reply to this email; it won't get to them.\n\n".
+ "With kind regards,\n".
+ "%4\$s\n"),
+ $from_profile->getBestName(),
+ $from->nickname,
+ common_local_url('all', array('nickname' => $to->nickname)),
+ common_config('site', 'name'));
+ common_init_locale();
+ return mail_to_user($to, $subject, $body);
+}
+
+/**
+ * send a message to notify a user of a direct message (DM)
+ *
+ * This function checks to see if the recipient wants notification
+ * of DMs and has a configured email address.
+ *
+ * @param Message $message message to notify about
+ * @param User $from user sending message; default to sender
+ * @param User $to user receiving message; default to recipient
+ *
+ * @return boolean success code
+ */
+
+function mail_notify_message($message, $from=null, $to=null)
+{
+ if (is_null($from)) {
+ $from = User::staticGet('id', $message->from_profile);
+ }
+
+ if (is_null($to)) {
+ $to = User::staticGet('id', $message->to_profile);
+ }
+
+ if (is_null($to->email) || !$to->emailnotifymsg) {
+ return true;
+ }
+
+ common_init_locale($to->language);
+ $subject = sprintf(_('New private message from %s'), $from->nickname);
+
+ $from_profile = $from->getProfile();
+
+ $body = sprintf(_("%1\$s (%2\$s) sent you a private message:\n\n".
+ "------------------------------------------------------\n".
+ "%3\$s\n".
+ "------------------------------------------------------\n\n".
+ "You can reply to their message here:\n\n".
+ "%4\$s\n\n".
+ "Don't reply to this email; it won't get to them.\n\n".
+ "With kind regards,\n".
+ "%5\$s\n"),
+ $from_profile->getBestName(),
+ $from->nickname,
+ $message->content,
+ common_local_url('newmessage', array('to' => $from->id)),
+ common_config('site', 'name'));
+
+ common_init_locale();
+ return mail_to_user($to, $subject, $body);
+}
+
+/**
+ * notify a user that one of their notices has been chosen as a 'fave'
+ *
+ * Doesn't check that the user has an email address nor if they
+ * want to receive notification of faves. Maybe this happens higher
+ * up the stack...?
+ *
+ * @param User $other The user whose notice was faved
+ * @param User $user The user who faved the notice
+ * @param Notice $notice The notice that was faved
+ *
+ * @return void
+ */
+
+function mail_notify_fave($other, $user, $notice)
+{
+ $profile = $user->getProfile();
+
+ $bestname = $profile->getBestName();
+
+ common_init_locale($other->language);
+
+ $subject = sprintf(_('%s added your notice as a favorite'), $bestname);
+
+ $body = sprintf(_("%1\$s just added your notice from %2\$s".
+ " as one of their favorites.\n\n" .
+ "The URL of your notice is:\n\n" .
+ "%3\$s\n\n" .
+ "The text of your notice is:\n\n" .
+ "%4\$s\n\n" .
+ "You can see the list of %1\$s's favorites here:\n\n" .
+ "%5\$s\n\n" .
+ "Faithfully yours,\n" .
+ "%6\$s\n"),
+ $bestname,
+ common_exact_date($notice->created),
+ common_local_url('shownotice',
+ array('notice' => $notice->id)),
+ $notice->content,
+ common_local_url('showfavorites',
+ array('nickname' => $user->nickname)),
+ common_config('site', 'name'));
+
+ common_init_locale();
+ mail_to_user($other, $subject, $body);