X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FFavorite%2FFavoritePlugin.php;h=017b78d8b9c366e24f0673ca2fa11236ec6471e2;hb=aca5ff1b23152abf01551c384c1b1d43ecc40b6f;hp=062b2147cea4efc2f8b9dc69b062d3a6502ca89c;hpb=ea8cb21e98b099af744d91831ae2ad0ae87926d0;p=quix0rs-gnu-social.git diff --git a/plugins/Favorite/FavoritePlugin.php b/plugins/Favorite/FavoritePlugin.php index 062b2147ce..017b78d8b9 100644 --- a/plugins/Favorite/FavoritePlugin.php +++ b/plugins/Favorite/FavoritePlugin.php @@ -25,7 +25,7 @@ if (!defined('GNUSOCIAL')) { exit(1); } */ class FavoritePlugin extends ActivityHandlerPlugin { - protected $notify_email_fave = 1; + protected $email_notify_fave = 1; public function tag() { @@ -59,6 +59,10 @@ class FavoritePlugin extends ActivityHandlerPlugin $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); @@ -187,6 +191,24 @@ class FavoritePlugin extends ActivityHandlerPlugin 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) { @@ -211,7 +233,7 @@ class FavoritePlugin extends ActivityHandlerPlugin 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()); } } @@ -375,7 +397,7 @@ class FavoritePlugin extends ActivityHandlerPlugin 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 { @@ -398,7 +420,7 @@ class FavoritePlugin extends ActivityHandlerPlugin /** * 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; } @@ -409,7 +431,7 @@ class FavoritePlugin extends ActivityHandlerPlugin { // 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',