Extension:PollDaddy
From MediaWiki.org
|
PollDaddy Release status: unknown |
|
|---|---|
| Implementation | Tag |
| Description | An extension that allows embedding of polldaddy.com polls into MediaWiki |
| Author(s) | Jabberwocky @ Lostpedia |
| Last version | 1.3 |
| License | GNU General Public License 2.0 or later |
| Download | see below |
|
Check usage (experimental) |
|
PollDaddy is a MediaWiki extension to insert polldaddy.com polls into the wiki. It was originally based off of Sylvain Machefert's GoogleVideo and YouTube video extensions, but has been re-written to use parameters within the tag to make it more elegant and secure.
[edit] Usage
Put the following code into the page where you want to display a poll, replacing "12345" with the correct poll ID number:
<polldaddy pollid="12345"/>
[edit] Installation
- Download the source code and put it into $IP/extensions/PollDaddy as PollDaddy.php
- Add
into your wiki's LocalSettings.phprequire_once("$IP/extensions/PollDaddy/PollDaddy.php");
- Installation can now be verified through Special:Version
[edit] Source Code
<?php /** * An extension that allows embedding of polldaddy.com polls into MediaWiki * * @file * @ingroup Extensions * * @author Jabberwock @ Lostpedia * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later * @link http://www.mediawiki.org/wiki/Extension:PollDaddy Documentation * * Version 1.3 * * Changes: 1.2: --use parameters from tag instead of delimited $input * 1.3: --polldaddy no longer supporting flash polls. Using javascript instead * --width and height no longer required * * Tag: <polldaddy pollid="12345"/> */ # Confirm MW environment if ( !defined( 'MEDIAWIKI' ) ) { die( 'This file is a MediaWiki extension, it is not a valid entry point' ); } // Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980 if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) { $wgHooks['ParserFirstCallInit'][] = 'wfPolldaddy'; } else { $wgExtensionFunctions[] = 'wfPolldaddy'; } // Extension credits that will show up on Special:Version $wgExtensionCredits['parserhook'][] = array( 'name' => 'PollDaddy', 'version' => '1.3', 'description' => 'Display polls from polldaddy.com', 'author' => 'Jabberwock', 'url' => 'http://www.mediawiki.org/wiki/Extension:PollDaddy' ); function wfPolldaddy() { global $wgParser; $wgParser->setHook('polldaddy', 'renderPolldaddy'); return true; } # The callback function for converting the input text to HTML output function renderPolldaddy( $input, $params ) { //$v = htmlspecialchars($params['v']); $pollid = htmlspecialchars($params['pollid']); if( $pollid == null ) { $output = '<i>Poll Error: no poll specified!</i>'; return $output; } $output = '<script type="text/javascript" language="javascript" src="http://s3.polldaddy.com/p/'.$pollid.'.js"></script><noscript> <a href ="http://answers.polldaddy.com/poll/'.$pollid.'/" >Link</a> <br/> <span style="font-size:9px;"> (<a href ="http://www.polldaddy.com"> surveys</a>)</span></noscript>'; return $output; }
