*/
class FavoritePlugin extends ActivityHandlerPlugin
{
- protected $notify_email_fave = 1;
+ protected $email_notify_fave = 1;
public function tag()
{
$user->whereAdd('emailnotifyfav IS NOT NULL');
if ($user->find()) {
printfnq("Detected old User table (emailnotifyfav IS NOT NULL). Moving 'emailnotifyfav' property to Profile_prefs...");
+ // First we'll make sure Profile_prefs exists
+ $schema = Schema::get();
+ $schema->ensureTable('profile_prefs', Profile_prefs::schemaDef());
+
// Make sure we have our own tables setup properly
while ($user->fetch()) {
$user->setPref('email', 'notify_fave', $user->emailnotifyfav);
return $object;
}
+ // FIXME: Put this in lib/activityhandlerplugin.php when we're ready
+ // with the other microapps/activityhandlers as well.
+ // Also it should be StartNoticeAsActivity (with a prepped Activity, including ->context etc.)
+ public function onEndNoticeAsActivity(Notice $stored, Activity $act, Profile $scoped=null)
+ {
+ if (!$this->isMyNotice($stored)) {
+ return true;
+ }
+
+ common_debug('Extending activity '.$stored->id.' with '.get_called_class());
+ $this->extendActivity($stored, $act, $scoped);
+ return false;
+ }
+
+ public function extendActivity(Notice $stored, Activity $act, Profile $scoped=null)
+ {
+ Fave::extendActivity($stored, $act, $scoped);
+ }
public function activityObjectFromNotice(Notice $notice)
{
foreach ($mentioned_ids as $id) {
$mentioned = User::getKV('id', $id);
if ($mentioned instanceof User && $mentioned->id != $stored->profile_id
- && $mentioned->email && $mentioned->getPref('email', 'notify_fave', $this->notify_email_fave)) { // do we have an email, and does user want it?
+ && $mentioned->email && $mentioned->getPref('email', 'notify_fave', $this->email_notify_fave)) { // do we have an email, and does user want it?
mail_notify_fave($mentioned, $stored->getProfile(), $stored->getParent());
}
}
if (empty($arg)) {
$result = null;
} else {
- list($other, $extra) = $this->split_arg($arg);
+ list($other, $extra) = CommandInterpreter::split_arg($arg);
if (!empty($extra)) {
$result = null;
} else {
/**
* Are we allowed to perform a certain command over the API?
*/
- public function onCommandSupportedAPI(Command $cmd, array &$supported)
+ public function onCommandSupportedAPI(Command $cmd, &$supported)
{
$supported = $supported || $cmd instanceof FavCommand;
}
{
// getConfigData will fall back on systemwide default
// and we only wish to save numerical true or false.
- $emailfave = $scoped->getPref('email', 'notify_fave', $this->notify_email_fave) ? 1 : 0;
+ $emailfave = $scoped->getPref('email', 'notify_fave', $this->email_notify_fave) ? 1 : 0;
$action->elementStart('li');
$action->checkbox('email-notify_fave',