diff options
author | Evan Prodromou <evan@status.net> | 2010-11-11 14:51:14 -0500 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-11-11 14:51:14 -0500 |
commit | 2d55bc0e5b89012e700bbeb68411e51477862b23 (patch) | |
tree | 3e9e9cc783c280cccfeec305633c97c72dc03887 /plugins/EmailSummary | |
parent | adb16b8098dbe8870b7f4a9dcde49930a41666ff (diff) |
give users a chance to opt out of email summaries
Diffstat (limited to 'plugins/EmailSummary')
-rw-r--r-- | plugins/EmailSummary/EmailSummaryPlugin.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/plugins/EmailSummary/EmailSummaryPlugin.php b/plugins/EmailSummary/EmailSummaryPlugin.php index 03577bb4a..58c40e43c 100644 --- a/plugins/EmailSummary/EmailSummaryPlugin.php +++ b/plugins/EmailSummary/EmailSummaryPlugin.php @@ -135,4 +135,68 @@ class EmailSummaryPlugin extends Plugin $qm->connect('usersum', 'UserEmailSummaryHandler'); return true; } + + /** + * Add a checkbox to turn off email summaries + * + * @param Action $action Action being executed (emailsettings) + * + * @return boolean hook value + */ + + function onEndEmailFormData($action) + { + $user = common_current_user(); + + $action->elementStart('li'); + $action->checkbox('emailsummary', + // TRANS: Checkbox label in e-mail preferences form. + _('Send me a periodic summary of updates from my network.'), + Email_summary_status::getSendSummary($user->id)); + $action->elementEnd('li'); + return true; + } + + /** + * Add a checkbox to turn off email summaries + * + * @param Action $action Action being executed (emailsettings) + * + * @return boolean hook value + */ + + function onEndEmailSaveForm($action) + { + $sendSummary = $action->boolean('emailsummary'); + + $user = common_current_user(); + + if (!empty($user)) { + + $ess = Email_summary_status::staticGet('user_id', $user->id); + + if (empty($ess)) { + + $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->insert(); + + } else { + + $orig = clone($ess); + + $ess->send_summary = $sendSummary; + $ess->modified = common_sql_now(); + + $ess->update($orig); + } + } + + return true; + } } |