Extension:FollowButton
<translate> This extension stores its source code on a wiki page.</translate> <translate> Please be aware that this code may be unreviewed or maliciously altered.</translate> <translate> They may contain security holes, outdated interfaces that are no longer compatible etc.</translate> <translate> Note:</translate> <translate> No [[<tvar name=localisation>Special:MyLanguage/Localisation#Translation resources</tvar>|localisation]] updates are provided for this extension by <tvar name=twn>translatewiki.net </tvar>.</translate> |
This extension is incompatible with MediaWiki 1.39 or any later release! You are advised against using this extension on a live site.
|
<translate> This extension is currently not actively maintained!</translate> <translate> Although it may still work, any bug reports or feature requests will more than likely be ignored.</translate> |
FollowButton Release status: unmaintained |
|
---|---|
Implementation | Tag |
Description | Adds <followbutton> tag for displaying follow buttons. |
Author(s) | Toni Hermoso Pulido (Tonihertalk) |
Latest version | 0.1 |
MediaWiki | 1.16, 1.17 |
PHP | 5.2.x, 5.3.x |
License | GNU General Public License 2.0 or later |
Download | Below this page |
Example | http://www.viquimedia.cat |
<followbutton> |
|
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Parser that inserts a Follow Button anywhere in a wiki page.
Services
Usage
For now, only Twitter is available and you have the following parameters:
- lang (2 letter language code. Only a few available in twitter. English by default)
- color (dark or light, light by default)
- count (true or false, true by default)
- service (now only Twitter, by default)
Put your username between the tags (no @ is needed).
Example: (for a Twitter Follow Button in Spanish with no counter): <followbutton count=false lang="es">toniher</followbutton>
Download instructions
Please cut and paste the code found below and place it in $IP/extensions/FollowButton/FollowButton.php
. Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php .
Also copy i18n file in $IP/extensions/FollowButton/FollowButton.i18n.php
Installation
To install this extension, add the following to LocalSettings.php :
#add configuration parameters here
#setup user rights here
require_once("$IP/extensions/FollowButton/FollowButton.php");
Code
FollowButton.php
<?php
/**
* Copyright (C) 2011 Toni Hermoso Pulido <toniher@cau.cat>
* http://www.cau.cat
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* http://www.gnu.org/copyleft/gpl.html
*
*/
// Twitter script bits from: https://twitter.com/about/resources/followbutton
if ( !defined( 'MEDIAWIKI' ) ) {
echo( "This file is an extension to the MediaWiki software and cannot be used standalone.\n" );
die( 1 );
}
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'FollowButton',
'author' => array( 'Toniher' ),
'url' => 'http://mediawiki.org/wiki/Extension:FollowButton',
'description' => 'Adds popular social networks Follow Buttons to your wiki',
'descriptionmsg' => 'followbutton-desc',
);
$wgExtensionFunctions[] = "FollowButtonExtension";
$wgFollowButtonIP = dirname( __FILE__ );
$wgExtensionMessagesFiles['FollowButton'] = "$wgFollowButtonIP/FollowButton.i18n.php";
function FollowButtonExtension() {
global $wgParser;
$wgParser->setHook( "followbutton", "wfFollowButton" );
}
function wfFollowButton( $input, $argv ) {
$service = "Twitter";
if (isset($argv['service'])) { $service = $argv['service']; }
if (strtolower($service) == 'twitter') {
//Defaults
$color = "light";
$count = true;
$label = "Follow";
$lang = "en";
//Strings
$langstr = "";
$colorstr = "";
$countstr = "";
//Conditions
if (isset($argv['color'])) {$color = $argv['color'];}
if (isset($argv['count'])) {$count = $argv['count'];}
if (isset($argv['lang'])) {
$lang = $argv['lang'];
// We take langcode and langcode-{country,variantcode}
if (preg_match('/^\s*\w{2,3}\s*$/', $argv['lang'])) {
$langstr = "data-lang=\"".$lang."\"";
}
elseif (preg_match('/^\s*(\w{2,3})\-(\w+)\s*$/', $argv['lang'], $langbits)) {
$langstr = "data-lang=\"".$langbits[1]."\"";
}
}
if (strtolower($color) == 'dark') {
$colorstr = "data-button=\"grey\" data-text-color=\"#FFFFFF\" data-link-color=\"#00AEFF\"";
}
if ($count != true) {
$countstr = "data-show-count=\"false\"";
}
$output = "<a href=\"http://twitter.com/".$input."\" class=\"twitter-follow-button\" ".$colorstr." ".$countstr." ".$langstr." >".$label.
" @".$input."</a><script src=\"http://platform.twitter.com/widgets.js\" type=\"text/javascript\"></script>";
}
return $output;
}
?>
FollowButton.i18n.php
<?php
/**
* Internationalisation file for Follow Button extension.
*
*/
$messages = array();
$messages['en'] = array(
'followbutton-desc' => 'Adds popular social networks Follow Buttons to your wiki'
);
$messages['ca'] = array(
'followbutton-desc' => 'Afegeix botons de seguiment de xarxes socials populars al vostre wiki'
);
$messages['es'] = array(
'followbutton-desc' => 'Añade botones de seguimiento de redes sociales populares en su wiki'
);
?>
- Pages with script errors
- Pages with broken file links
- Extensions which host their code in-wiki
- Extensions incompatible with 1.39
- Unmaintained extensions
- Extensions without an image
- Tag extensions
- Extensions without a compatibility policy
- Extensions with manual MediaWiki version
- GPL licensed extensions
- All extensions
- Extensions not in ExtensionJson
- Twitter extensions