diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php
index 0a3d320a2..47c93d200 100644
--- a/airtime_mvc/application/configs/constants.php
+++ b/airtime_mvc/application/configs/constants.php
@@ -17,6 +17,7 @@ define('TERMS_AND_CONDITIONS_URL' , 'http://www.sourcefabric.org/en/about/poli
define('PRIVACY_POLICY_URL' , 'http://www.sourcefabric.org/en/about/policy/');
define('USER_MANUAL_URL' , 'http://sourcefabric.booktype.pro/airtime-pro-for-broadcasters');
define('AIRTIME_TRANSIFEX_URL' , 'https://www.transifex.com/projects/p/airtime/');
+define('WHMCS_PASSWORD_RESET_URL' , 'https://account.sourcefabric.com/pwreset.php');
define('LICENSE_VERSION' , 'GNU AGPL v.3');
define('LICENSE_URL' , 'http://www.gnu.org/licenses/agpl-3.0-standalone.html');
diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php
index 920a258cc..e11cc3233 100644
--- a/airtime_mvc/application/controllers/LoginController.php
+++ b/airtime_mvc/application/controllers/LoginController.php
@@ -140,26 +140,23 @@ class LoginController extends Zend_Controller_Action
Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', $stationLocale));
- if (!Application_Model_Preference::GetEnableSystemEmail()) {
- $this->_redirect('login');
- } else {
- //uses separate layout without a navigation.
- $this->_helper->layout->setLayout('login');
+ //uses separate layout without a navigation.
+ $this->_helper->layout->setLayout('login');
- $form = new Application_Form_PasswordRestore();
+ $form = new Application_Form_PasswordRestore();
- $request = $this->getRequest();
- if ($request->isPost() && $form->isValid($request->getPost())) {
- if (is_null($form->username->getValue()) || $form->username->getValue() == '') {
- $user = CcSubjsQuery::create()
- ->filterByDbEmail($form->email->getValue())
- ->findOne();
- } else {
- $user = CcSubjsQuery::create()
- ->filterByDbEmail($form->email->getValue())
- ->filterByDbLogin($form->username->getValue())
- ->findOne();
- }
+ $request = $this->getRequest();
+ if ($request->isPost() && $form->isValid($request->getPost())) {
+ $query = CcSubjsQuery::create();
+ if (empty($form->username->getValue())) {
+ $query->filterByDbEmail($form->email->getValue());
+ } else if (empty($form->email->getValue())) {
+ $query->filterByDbLogin($form->username->getValue());
+ } else {
+ $query->filterByDbEmail($form->email->getValue())
+ ->filterByDbLogin($form->username->getValue());
+ }
+ $user = $query->findOne();
if (!empty($user)) {
$auth = new Application_Model_Auth();
@@ -171,12 +168,13 @@ class LoginController extends Zend_Controller_Action
$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.")));
+ $form->email->addError($this->view->translate(_("There was a problem sending the recovery email.")));
}
+ } else {
+ $form->email->addError($this->view->translate(_("We couldn't find the email you entered - you can also try here.")));
}
- $this->view->form = $form;
- }
+ $this->view->form = $form;
}
public function passwordRestoreAfterAction()
diff --git a/airtime_mvc/application/forms/EmailServerPreferences.php b/airtime_mvc/application/forms/EmailServerPreferences.php
deleted file mode 100644
index 1e0feda79..000000000
--- a/airtime_mvc/application/forms/EmailServerPreferences.php
+++ /dev/null
@@ -1,106 +0,0 @@
-setDecorators(array(
- array('ViewScript', array('viewScript' => 'form/preferences_email_server.phtml'))
- ));
-
- // Enable system emails
- $this->addElement('checkbox', 'enableSystemEmail', array(
- 'label' => _('Enable System Emails (Password Reset)'),
- 'required' => false,
- 'value' => Application_Model_Preference::GetEnableSystemEmail(),
- 'decorators' => array(
- 'ViewHelper'
- )
- ));
-
- $this->addElement('text', 'systemEmail', array(
- 'class' => 'input_text',
- 'label' => _("Reset Password 'From' Email"),
- 'value' => Application_Model_Preference::GetSystemEmail(),
- 'readonly' => true,
- 'decorators' => array('viewHelper')
- ));
-
- $this->addElement('checkbox', 'configureMailServer', array(
- 'label' => _('Configure Mail Server'),
- 'required' => false,
- 'value' => Application_Model_Preference::GetMailServerConfigured(),
- 'decorators' => array (
- 'viewHelper'
- )
- ));
-
- $this->addElement('checkbox', 'msRequiresAuth', array(
- 'label' => _('Requires Authentication'),
- 'required' => false,
- 'value' => Application_Model_Preference::GetMailServerRequiresAuth(),
- 'decorators' => array(
- 'viewHelper'
- )
- ));
-
- $this->addElement('text', 'mailServer', array(
- 'class' => 'input_text',
- 'label' => _('Mail Server'),
- 'value' => Application_Model_Preference::GetMailServer(),
- 'readonly' => true,
- 'decorators' => array('viewHelper'),
- 'allowEmpty' => false,
- 'validators' => array(
- new ConditionalNotEmpty(array(
- 'configureMailServer' => '1'
- ))
- )
- ));
-
- $this->addElement('text', 'email', array(
- 'class' => 'input_text',
- 'label' => _('Email Address'),
- 'value' => Application_Model_Preference::GetMailServerEmailAddress(),
- 'readonly' => true,
- 'decorators' => array('viewHelper'),
- 'allowEmpty' => false,
- 'validators' => array(
- new ConditionalNotEmpty(array(
- 'configureMailServer' => '1',
- 'msRequiresAuth' => '1'
- ))
- )
- ));
-
- $this->addElement('password', 'ms_password', array(
- 'class' => 'input_text',
- 'label' => _('Password'),
- 'value' => Application_Model_Preference::GetMailServerPassword(),
- 'readonly' => true,
- 'decorators' => array('viewHelper'),
- 'allowEmpty' => false,
- 'validators' => array(
- new ConditionalNotEmpty(array(
- 'configureMailServer' => '1',
- 'msRequiresAuth' => '1'
- ))
- ),
- 'renderPassword' => true
- ));
-
- $port = new Zend_Form_Element_Text('port');
- $port->class = 'input_text';
- $port->setRequired(false)
- ->setValue(Application_Model_Preference::GetMailServerPort())
- ->setLabel(_('Port'))
- ->setAttrib('readonly', true)
- ->setDecorators(array('viewHelper'));
-
- $this->addElement($port);
-
- }
-
-}
diff --git a/airtime_mvc/application/forms/PasswordRestore.php b/airtime_mvc/application/forms/PasswordRestore.php
index 0e8f4ad9c..12a957617 100644
--- a/airtime_mvc/application/forms/PasswordRestore.php
+++ b/airtime_mvc/application/forms/PasswordRestore.php
@@ -11,7 +11,7 @@ class Application_Form_PasswordRestore extends Zend_Form
));
$this->addElement('text', 'email', array(
- 'label' => _('E-mail'),
+ 'label' => _('Email'),
'required' => true,
'filters' => array(
'stringTrim',
@@ -43,7 +43,7 @@ class Application_Form_PasswordRestore extends Zend_Form
$cancel = new Zend_Form_Element_Button("cancel");
$cancel->class = 'ui-button ui-widget ui-state-default ui-button-text-only center';
- $cancel->setLabel(_("Cancel"))
+ $cancel->setLabel(_("Return to login"))
->setIgnore(True)
->setAttrib('onclick', 'redirectToLogin();')
->setDecorators(array('ViewHelper'));
diff --git a/airtime_mvc/application/models/Auth.php b/airtime_mvc/application/models/Auth.php
index 6c4c75edd..044972b37 100644
--- a/airtime_mvc/application/models/Auth.php
+++ b/airtime_mvc/application/models/Auth.php
@@ -34,9 +34,7 @@ class Application_Model_Auth
$message .= "{$e_link_protocol}://{$e_link_base}:{$e_link_port}{$e_link_path}";
$str = sprintf(_('%s Password Reset'), PRODUCT_NAME);
- $success = Application_Model_Email::send($str, $message, $user->getDbEmail());
-
- return $success;
+ return Application_Model_Email::send($str, $message, $user->getDbEmail());
}
public function invalidateTokens($user, $action)
diff --git a/airtime_mvc/application/models/Email.php b/airtime_mvc/application/models/Email.php
index 774617c1e..e1b399f4c 100644
--- a/airtime_mvc/application/models/Email.php
+++ b/airtime_mvc/application/models/Email.php
@@ -2,18 +2,20 @@
class Application_Model_Email
{
+
/**
* Send email
*
* @param string $subject
* @param string $message
- * @param mixed $tos
- * @return void
+ * @param mixed $to
+ * @return boolean
*/
- public static function send($subject, $message, $tos, $from = null)
- {
+ public static function send($subject, $message, $to) {
- return mail($tos, $subject, $message);
+ $headers = 'From: Airtime ';
+ return mail($to, $subject, $message, $headers);
}
+
}
diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php
index 980220860..6a73ceb30 100644
--- a/airtime_mvc/application/models/Preference.php
+++ b/airtime_mvc/application/models/Preference.php
@@ -1161,87 +1161,6 @@ class Application_Model_Preference
{
return self::getValue("auto_switch");
}
-
- public static function SetEnableSystemEmail($upload)
- {
- self::setValue("enable_system_email", $upload);
- }
-
- public static function GetEnableSystemEmail()
- {
- $v = self::getValue("enable_system_email");
- return ($v === "") ? 0 : $v;
- }
-
- public static function SetSystemEmail($value)
- {
- self::setValue("system_email", $value, false);
- }
-
- public static function GetSystemEmail()
- {
- return self::getValue("system_email");
- }
-
- public static function SetMailServerConfigured($value)
- {
- self::setValue("mail_server_configured", $value, false);
- }
-
- public static function GetMailServerConfigured()
- {
- return self::getValue("mail_server_configured");
- }
-
- public static function SetMailServer($value)
- {
- self::setValue("mail_server", $value, false);
- }
-
- public static function GetMailServer()
- {
- return self::getValue("mail_server");
- }
-
- public static function SetMailServerEmailAddress($value)
- {
- self::setValue("mail_server_email_address", $value, false);
- }
-
- public static function GetMailServerEmailAddress()
- {
- return self::getValue("mail_server_email_address");
- }
-
- public static function SetMailServerPassword($value)
- {
- self::setValue("mail_server_password", $value, false);
- }
-
- public static function GetMailServerPassword()
- {
- return self::getValue("mail_server_password");
- }
-
- public static function SetMailServerPort($value)
- {
- self::setValue("mail_server_port", $value, false);
- }
-
- public static function GetMailServerPort()
- {
- return self::getValue("mail_server_port");
- }
-
- public static function SetMailServerRequiresAuth($value)
- {
- self::setValue("mail_server_requires_auth", $value, false);
- }
-
- public static function GetMailServerRequiresAuth()
- {
- return self::getValue("mail_server_requires_auth");
- }
/* User specific preferences end */
public static function ShouldShowPopUp()
diff --git a/airtime_mvc/application/views/scripts/form/login.phtml b/airtime_mvc/application/views/scripts/form/login.phtml
index c286c45be..0c96983ca 100644
--- a/airtime_mvc/application/views/scripts/form/login.phtml
+++ b/airtime_mvc/application/views/scripts/form/login.phtml
@@ -30,17 +30,15 @@
element->getElement('csrf') ?>
-
-
-
-
-
-
element->getElement('captcha') ?>
element->getElement('submit') ?>
-
+
+
+
+
+
diff --git a/airtime_mvc/application/views/scripts/form/password-restore.phtml b/airtime_mvc/application/views/scripts/form/password-restore.phtml
index a43b9fe36..db7c4e491 100644
--- a/airtime_mvc/application/views/scripts/form/password-restore.phtml
+++ b/airtime_mvc/application/views/scripts/form/password-restore.phtml
@@ -1,36 +1,36 @@
\ No newline at end of file
diff --git a/airtime_mvc/application/views/scripts/login/password-restore.phtml b/airtime_mvc/application/views/scripts/login/password-restore.phtml
index e814ca6be..945ae73e4 100644
--- a/airtime_mvc/application/views/scripts/login/password-restore.phtml
+++ b/airtime_mvc/application/views/scripts/login/password-restore.phtml
@@ -1,10 +1,11 @@