public function send($InvitationID)
{
$Invitation = $this->GetByInvitationID($InvitationID);
$Session = Gdn::session();
if ($Invitation === false) {
throw new Exception(t('ErrorRecordNotFound'));
} elseif ($Session->UserID != $Invitation->SenderUserID) {
throw new Exception(t('InviteErrorPermission', t('ErrorPermission')));
} else {
// Some information for the email
$RegistrationUrl = ExternalUrl("entry/registerinvitation/{$Invitation->Code}");
$AppTitle = Gdn::config('Garden.Title');
$Email = new Gdn_Email();
$Email->subject(sprintf(t('[%s] Invitation'), $AppTitle));
$Email->to($Invitation->Email);
$emailTemplate = $Email->getEmailTemplate();
$message = t('Hello!') . ' ' . sprintf(t('%s has invited you to join %s.'), $Invitation->SenderName, $AppTitle);
$emailTemplate->setButton($RegistrationUrl, t('Join this Community Now'))->setMessage($message)->setTitle(sprintf(t('Join %s'), $AppTitle));
$Email->setEmailTemplate($emailTemplate);
try {
$Email->send();
} catch (Exception $e) {
if (debug()) {
throw $e;
}
}
}
}