Extension:Youtube (lubito)
Template:TNT {{TNT|Extension |name = YouTube |status = beta |type = tag |author = Sylvain Machefert |username = Iubito |image = |version = |update = |mediawiki = 1.16+ |download = see below |readme = |changelog = |description = <youtube> parser tag for displaying YouTube videos on a MediaWiki. |needs-updatephp = No |parameters= |rights = |tags = YouTube : bad video ID ! The file name is video ID code that's at the end of the URL of the video link. That's all. :-)
Installation
Add this line at the end of LocalSettings.php: <source lang="php"> require_once("$IP/extensions/YouTube.php"); </source>
Code
Copy the following code into extensions/YouTube.php :
<source lang="php">
<?php
- YouTube Videos
- Tag:
- Ex:
- from url http://www.youtube.com/watch?v=WZpeeRSk-0A
- Enjoy!
$wgExtensionFunctions[] = 'wfYouTube'; $wgExtensionCredits['parserhook'][] = array( 'name' => 'YouTube', 'description' => 'Display YouTube video', 'author' => 'Sylvain Machefert', 'url' => 'http://www.mediawiki.org/wiki/Extension:YouTube_(Iubito)' );
function wfYouTube() { global $wgParser; $wgParser->setHook('youtube', 'renderYouTube'); }
- The callback function for converting the input text to HTML output
function renderYouTube($input) { //$input = "WZpeeRSk-0A"
$width = 425; $height = 350;
//Validate the video ID if (preg_match('%[^A-Za-z0-9_!\#\\-]%',$input)) { return 'YouTube : bad video ID !'; }
$url = 'http://www.youtube.com/v/' . $input; $output = Xml::openElement( 'object', array( 'width' => $width, 'height' => $height ) ) . Xml::openElement( 'param', array( 'name' => 'movie', 'value' => $url ) ) . '</param>' . Xml::openElement( 'embed', array( 'src' => $url, 'type' => 'application/x-shockwave-flash', 'wmode' => 'transparent', 'width' => $width, 'height' => $height ) ) . '</embed>' . '</object>';
return $output; } </source>
See also
- YouTube Widget on MediaWikiWidgets.org site, it uses Widgets extension.