]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/ContactSelector.php
Merge pull request #8036 from nupplaphil/task/redundant_system_call
[friendica.git] / src / Content / ContactSelector.php
index ac14926920601c1acfa78cf85d67f4ba9c31011e..7a36ea8c681be56a7ad77e9755402e2d96f76fce 100644 (file)
@@ -105,12 +105,13 @@ class ContactSelector
        }
 
        /**
-        * @param string $network network
-        * @param string $profile optional, default empty
+        * @param string $network  network of the contact
+        * @param string $profile  optional, default empty
+        * @param string $protocol (Optional) Protocol that is used for the transmission
         * @return string
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function networkToName($network, $profile = "")
+       public static function networkToName($network, $profile = '', $protocol = '')
        {
                $nets = [
                        Protocol::DFRN      =>   L10n::t('DFRN'),
@@ -125,6 +126,7 @@ class ContactSelector
                        Protocol::GPLUS     =>   L10n::t('Google+'),
                        Protocol::PUMPIO    =>   L10n::t('pump.io'),
                        Protocol::TWITTER   =>   L10n::t('Twitter'),
+                       Protocol::DISCOURSE =>   L10n::t('Discourse'),
                        Protocol::DIASPORA2 =>   L10n::t('Diaspora Connector'),
                        Protocol::STATUSNET =>   L10n::t('GNU Social Connector'),
                        Protocol::ACTIVITYPUB => L10n::t('ActivityPub'),
@@ -161,6 +163,10 @@ class ContactSelector
                        }
                }
 
+               if (!empty($protocol) && ($protocol != $network)) {
+                       $networkname = L10n::t('%s (via %s)', $networkname, self::networkToName($protocol));
+               }
+
                return $networkname;
        }
 
@@ -185,16 +191,23 @@ class ContactSelector
                        Protocol::GPLUS     =>   'google-plus',
                        Protocol::PUMPIO    =>   'file-text-o', /// @todo
                        Protocol::TWITTER   =>   'twitter',
+                       Protocol::DISCOURSE =>   'dot-circle-o', /// @todo
                        Protocol::DIASPORA2 =>   'diaspora',
                        Protocol::STATUSNET =>   'gnu-social',
                        Protocol::ACTIVITYPUB => 'activitypub',
                        Protocol::PNUT      =>   'file-text-o', /// @todo
                ];
 
+               $platform_icons = ['diaspora' => 'diaspora', 'friendica' => 'friendica', 'friendika' => 'friendica',
+                       'GNU Social' => 'gnu-social', 'gnusocial' => 'gnu-social', 'hubzilla' => 'hubzilla',
+                       'mastodon' => 'mastodon', 'peertube' => 'peertube', 'pixelfed' => 'pixelfed',
+                       'pleroma' => 'pleroma', 'red' => 'hubzilla', 'redmatrix' => 'hubzilla',
+                       'socialhome' => 'social-home', 'wordpress' => 'wordpress'];
+
                $search  = array_keys($nets);
                $replace = array_values($nets);
 
-               $networkicon = str_replace($search, $replace, $network);
+               $network_icon = str_replace($search, $replace, $network);
 
                if ((in_array($network, Protocol::FEDERATED)) && ($profile != "")) {
                        $server_url = self::getServerURLForProfile($profile);
@@ -203,16 +216,11 @@ class ContactSelector
                        $gserver = DBA::selectFirst('gserver', ['platform'], ['nurl' => $server_url]);
 
                        if (DBA::isResult($gserver) && !empty($gserver['platform'])) {
-                               $icons = ['diaspora' => 'diaspora', 'friendica' => 'friendica', 'friendika' => 'friendica',
-                                       'GNU Social' => 'gnu-social', 'gnusocial' => 'gnu-social', 'hubzilla' => 'hubzilla',
-                                       'mastodon' => 'mastodon', 'peertube' => 'peertube', 'pixelfed' => 'pixelfed',
-                                       'pleroma' => 'pleroma', 'red' => 'hubzilla', 'redmatrix' => 'hubzilla',
-                                       'socialhome' => 'social-home', 'wordpress' => 'wordpress'];
-                               $networkicon = $icons[strtolower($gserver['platform'])] ?? $networkicon;
+                               $network_icon = $platform_icons[strtolower($gserver['platform'])] ?? $network_icon;
                        }
                }
 
-               return $networkicon;
+               return $network_icon;
        }
 
        /**