forked from GNUsocial/gnu-social
		
	Show better source for linback items
This commit is contained in:
		@@ -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;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user