Extension:FaviconLink

From MediaWiki.org

Jump to: navigation, search

       

Manual on MediaWiki Extensions
List of MediaWiki Extensions
Crystal Clear action run.png
FaviconLink

Release status: unknown

Implementation  Tag
Description Grabs the favicon from the site you are linking to, and puts it in front of the link
Author(s)  FlappySocks
Last Version  1.0
License No license specified
Download see below

check usage (experimental)

[edit] Introduction

Grabs the favicon from the site you're linking to, and puts it in front of the link

[edit] Download and Installation

Step 1: Copy-paste this code into a file FaviconLink.php and place it in extensions directory.

<?php
# FaviconLink MediaWiki extension
#
# To activate the extension, include it from your LocalSettings.php
# with: require_once ("extensions/FaviconLink.php");

$wgExtensionCredits['specialpage'][] = array(
        'name' => 'FaviconLink',
        'author' => 'FlappySocks',
        'url' => 'http://www.mediawiki.org/wiki/Extension:FaviconLink',
        'description' => 'Grabs the favicon from the site you\'re linking to, and puts it in front of the link.'
);
 
$wgExtensionFunctions[] = "wfFaviconLink";
 
function wfFaviconLink() {
    global $wgParser;
    $wgParser->setHook( "ilink", "FaviconLink" );
}
 
# The callback function for converting the input text to HTML output
function FavIconLink( $input) {
 
    //Look for the start of the URL
    $pt1 = strpos($input, "://");
    if ($pt1===false) $input="http://".$input;
 
    //Look for the end of the domain
    $pt1 = strpos($input, "/",9);
    if ($pt1===false) $pt1 = strpos($input, " ",9);
    if ($pt1===false) $pt1 = strlen($input);
    $favicon = substr($input, 0, $pt1)."/favicon.ico";
 
 
    //Look for the name/description
    $pt2 = strpos($input, " ",$pt1);
    if ($pt2===false)
    {
      $link=substr($input, 0, strlen($input));
      $linkname = $link;
    }
    else
    {
      $link=substr($input, 0, $pt2);
      $linkname = substr($input, $pt2+1, strlen($input)-$pt2-1);
    }
 
    $favicon = htmlspecialchars($favicon);
    $linkname = htmlspecialchars($linkname);
    $link = htmlspecialchars($link);
 
    return '<a href="'.$link.'"><img src="'.$favicon.'"> '.$linkname.'</a>';
}

Step 2: Add the following line to LocalSettings.php:

include ("extensions/FaviconLink.php");

Step 3: Add links to your page using <ilink> </ilink> For example.

<ilink>http://www.google.co.uk Google</ilink>

[edit] See also

  • Extension:IconLink is as an enhanced version of Extension:FaviconLink, but implemented as a parser function so that it can be used in templates too.
  • Extension:ImageLink provides, amongst other things, favicon support through the parser function #iconlink