/** * Do the actual notification * * @param class $from reminderer * @param class $to reminderee * * @return nothing */ function notify($from, $to) { if ($to->id != $from->id) { if ($to->email) { // TODO common_switch_locale($to->language); // TRANS: Subject for 'reminder' notification email. // TRANS: %s is the sender. $subject = sprintf(_('%s would like to see you post on GNU social'), $from->nickname); $from_profile = $from->getProfile(); // TRANS: Body for 'reminder' notification email. // TRANS: %1$s is the sender's long name, $2$s is the receiver's nickname, // TRANS: %3$s is a URL to post notices at. $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."), $from_profile->getBestName(), $from->nickname, common_local_url('all', array('nickname' => $to->nickname))) . mail_footer_block(); common_switch_locale(); $headers = $this->mail_prepare_headers('nudge', $to->nickname, $from->nickname); return mail_to_user($to, $subject, $body, $headers); } } }
/** * Notify a user that one of their notices has been chosen as a 'fave' * * @param User $rcpt The user whose notice was faved * @param Profile $sender The user who faved the notice * @param Notice $notice The notice that was faved * * @return void */ function mail_notify_fave(User $rcpt, Profile $sender, Notice $notice) { if (!$rcpt->receivesEmailNotifications() || !$rcpt->getConfigPref('email', 'notify_fave')) { return; } // This test is actually "if the sender is sandboxed" if (!$sender->hasRight(Right::EMAILONFAVE)) { return; } if ($rcpt->hasBlocked($sender)) { // If the author has blocked us, don't spam them with a notification. return; } // We need the global mail.php for various mail related functions below. require_once INSTALLDIR . '/lib/mail.php'; $bestname = $sender->getBestName(); common_switch_locale($rcpt->language); // TRANS: Subject for favorite notification e-mail. // TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname. $subject = sprintf(_('%1$s (@%2$s) added your notice as a favorite'), $bestname, $sender->getNickname()); // TRANS: Body for favorite notification e-mail. // TRANS: %1$s is the adding user's long name, $2$s is the date the notice was created, // TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text, // TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename, // TRANS: %7$s is the adding user's nickname. $body = sprintf(_("%1\$s (@%7\$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"), $bestname, common_exact_date($notice->created), common_local_url('shownotice', array('notice' => $notice->id)), $notice->content, common_local_url('showfavorites', array('nickname' => $sender->getNickname())), common_config('site', 'name'), $sender->getNickname()) . mail_footer_block(); $headers = _mail_prepare_headers('fave', $rcpt->getNickname(), $sender->getNickname()); common_switch_locale(); mail_to_user($rcpt, $subject, $body, $headers); }
/** * Send notification emails to group administrator. * * @param User_group $group * @param Profile $joiner */ function mail_notify_group_join_pending($group, $joiner) { $admin = $group->getAdmins(); while ($admin->fetch()) { // We need a local user for email notifications... $adminUser = User::staticGet('id', $admin->id); // @fixme check for email preference? if ($adminUser && $adminUser->email) { // use the recipient's localization common_switch_locale($adminUser->language); $headers = _mail_prepare_headers('join', $admin->nickname, $joiner->nickname); $headers['From'] = mail_notify_from(); $headers['To'] = $admin->getBestName() . ' <' . $adminUser->email . '>'; // TRANS: Subject of pending group join request notification e-mail. // TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename. $headers['Subject'] = sprintf(_('%1$s wants to join your group %2$s on %3$s.'), $joiner->getBestName(), $group->getBestName(), common_config('site', 'name')); // TRANS: Main body of pending group join request notification e-mail. // TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename, // TRANS: %4$s is the URL to the moderation queue page. $body = sprintf(_('%1$s would like to join your group %2$s on %3$s. ' . 'You may approve or reject their group membership at %4$s'), $joiner->getFancyName(), $group->getFancyName(), common_config('site', 'name'), common_local_url('groupqueue', array('nickname' => $group->nickname))) . mail_profile_block($joiner) . mail_footer_block(); // reset localization common_switch_locale(); mail_send($adminUser->email, $headers, $body); } } }