'id' => 'emailsettings',
'action' =>
common_local_url('emailsettings')));
+ common_hidden('token', common_session_token());
common_element('h2', NULL, _('Address'));
common_checkbox('emailnotifysub',
_('Send me notices of new subscriptions through email.'),
$user->emailnotifysub);
-
+ common_checkbox('emailpost',
+ _('I want to post notices by email.'),
+ $user->emailpost);
+ common_checkbox('emailmicroid',
+ _('Publish a MicroID for my email address.'),
+ $user->emailmicroid);
+
common_submit('save', _('Save'));
common_element_end('form');
function handle_post() {
+ # CSRF protection
+ $token = $this->trimmed('token');
+ if (!$token || $token != common_session_token()) {
+ $this->show_form(_('There was a problem with your session token. Try again, please.'));
+ return;
+ }
+
if ($this->arg('save')) {
$this->save_preferences();
} else if ($this->arg('add')) {
function save_preferences() {
$emailnotifysub = $this->boolean('emailnotifysub');
+ $emailmicroid = $this->boolean('emailmicroid');
+ $emailpost = $this->boolean('emailpost');
$user = common_current_user();
$original = clone($user);
$user->emailnotifysub = $emailnotifysub;
+ $user->emailmicroid = $emailmicroid;
+ $user->emailpost = $emailpost;
$result = $user->update($original);