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');
 | 
					                          $action_name === 'linkbacksettings');
 | 
				
			||||||
        return true;
 | 
					        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