]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/PushSubscription.php
Merge pull request #12277 from nupplaphil/mod/fbrowser
[friendica.git] / src / Worker / PushSubscription.php
index 7b9f5acbd9adfeb82553b81e8ccf4e78be959648..e6876ad3eb21bd0ca2e9c90ff2404a80deb0bc08 100644 (file)
@@ -26,17 +26,24 @@ use Friendica\Content\Text\Plaintext;
 use Friendica\Core\Logger;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Factory\Api\Mastodon\Notification as NotificationFactory;
 use Friendica\Model\Contact;
 use Friendica\Model\Post;
 use Friendica\Model\Subscription as ModelSubscription;
 use Friendica\Model\User;
-use Friendica\Navigation\Notifications;
 use Friendica\Network\HTTPException\NotFoundException;
 use Minishlink\WebPush\WebPush;
 use Minishlink\WebPush\Subscription;
 
 class PushSubscription
 {
+       /**
+        * Creates push subscription by subscription and notification ids
+        *
+        * @param int $sid Subscription id
+        * @param int $nid Notification id
+        * @return void
+        */
        public static function execute(int $sid, int $nid)
        {
                Logger::info('Start', ['subscription' => $sid, 'notification' => $nid]);
@@ -48,7 +55,7 @@ class PushSubscription
                }
 
                try {
-                       $Notification = DI::notification()->selectOneById($nid);
+                       $notification = DI::notification()->selectOneById($nid);
                } catch (NotFoundException $e) {
                        Logger::info('Notification not found', ['notification' => $nid]);
                        return;
@@ -60,7 +67,7 @@ class PushSubscription
                        return;
                }
 
-               $user = User::getById($Notification->uid);
+               $user = User::getById($notification->uid);
                if (empty($user)) {
                        Logger::info('User not found', ['application' => $subscription['uid']]);
                        return;
@@ -68,22 +75,22 @@ class PushSubscription
 
                $l10n = DI::l10n()->withLang($user['language']);
 
-               if ($Notification->actorId) {
-                       $actor = Contact::getById($Notification->actorId);
+               if ($notification->actorId) {
+                       $actor = Contact::getById($notification->actorId);
                }
 
                $body = '';
 
-               if ($Notification->targetUriId) {
-                       $post = Post::selectFirst([], ['uri-id' => $Notification->targetUriId, 'uid' => [0, $Notification->uid]]);
+               if ($notification->targetUriId) {
+                       $post = Post::selectFirst([], ['uri-id' => $notification->targetUriId, 'uid' => [0, $notification->uid]]);
                        if (!empty($post['body'])) {
                                $body = BBCode::toPlaintext($post['body'], false);
-                               $body = Plaintext::shorten($body, 160, $Notification->uid);
+                               $body = Plaintext::shorten($body, 160, $notification->uid);
                        }
                }
 
-               $message = DI::notificationFactory()->getMessageFromNotification($Notification, DI::baseUrl(), $l10n);
-               $title = $message['plain'] ?: '';
+               $message = DI::notificationFactory()->getMessageFromNotification($notification);
+               $title = $message['plain'] ?? '';
 
                $push = Subscription::create([
                        'contentEncoding' => 'aesgcm',
@@ -98,7 +105,7 @@ class PushSubscription
                        'access_token'      => $application_token['access_token'],
                        'preferred_locale'  => $user['language'],
                        'notification_id'   => $nid,
-                       'notification_type' => \Friendica\Factory\Api\Mastodon\Notification::getType($Notification),
+                       'notification_type' => NotificationFactory::getType($notification),
                        'icon'              => $actor['thumb'] ?? '',
                        'title'             => $title ?: $l10n->t('Notification from Friendica'),
                        'body'              => $body ?: $l10n->t('Empty Post'),