]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Show better source for linback items
authorStephen Paul Weber <singpolyma@singpolyma.net>
Tue, 27 Oct 2015 17:13:11 +0000 (17:13 +0000)
committerStephen Paul Weber <singpolyma@singpolyma.net>
Thu, 12 Nov 2015 19:07:26 +0000 (19:07 +0000)
plugins/Linkback/LinkbackPlugin.php

index 642909112d9d09268ae484c2e004ad8e427d5619..4e6214c71400bbb481a43ac8b9a080f55e3e568f 100644 (file)
@@ -358,4 +358,34 @@ class LinkbackPlugin extends Plugin
                           $action_name === 'linkbacksettings');
         return true;
     }
+
+    function onStartNoticeSourceLink($notice, &$name, &$url, &$title)
+    {
+        // If we don't handle this, keep the event handler going
+        if (!in_array($notice->source, array('linkback'))) {
+            return true;
+        }
+
+        try {
+            $url = $notice->getUrl();
+            // If getUrl() throws exception, $url is never set
+
+            $bits = parse_url($url);
+            $domain = $bits['host'];
+            if (substr($domain, 0, 4) == 'www.') {
+                $name = substr($domain, 4);
+            } else {
+                $name = $domain;
+            }
+
+            // TRANS: Title. %s is a domain name.
+            $title = sprintf(_m('Sent from %s via Linkback'), $domain);
+
+            // Abort event handler, we have a name and URL!
+            return false;
+        } catch (InvalidUrlException $e) {
+            // This just means we don't have the notice source data
+            return true;
+        }
+    }
 }