diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-08-25 22:12:27 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-08-25 22:12:27 -0400 |
commit | 19614f33a4dc3758f5453cc91a4e3e8ae19d3878 (patch) | |
tree | 9332cca60439d7e24f8ee89527a1e300ad55cadb | |
parent | 1e78f020e997b1904cfdfc6c1c1095e05441e0c3 (diff) |
skip preview, just send the darn thing
darcs-hash:20080826021227-84dde-22f709bf330bcfa46b93eadd11700723bf640a6b.gz
-rw-r--r-- | actions/invite.php | 64 |
1 files changed, 56 insertions, 8 deletions
diff --git a/actions/invite.php b/actions/invite.php index 38ce38907..e230ec6ee 100644 --- a/actions/invite.php +++ b/actions/invite.php @@ -32,20 +32,68 @@ class InviteAction extends Action { common_config('site', 'name'))); return; } else if ($_SERVER['REQUEST_METHOD'] == 'POST') { - if ($this->trimmed('preview')) { - $this->show_preview(); - } else if ($this->trimmed('send')) { - $this->send_invitation(); - } + $this->send_invitation(); } else { $this->show_form(); } } - function show_preview() { - } - function send_invitation() { + + $user = common_current_user(); + $profile = $user->getProfile(); + + $bestname = $profile->getBestName(); + $sitename = common_config('site', 'name'); + $personal = $this->trimmed('personal'); + + $addresses = explode("\n", $this->trimmed('addresses')); + + foreach ($addresses as $email) { + + $email = trim($email); + + if (!Validate::email($email, true)) { + $this->show_form(sprintf(_('Invalid email address: %s'), $email)); + return; + } + } + + foreach ($addresses as $email) { + + $email = trim($email); + + $recipients = array($email); + + $headers['From'] = mail_notify_from(); + $headers['To'] = $email; + $headers['Subject'] = sprintf(_('%1s has invited you to join them on %2s'), $bestname, $sitename); + + $body = sprintf(_("%1s has invited you to join them on %2s (%3s).\n\n". + "%4s is a micro-blogging service that lets you keep up-to-date with people you know and people who interest you.\n\n". + "You can also share news about yourself, your thoughts, or your life online with people who know about you.\n\n". + "%5s said:\n\n%6s\n\n". + "You can see %7s's profile page on %8s here:\n\n". + "%9s\n\n". + "If you'd like to try the service, click on the link below to accept the invitation.\n\n". + "%10s\n\n". + "If not, you can ignore this message. Thanks for your patience and your time.\n\n". + "Sincerely, %11s\n"), + $bestname, $sitename, common_root_url(), + $sitename, + $bestname, $personal, + $bestname, $sitename, + common_local_url('showstream', array('nickname' => $user->nickname)), + common_local_url('register', array('code' => $invite->code)), + $sitename); + + mail_send($recipients, $headers, $body); + } + + + common_show_header(_('Invitation(s) sent')); + common_element('p', NULL, _('Invitation(s) sent. You will be notified when your invitees accept the invitation and register on the site. Thanks for growing the community!')); + common_show_footer(); } function show_top($error=NULL) { |