Test out existing email functionality
This commit is contained in:
parent
1816be156f
commit
a1a2bf9368
|
@ -140,43 +140,43 @@ class LoginController extends Zend_Controller_Action
|
||||||
|
|
||||||
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
|
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
|
||||||
|
|
||||||
if (!Application_Model_Preference::GetEnableSystemEmail()) {
|
// if (!Application_Model_Preference::GetEnableSystemEmail()) {
|
||||||
$this->_redirect('login');
|
// $this->_redirect('login');
|
||||||
} else {
|
// } else {
|
||||||
//uses separate layout without a navigation.
|
//uses separate layout without a navigation.
|
||||||
$this->_helper->layout->setLayout('login');
|
$this->_helper->layout->setLayout('login');
|
||||||
|
|
||||||
$form = new Application_Form_PasswordRestore();
|
$form = new Application_Form_PasswordRestore();
|
||||||
|
|
||||||
$request = $this->getRequest();
|
$request = $this->getRequest();
|
||||||
if ($request->isPost() && $form->isValid($request->getPost())) {
|
if ($request->isPost() && $form->isValid($request->getPost())) {
|
||||||
if (is_null($form->username->getValue()) || $form->username->getValue() == '') {
|
if (is_null($form->username->getValue()) || $form->username->getValue() == '') {
|
||||||
$user = CcSubjsQuery::create()
|
$user = CcSubjsQuery::create()
|
||||||
->filterByDbEmail($form->email->getValue())
|
->filterByDbEmail($form->email->getValue())
|
||||||
->findOne();
|
->findOne();
|
||||||
} else {
|
} else {
|
||||||
$user = CcSubjsQuery::create()
|
$user = CcSubjsQuery::create()
|
||||||
->filterByDbEmail($form->email->getValue())
|
->filterByDbEmail($form->email->getValue())
|
||||||
->filterByDbLogin($form->username->getValue())
|
->filterByDbLogin($form->username->getValue())
|
||||||
->findOne();
|
->findOne();
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($user)) {
|
|
||||||
$auth = new Application_Model_Auth();
|
|
||||||
|
|
||||||
$success = $auth->sendPasswordRestoreLink($user, $this->view);
|
|
||||||
if ($success) {
|
|
||||||
$this->_helper->redirector('password-restore-after', 'login');
|
|
||||||
} else {
|
|
||||||
$form->email->addError($this->view->translate(_("Email could not be sent. Check your mail server settings and ensure it has been configured properly.")));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$form->email->addError($this->view->translate(_("Given email not found.")));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->view->form = $form;
|
if (!empty($user)) {
|
||||||
|
$auth = new Application_Model_Auth();
|
||||||
|
|
||||||
|
$success = $auth->sendPasswordRestoreLink($user, $this->view);
|
||||||
|
if ($success) {
|
||||||
|
$this->_helper->redirector('password-restore-after', 'login');
|
||||||
|
} else {
|
||||||
|
$form->email->addError($this->view->translate(_("Email could not be sent. Check your mail server settings and ensure it has been configured properly.")));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$form->email->addError($this->view->translate(_("Given email not found.")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->view->form = $form;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function passwordRestoreAfterAction()
|
public function passwordRestoreAfterAction()
|
||||||
|
|
|
@ -12,65 +12,8 @@ class Application_Model_Email
|
||||||
*/
|
*/
|
||||||
public static function send($subject, $message, $tos, $from = null)
|
public static function send($subject, $message, $tos, $from = null)
|
||||||
{
|
{
|
||||||
$mailServerConfigured = Application_Model_Preference::GetMailServerConfigured() == true ? true : false;
|
|
||||||
$mailServerRequiresAuth = Application_Model_Preference::GetMailServerRequiresAuth() == true ? true : false;
|
|
||||||
$success = true;
|
|
||||||
|
|
||||||
if ($mailServerConfigured) {
|
return mail($tos, $subject, $message);
|
||||||
$mailServer = Application_Model_Preference::GetMailServer();
|
|
||||||
$mailServerPort = Application_Model_Preference::GetMailServerPort();
|
|
||||||
if (!empty($mailServerPort)) {
|
|
||||||
$port = $mailServerPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($mailServerRequiresAuth) {
|
|
||||||
$username = Application_Model_Preference::GetMailServerEmailAddress();
|
|
||||||
$password = Application_Model_Preference::GetMailServerPassword();
|
|
||||||
|
|
||||||
$config = array(
|
|
||||||
'auth' => 'login',
|
|
||||||
'ssl' => 'ssl',
|
|
||||||
'username' => $username,
|
|
||||||
'password' => $password
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$config = array(
|
|
||||||
'ssl' => 'tls'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($port)) {
|
|
||||||
$config['port'] = $port;
|
|
||||||
}
|
|
||||||
|
|
||||||
$transport = new Zend_Mail_Transport_Smtp($mailServer, $config);
|
|
||||||
}
|
|
||||||
|
|
||||||
$mail = new Zend_Mail('utf-8');
|
|
||||||
$mail->setSubject($subject);
|
|
||||||
$mail->setBodyText($message);
|
|
||||||
|
|
||||||
foreach ((array) $tos as $to) {
|
|
||||||
$mail->addTo($to);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($mailServerConfigured) {
|
|
||||||
$mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetMailServerEmailAddress());
|
|
||||||
try {
|
|
||||||
$mail->send($transport);
|
|
||||||
} catch (Exception $e) {
|
|
||||||
$success = false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$mail->setFrom(isset($from) ? $from : Application_Model_Preference::GetSystemEmail());
|
|
||||||
try {
|
|
||||||
$mail->send();
|
|
||||||
} catch (Exception $e) {
|
|
||||||
$success = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $success;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,12 +30,12 @@
|
||||||
|
|
||||||
<?php echo $this->element->getElement('csrf') ?>
|
<?php echo $this->element->getElement('csrf') ?>
|
||||||
|
|
||||||
<?php if (Application_Model_Preference::GetEnableSystemEmail()): ?>
|
<!-- --><?php //if (Application_Model_Preference::GetEnableSystemEmail()): ?>
|
||||||
<dt id="reset-label" class="hidden"> </dt>
|
<dt id="reset-label" class="hidden"> </dt>
|
||||||
<dd id="reset-element" class="text-right">
|
<dd id="reset-element" class="text-right">
|
||||||
<a href="<?php echo $this->baseUrl('login/password-restore'); ?>" class="link reset"><?php echo _("Reset password") ?></a>
|
<a href="<?php echo $this->baseUrl('login/password-restore'); ?>" class="link reset"><?php echo _("Reset password") ?></a>
|
||||||
</dd>
|
</dd>
|
||||||
<?php endif; ?>
|
<!-- --><?php //endif; ?>
|
||||||
<?php echo $this->element->getElement('captcha') ?>
|
<?php echo $this->element->getElement('captcha') ?>
|
||||||
<dt id="submit-label"> </dt>
|
<dt id="submit-label"> </dt>
|
||||||
<dd id="submit-element">
|
<dd id="submit-element">
|
||||||
|
|
Loading…
Reference in New Issue