$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),
- new ColumnDef('last_summary_id', 'integer', null,
- true),
- new ColumnDef('created', 'datetime', null,
- false),
- new ColumnDef('modified', 'datetime', null,
- false),
- )
- );
+ $schema->ensureTable('email_summary_status', Email_summary_status::schemaDef());
return true;
}
- /**
- * Load related modules when needed
- *
- * @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';
- return false;
- default:
- return true;
- }
- }
-
/**
* Version info for this plugin
*
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'EmailSummary',
- 'version' => STATUSNET_VERSION,
+ 'version' => GNUSOCIAL_VERSION,
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:EmailSummary',
'rawdescription' =>
* 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 onEndEmailFormData($action)
+ public function onEndEmailFormData(Action $action, Profile $scoped)
{
- $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));
+ Email_summary_status::getSendSummary($scoped->id));
$action->elementEnd('li');
return 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::staticGet('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;