* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class EmailSummaryPlugin extends Plugin
{
/**
*
* @return boolean hook value
*/
-
function onCheckSchema()
{
$schema = Schema::get();
// For storing user-submitted flags on profiles
-
$schema->ensureTable('email_summary_status',
array(new ColumnDef('user_id', 'integer', null,
false, 'PRI'),
new ColumnDef('send_summary', 'tinyint', null,
- false, null, 1),
+ false, null, 1),
new ColumnDef('last_summary_id', 'integer', null,
- true),
+ true),
new ColumnDef('created', 'datetime', null,
- false),
+ false),
new ColumnDef('modified', 'datetime', null,
- false),
- )
- );
+ false),
+ )
+ );
return true;
}
* @param string $cls Name of the class to be loaded
*
* @return boolean hook value; true means continue processing, false means stop.
- *
+ *
*/
-
function onAutoload($cls)
{
$dir = dirname(__FILE__);
switch ($cls)
- {
- case 'SiteEmailSummaryHandler':
- case 'UserEmailSummaryHandler':
- include_once $dir . '/'.strtolower($cls).'.php';
- return false;
- case 'Email_summary_status':
- include_once $dir . '/'.$cls.'.php';
+ {
+ case 'SiteEmailSummaryHandler':
+ case 'UserEmailSummaryHandler':
+ include_once $dir . '/'.strtolower($cls).'.php';
return false;
- default:
- return true;
- }
+ case 'Email_summary_status':
+ include_once $dir . '/'.$cls.'.php';
+ return false;
+ default:
+ return true;
+ }
}
/**
* @param array &$versions array of version data
*
* @return boolean hook value; true means continue processing, false means stop.
- *
*/
-
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'EmailSummary',
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:EmailSummary',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Send an email summary of the inbox to users.'));
return true;
}
/**
* Register our queue handlers
- *
+ *
* @param QueueManager $qm Current queue manager
- *
+ *
* @return boolean hook value
*/
-
function onEndInitializeQueueManager($qm)
{
- $qm->connect('sitesum', 'SiteEmailSummaryHandler');
- $qm->connect('usersum', 'UserEmailSummaryHandler');
- return true;
+ $qm->connect('sitesum', 'SiteEmailSummaryHandler');
+ $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;
+ $user = common_current_user();
+
+ $action->elementStart('li');
+ $action->checkbox('emailsummary',
+ // TRANS: Checkbox label in e-mail preferences form.
+ _m('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;
+ $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;
}
}