exit(1);
}
-require_once INSTALLDIR.'/lib/accountsettingsaction.php';
+
/**
* Settings for email
* @see Widget
*/
-class EmailsettingsAction extends AccountSettingsAction
+class EmailsettingsAction extends SettingsAction
{
/**
* Title of the page
*
* @return string Title of the page
*/
-
function title()
{
// TRANS: Title for e-mail settings.
*
* @return instructions for use
*/
-
function getInstructions()
{
// XXX: For consistency of parameters in messages, this should be a
*
* @return void
*/
-
function showContent()
{
$user = common_current_user();
$confirm = $this->getConfirmation();
if ($confirm) {
$this->element('p', array('id' => 'form_unconfirmed'), $confirm->address);
- // TRANS: Form note in e-mail settings form.
$this->element('p', array('class' => 'form_note'),
+ // TRANS: Form note in e-mail settings form.
_('Awaiting confirmation on this address. '.
'Check your inbox (and spam box!) for a message '.
'with further instructions.'));
if ($user->incomingemail) {
$this->elementStart('p');
$this->element('span', 'address', $user->incomingemail);
- // XXX: Looks a little awkward in the UI.
+ // @todo XXX: Looks a little awkward in the UI.
// Something like "xxxx@identi.ca Send email ..". Needs improvement.
$this->element('span', 'input_instructions',
// TRANS: Form instructions for incoming e-mail form in e-mail settings.
$this->element('legend', null, _('Email preferences'));
$this->elementStart('ul', 'form_data');
-
+
if (Event::handle('StartEmailFormData', array($this))) {
$this->elementStart('li');
$this->checkbox('emailnotifysub',
*
* @return Confirm_address Email address confirmation for user, or null
*/
-
function getConfirmation()
{
$user = common_current_user();
*
* @return void
*/
-
function handlePost()
{
// CSRF protection
*
* @return void
*/
-
function savePreferences()
{
$user = common_current_user();
-
+
if (Event::handle('StartEmailSaveForm', array($this, &$user))) {
-
+
$emailnotifysub = $this->boolean('emailnotifysub');
$emailnotifyfav = $this->boolean('emailnotifyfav');
$emailnotifymsg = $this->boolean('emailnotifymsg');
$emailnotifyattn = $this->boolean('emailnotifyattn');
$emailmicroid = $this->boolean('emailmicroid');
$emailpost = $this->boolean('emailpost');
-
+
assert(!is_null($user)); // should already be checked
-
+
$user->query('BEGIN');
-
+
$original = clone($user);
-
+
$user->emailnotifysub = $emailnotifysub;
$user->emailnotifyfav = $emailnotifyfav;
$user->emailnotifymsg = $emailnotifymsg;
$user->emailnotifyattn = $emailnotifyattn;
$user->emailmicroid = $emailmicroid;
$user->emailpost = $emailpost;
-
+
$result = $user->update($original);
-
+
if ($result === false) {
common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error updating e-mail preferences.
$this->serverError(_('Could not update user.'));
return;
}
-
+
$user->query('COMMIT');
-
+
Event::handle('EndEmailSaveForm', array($this));
-
+
// TRANS: Confirmation message for successful e-mail preferences save.
$this->showForm(_('Email preferences saved.'), true);
}
*
* @return void
*/
-
function addAddress()
{
$user = common_current_user();
if (!$email) {
// TRANS: Message given saving e-mail address that cannot be normalised.
- $this->showForm(_('Cannot normalize that email address'));
+ $this->showForm(_('Cannot normalize that email address.'));
return;
}
if (!Validate::email($email, common_config('email', 'check_domain'))) {
*
* @return void
*/
-
function cancelConfirmation()
{
$email = $this->arg('email');
*
* @return void
*/
-
function removeAddress()
{
$user = common_current_user();
*
* @return void
*/
-
function removeIncoming()
{
$user = common_current_user();
if (!$user->incomingemail) {
+ // TRANS: Form validation error displayed when trying to remove an incoming e-mail address while no address has been set.
$this->showForm(_('No incoming email address.'));
return;
}
if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error removing incoming e-mail address.
- $this->serverError(_("Could not update user record."));
+ $this->serverError(_('Could not update user record.'));
}
// TRANS: Message given after successfully removing an incoming e-mail address.
*
* @return void
*/
-
function newIncoming()
{
$user = common_current_user();
if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error adding incoming e-mail address.
- $this->serverError(_("Could not update user record."));
+ $this->serverError(_('Could not update user record.'));
}
// TRANS: Message given after successfully adding an incoming e-mail address.