StartEmailSaveForm: before starting to save a email settings form
- $action: action object being shown
-- &$user: user being saved
+- $scoped: Profile user having their email settings saved
EndEmailSaveForm: after saving a email settings form (after commit)
- $action: action object being shown
-- &$user: user being saved
+- $scoped: Profile user having their email settings saved
StartRegistrationFormData: just before showing text entry fields on registration page
- $action: action object being shown
{
$user = common_current_user();
- if (Event::handle('StartEmailSaveForm', array($this, &$user))) {
+ if (Event::handle('StartEmailSaveForm', array($this, $this->scoped))) {
$emailnotifysub = $this->boolean('emailnotifysub');
$emailnotifyfav = $this->boolean('emailnotifyfav');
$emailnotifymsg = $this->boolean('emailnotifymsg');
$user->query('COMMIT');
- Event::handle('EndEmailSaveForm', array($this));
+ Event::handle('EndEmailSaveForm', array($this, $this->scoped));
// TRANS: Confirmation message for successful e-mail preferences save.
$this->showForm(_('Email preferences saved.'), true);
* Add a checkbox to turn off email summaries
*
* @param Action $action Action being executed (emailsettings)
+ * @param Profile $scoped Profile for whom settings are configured (current user)
*
* @return boolean hook value
*/
- function onEndEmailSaveForm($action)
+ public function onEndEmailSaveForm(Action $action, Profile $scoped)
{
$sendSummary = $action->boolean('emailsummary');
- $user = common_current_user();
-
- if (!empty($user)) {
-
- $ess = Email_summary_status::getKV('user_id', $user->id);
+ $ess = Email_summary_status::getKV('user_id', $scoped->id);
- if (empty($ess)) {
+ if (empty($ess)) {
- $ess = new Email_summary_status();
+ $ess = new Email_summary_status();
- $ess->user_id = $user->id;
- $ess->send_summary = $sendSummary;
- $ess->created = common_sql_now();
- $ess->modified = common_sql_now();
+ $ess->user_id = $scoped->id;
+ $ess->send_summary = $sendSummary;
+ $ess->created = common_sql_now();
+ $ess->modified = common_sql_now();
- $ess->insert();
+ $ess->insert();
- } else {
+ } else {
- $orig = clone($ess);
+ $orig = clone($ess);
- $ess->send_summary = $sendSummary;
- $ess->modified = common_sql_now();
+ $ess->send_summary = $sendSummary;
+ $ess->modified = common_sql_now();
- $ess->update($orig);
- }
+ $ess->update($orig);
}
return true;