public function emailTest()
{
if (!Gdn::session()->checkPermission('Garden.Community.Manage')) {
throw permissionException();
}
$this->setHighlightRoute('dashboard/settings/email');
$this->Form = new Gdn_Form();
$validation = new Gdn_Validation();
$configurationModel = new Gdn_ConfigurationModel($validation);
$this->Form->setModel($configurationModel);
if ($this->Form->authenticatedPostBack() !== false) {
$addressList = $this->Form->getFormValue('EmailTestAddresses');
$addresses = explode(',', $addressList);
if (sizeof($addresses) > 10) {
$this->Form->addError(sprintf(t('Too many addresses! We\'ll send up to %s addresses at once.'), '10'));
} else {
$emailer = $this->getTestEmail();
$emailer->to($addresses);
$emailer->subject(sprintf(t('Test email from %s'), c('Garden.Title')));
try {
if ($emailer->send()) {
$this->informMessage(t("The email has been sent."));
} else {
$this->Form->addError(t('Error sending email. Please review the addresses and try again.'));
}
} catch (Exception $e) {
if (debug()) {
throw $e;
}
}
}
}
$this->render();
}