]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Notifications/Introductions.php
Improvements:
[friendica.git] / src / Module / Notifications / Introductions.php
index 99066bd3c90d515079d62d52ab6e304039c40eaf..69c776382b3b51f236f2db29fab5816256c0d2f1 100644 (file)
@@ -9,6 +9,7 @@ use Friendica\Core\Renderer;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Module\BaseNotifications;
+use Friendica\Object\Notification\Introduction;
 
 /**
  * Prints notifications about introduction
@@ -23,7 +24,10 @@ class Introductions extends BaseNotifications
                $id  = (int)DI::args()->get(2, 0);
                $all = DI::args()->get(2) == 'all';
 
-               $notifications = DI::notification()->getIntroList($all, self::$firstItemNum, self::ITEMS_PER_PAGE, $id);
+               $notifications = [
+                       'ident'         => 'introductions',
+                       'notifications' => DI::factNotIntro()->getList($all, self::$firstItemNum, self::ITEMS_PER_PAGE, $id),
+               ];
 
                return [
                        'header'        => DI::l10n()->t('Notifications'),
@@ -50,48 +54,49 @@ class Introductions extends BaseNotifications
                // The link to switch between ignored and normal connection requests
                $notificationShowLink = [
                        'href' => (!$all ? 'notifications/intros/all' : 'notifications/intros'),
-                       'text' => (!$all ? DI::l10n()->t('Show Ignored Requests') : DI::l10n()->t('Hide Ignored Requests'))
+                       'text' => (!$all ? DI::l10n()->t('Show Ignored Requests') : DI::l10n()->t('Hide Ignored Requests')),
                ];
 
                // Loop through all introduction notifications.This creates an array with the output html for each
                // introduction
+               /** @var Introduction $notification */
                foreach ($notifications['notifications'] as $notification) {
 
                        // There are two kind of introduction. Contacts suggested by other contacts and normal connection requests.
                        // We have to distinguish between these two because they use different data.
-                       switch ($notification['label']) {
+                       switch ($notification->getLabel()) {
                                case 'friend_suggestion':
                                        $notificationContent[] = Renderer::replaceMacros($notificationSuggestions, [
-                                               '$type'                 => $notification['label'],
-                                               'str_notification_type' => DI::l10n()->t('Notification type:'),
-                                               'str_type'              => $notification['str_type'],
-                                               '$intro_id'             => $notification['intro_id'],
-                                               '$lbl_madeby'           => DI::l10n()->t('Suggested by:'),
-                                               '$madeby'               => $notification['madeby'],
-                                               '$madeby_url'           => $notification['madeby_url'],
-                                               '$madeby_zrl'           => $notification['madeby_zrl'],
-                                               '$madeby_addr'          => $notification['madeby_addr'],
-                                               '$contact_id'           => $notification['contact_id'],
-                                               '$photo'                => $notification['photo'],
-                                               '$fullname'             => $notification['name'],
-                                               '$url'                  => $notification['url'],
-                                               '$zrl'                  => $notification['zrl'],
-                                               '$lbl_url'              => DI::l10n()->t('Profile URL'),
-                                               '$addr'                 => $notification['addr'],
-                                               '$hidden'               => ['hidden', DI::l10n()->t('Hide this contact from others'), ($notification['hidden'] == 1), ''],
-                                               '$knowyou'              => $notification['knowyou'],
-                                               '$approve'              => DI::l10n()->t('Approve'),
-                                               '$note'                 => $notification['note'],
-                                               '$request'              => $notification['request'],
-                                               '$ignore'               => DI::l10n()->t('Ignore'),
-                                               '$discard'              => DI::l10n()->t('Discard'),
+                                               '$type'                  => $notification->getLabel(),
+                                               '$str_notification_type' => DI::l10n()->t('Notification type:'),
+                                               '$str_type'              => $notification->getType(),
+                                               '$intro_id'              => $notification->getIntroId(),
+                                               '$lbl_madeby'            => DI::l10n()->t('Suggested by:'),
+                                               '$madeby'                => $notification->getMadeBy(),
+                                               '$madeby_url'            => $notification->getMadeByUrl(),
+                                               '$madeby_zrl'            => $notification->getMadeByZrl(),
+                                               '$madeby_addr'           => $notification->getMadeByAddr(),
+                                               '$contact_id'            => $notification->getContactId(),
+                                               '$photo'                 => $notification->getPhoto(),
+                                               '$fullname'              => $notification->getName(),
+                                               '$url'                   => $notification->getUrl(),
+                                               '$zrl'                   => $notification->getZrl(),
+                                               '$lbl_url'               => DI::l10n()->t('Profile URL'),
+                                               '$addr'                  => $notification->getAddr(),
+                                               '$hidden'                => ['hidden', DI::l10n()->t('Hide this contact from others'), $notification->isHidden(), ''],
+                                               '$knowyou'               => $notification->getKnowYou(),
+                                               '$approve'               => DI::l10n()->t('Approve'),
+                                               '$note'                  => $notification->getNote(),
+                                               '$request'               => $notification->getRequest(),
+                                               '$ignore'                => DI::l10n()->t('Ignore'),
+                                               '$discard'               => DI::l10n()->t('Discard'),
                                        ]);
                                        break;
 
                                // Normal connection requests
                                default:
-                                       $friend_selected = (($notification['network'] !== Protocol::OSTATUS) ? ' checked="checked" ' : ' disabled ');
-                                       $fan_selected    = (($notification['network'] === Protocol::OSTATUS) ? ' checked="checked" disabled ' : '');
+                                       $friend_selected = (($notification->getNetwork() !== Protocol::OSTATUS) ? ' checked="checked" ' : ' disabled ');
+                                       $fan_selected    = (($notification->getNetwork() === Protocol::OSTATUS) ? ' checked="checked" disabled ' : '');
 
                                        $lbl_knowyou = '';
                                        $knowyou     = '';
@@ -99,31 +104,31 @@ class Introductions extends BaseNotifications
                                        $helptext2   = '';
                                        $helptext3   = '';
 
-                                       if ($notification['network'] === Protocol::DFRN) {
+                                       if ($notification->getNetwork() === Protocol::DFRN) {
                                                $lbl_knowyou = DI::l10n()->t('Claims to be known to you: ');
-                                               $knowyou     = (($notification['knowyou']) ? DI::l10n()->t('yes') : DI::l10n()->t('no'));
+                                               $knowyou     = ($notification->getKnowYou() ? DI::l10n()->t('yes') : DI::l10n()->t('no'));
                                                $helptext    = DI::l10n()->t('Shall your connection be bidirectional or not?');
-                                               $helptext2   = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notification['name'], $notification['name']);
-                                               $helptext3   = DI::l10n()->t('Accepting %s as a subscriber allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notification['name']);
-                                       } elseif ($notification['network'] === Protocol::DIASPORA) {
+                                               $helptext2   = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notification->getName(), $notification->getName());
+                                               $helptext3   = DI::l10n()->t('Accepting %s as a subscriber allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notification->getName());
+                                       } elseif ($notification->getNetwork() === Protocol::DIASPORA) {
                                                $helptext  = DI::l10n()->t('Shall your connection be bidirectional or not?');
-                                               $helptext2 = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notification['name'], $notification['name']);
-                                               $helptext3 = DI::l10n()->t('Accepting %s as a sharer allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notification['name']);
+                                               $helptext2 = DI::l10n()->t('Accepting %s as a friend allows %s to subscribe to your posts, and you will also receive updates from them in your news feed.', $notification->getName(), $notification->getName());
+                                               $helptext3 = DI::l10n()->t('Accepting %s as a sharer allows them to subscribe to your posts, but you will not receive updates from them in your news feed.', $notification->getName());
                                        }
 
                                        $dfrn_tpl  = Renderer::getMarkupTemplate('notifications/netfriend.tpl');
                                        $dfrn_text = Renderer::replaceMacros($dfrn_tpl, [
-                                               '$intro_id'        => $notification['intro_id'],
+                                               '$intro_id'        => $notification->getIntroId(),
                                                '$friend_selected' => $friend_selected,
                                                '$fan_selected'    => $fan_selected,
                                                '$approve_as1'     => $helptext,
                                                '$approve_as2'     => $helptext2,
                                                '$approve_as3'     => $helptext3,
                                                '$as_friend'       => DI::l10n()->t('Friend'),
-                                               '$as_fan'          => (($notification['network'] == Protocol::DIASPORA) ? DI::l10n()->t('Sharer') : DI::l10n()->t('Subscriber'))
+                                               '$as_fan'          => (($notification->getNetwork() == Protocol::DIASPORA) ? DI::l10n()->t('Sharer') : DI::l10n()->t('Subscriber')),
                                        ]);
 
-                                       $contact = DBA::selectFirst('contact', ['network', 'protocol'], ['id' => $notification['contact_id']]);
+                                       $contact = DBA::selectFirst('contact', ['network', 'protocol'], ['id' => $notification->getContactId()]);
 
                                        if (($contact['network'] != Protocol::DFRN) || ($contact['protocol'] == Protocol::ACTIVITYPUB)) {
                                                $action = 'follow_confirm';
@@ -131,54 +136,54 @@ class Introductions extends BaseNotifications
                                                $action = 'dfrn_confirm';
                                        }
 
-                                       $header = $notification['name'];
+                                       $header = $notification->getName();
 
-                                       if ($notification['addr'] != '') {
-                                               $header .= ' <' . $notification['addr'] . '>';
+                                       if ($notification->getAddr() != '') {
+                                               $header .= ' <' . $notification->getAddr() . '>';
                                        }
 
-                                       $header .= ' (' . ContactSelector::networkToName($notification['network'], $notification['url']) . ')';
+                                       $header .= ' (' . ContactSelector::networkToName($notification->getNetwork(), $notification->getUrl()) . ')';
 
-                                       if ($notification['network'] != Protocol::DIASPORA) {
+                                       if ($notification->getNetwork() != Protocol::DIASPORA) {
                                                $discard = DI::l10n()->t('Discard');
                                        } else {
                                                $discard = '';
                                        }
 
                                        $notificationContent[] = Renderer::replaceMacros($notificationTemplate, [
-                                               '$type'                 => $notification['label'],
-                                               '$header'               => $header,
-                                               'str_notification_type' => DI::l10n()->t('Notification type:'),
-                                               'str_type'              => $notification['notifytype'],
-                                               '$dfrn_text'            => $dfrn_text,
-                                               '$dfrn_id'              => $notification['dfrn_id'],
-                                               '$uid'                  => $notification['uid'],
-                                               '$intro_id'             => $notification['intro_id'],
-                                               '$contact_id'           => $notification['contact_id'],
-                                               '$photo'                => $notification['photo'],
-                                               '$fullname'             => $notification['name'],
-                                               '$location'             => $notification['location'],
-                                               '$lbl_location'         => DI::l10n()->t('Location:'),
-                                               '$about'                => $notification['about'],
-                                               '$lbl_about'            => DI::l10n()->t('About:'),
-                                               '$keywords'             => $notification['keywords'],
-                                               '$lbl_keywords'         => DI::l10n()->t('Tags:'),
-                                               '$gender'               => $notification['gender'],
-                                               '$lbl_gender'           => DI::l10n()->t('Gender:'),
-                                               '$hidden'               => ['hidden', DI::l10n()->t('Hide this contact from others'), ($notification['hidden'] == 1), ''],
-                                               '$url'                  => $notification['url'],
-                                               '$zrl'                  => $notification['zrl'],
-                                               '$lbl_url'              => DI::l10n()->t('Profile URL'),
-                                               '$addr'                 => $notification['addr'],
-                                               '$lbl_knowyou'          => $lbl_knowyou,
-                                               '$lbl_network'          => DI::l10n()->t('Network:'),
-                                               '$network'              => ContactSelector::networkToName($notification['network'], $notification['url']),
-                                               '$knowyou'              => $knowyou,
-                                               '$approve'              => DI::l10n()->t('Approve'),
-                                               '$note'                 => $notification['note'],
-                                               '$ignore'               => DI::l10n()->t('Ignore'),
-                                               '$discard'              => $discard,
-                                               '$action'               => $action,
+                                               '$type'                  => $notification->getLabel(),
+                                               '$header'                => $header,
+                                               '$str_notification_type' => DI::l10n()->t('Notification type:'),
+                                               '$str_type'              => $notification->getType(),
+                                               '$dfrn_text'             => $dfrn_text,
+                                               '$dfrn_id'               => $notification->getDfrnId(),
+                                               '$uid'                   => $notification->getUid(),
+                                               '$intro_id'              => $notification->getIntroId(),
+                                               '$contact_id'            => $notification->getContactId(),
+                                               '$photo'                 => $notification->getPhoto(),
+                                               '$fullname'              => $notification->getName(),
+                                               '$location'              => $notification->getLocation(),
+                                               '$lbl_location'          => DI::l10n()->t('Location:'),
+                                               '$about'                 => $notification->getAbout(),
+                                               '$lbl_about'             => DI::l10n()->t('About:'),
+                                               '$keywords'              => $notification->getKeywords(),
+                                               '$lbl_keywords'          => DI::l10n()->t('Tags:'),
+                                               '$gender'                => $notification->getGender(),
+                                               '$lbl_gender'            => DI::l10n()->t('Gender:'),
+                                               '$hidden'                => ['hidden', DI::l10n()->t('Hide this contact from others'), $notification->isHidden(), ''],
+                                               '$url'                   => $notification->getUrl(),
+                                               '$zrl'                   => $notification->getZrl(),
+                                               '$lbl_url'               => DI::l10n()->t('Profile URL'),
+                                               '$addr'                  => $notification->getAddr(),
+                                               '$lbl_knowyou'           => $lbl_knowyou,
+                                               '$lbl_network'           => DI::l10n()->t('Network:'),
+                                               '$network'               => ContactSelector::networkToName($notification->getNetwork(), $notification->getUrl()),
+                                               '$knowyou'               => $knowyou,
+                                               '$approve'               => DI::l10n()->t('Approve'),
+                                               '$note'                  => $notification->getNote(),
+                                               '$ignore'                => DI::l10n()->t('Ignore'),
+                                               '$discard'               => $discard,
+                                               '$action'                => $action,
                                        ]);
                                        break;
                        }