Extension:VideoFlash
![]() | This extension stores its source code on a wiki page. Please be aware that this code may be unreviewed or maliciously altered. They may contain security holes, outdated interfaces that are no longer compatible etc. Note: No localisation updates are provided for this extension by translatewiki.net . |
Important! - Please consider using the EmbedVideo Extension instead of this - it supports multiple video sharing sites and is syntactically and functionally superior.
VideoFlash Release status: beta |
|||
---|---|---|---|
Implementation | Tag | ||
Description | VideoFlash is an extension that displays videos from YouTube, Google Video, Dailymotion, Sevenload, Revver and similar services | ||
Author(s) | Alberto Sarullo, SignpostMarv Martin, Frank Forte | ||
Latest version | 1.2.4 (2011-03-16) | ||
MediaWiki | 1.6.8+ | ||
Database changes | No | ||
License | GFDL | ||
Download | see below | ||
|
|||
Translate the VideoFlash extension if it is available at translatewiki.net | |||
Check usage and version matrix. |
VideoFlash is an extension that displays videos from YouTube, Google Video, Dailymotion, Sevenload, Revver and similar services based on FLV video format.
This extension is based on Extension:YouTube (Iubito) extension.
Contents
Source[edit]
Copy the following code into extensions/videoflash.php:
<?php
/**
* last change: 2011-03-16
* Available under the GFDL (http://www.gnu.org/copyleft/fdl.html) as source code was taken from http://www.mediawiki.org/wiki/Extension:VideoFlash
* Modification by SignpostMarv Martin
* html5 added by Frank Forte
*/
$wgExtensionFunctions[] = 'wfVideoFlash';
$wgExtensionCredits['parserhook'][] = array(
'name' => 'VideoFlash',
'description' => 'Allows to display videos from YouTube, Google Video, Dailymotion, Sevenload, Revver and similar services',
'author' => 'Alberto Sarullo, SignpostMarv Martin, Frank Forte',
'version' => '1.2.4',
'url' => 'https://www.mediawiki.org/wiki/Extension:VideoFlash'
);
function wfVideoFlash() {
global $wgParser;
$wgParser->setHook('videoflash', 'renderVideoFlash');
}
# The callback function for converting the input text to HTML output
function renderVideoFlash($input, $args) {
// append new services to the array with the key being the intended value of the type attribute on the <videoflash> tag
$url = array();
$url['youtube' ] = 'http://www.youtube.com/v/%1$s?fs=%5$u';
$url['googlevideo'] = 'http://video.google.com/googleplayer.swf?docId=%1$d';
$url['dailymotion'] = 'http://www.dailymotion.com/swf/%1$s';
$url['sevenload' ] = 'http://en.sevenload.com/pl/%1$s/%2$ux%3$u/swf';
$url['revver' ] = 'http://flash.revver.com/player/1.0/player.swf?mediaId=%1$u';
$url['blip' ] = 'http://blip.tv/play/%1$s';
$url['youku' ] = 'http://player.youku.com/player.php/sid/%1$s/.swf';
$url['vimeo' ] = 'http://www.vimeo.com/moogaloop.swf?clip_id=%1$d&server=www.vimeo.com&fullscreen=1&show_title=1&show_byline=0&show_portrait=0';
$url['metacafe' ] = 'http://www.metacafe.com/fplayer/%1$d/' . (isset($args['vid']) ? $args['vid'] : '') . '.swf';
$url['viddler' ] = 'http://www.viddler.com/player/%1$s';
$url['megavideo' ] = 'http://www.megavideo.com/v/%1$s';
$url['html5' ] = '%1$s';
// if the embed code for a service requires flashvars attributes, you can add them here
$flashvars = array();
$flashvars['revver'] = 'mediaId=%1$u&affiliateId=0';
$type = isset($args['type'],$url[$args['type']]) ? $args['type'] : 'youtube';
$media_url = isset($url[$type]) ? $url[$type] : $url['youtube'];
$flash_vars = isset($flashvars[$type]) ? $flashvars[$type] : '';
$input_array = explode('|', htmlspecialchars($input));
$id = current($input_array);
$width = (count($input_array) > 1 && is_numeric($input_array[1])) ? $input_array[1] : 425;
$height = (count($input_array) > 2 && is_numeric($input_array[2])) ? $input_array[2] : 350;
$fullscreen = (isset($args['fullscreen']) ? $args['fullscreen'] : 'true') === 'false' ? false : true;
if(strtolower($type) == 'html5')
{
// I recommend CSS to set the video size, i.e. <videoflash type="html5" style="width:200px;height:150px">url</videoflash>
$output = '<video';
foreach($args as $attribute=>$value)
{
$output .= ' '.$attribute.'="'.$value.'"';
}
$output .= '><source src="'.$id.'"></video><p style="font-size:80%;padding:0;margin:0;">(Right click to control movie)</p>';
return $output;
}
else
{
$output = '<object width="%2$u" height="%3$u">'
.' <param name="movie" value="'.$url[$type].'" />'
.' <param name="allowFullScreen" value="%4$s" />'
.' <param name="wmode" value="transparent" />'
.' <embed src="'.$url[$type] . '" type="application/x-shockwave-flash" wmode="transparent"'
.' width="%2$u" height="%3$u" allowfullscreen="%4$s"'
. ' flashvars="' . $flash_vars . '"></embed></object>';
return sprintf($output,$id,$width,$height,$fullscreen ? 'true' : 'false', (integer)$fullscreen);
}
}
Installation[edit]
- Create the file videoflash.php and paste the code shown above. Make sure there are no empty lines after the final php exit tag.
- Upload videoflash.php to your $IP /extensions directory.
- Add the following lines at the end of LocalSettings.php :
require_once("extensions/videoflash.php");
Usage[edit]
Youtube[edit]
Original url: http://www.youtube.com/watch?v=3EszBH3cQqI
Wiki code:
<videoflash>3EszBH3cQqI</videoflash>
or (with width and height):
<videoflash>3EszBH3cQqI|200|100</videoflash>
GoogleVideo[edit]
Original url: http://video.google.it/videoplay?docid=1811233136844420765
Wiki code:
<videoflash type="googlevideo">1811233136844420765</videoflash>
or (with width and height):
<videoflash type="googlevideo">1811233136844420765|200|150</videoflash>
DailyMotion[edit]
Original url: http://www.dailymotion.com/video/xi23l_geris-game
Wiki code:
<videoflash type="dailymotion">xi23l</videoflash>
or (with width and height):
<videoflash type="dailymotion">xi23l|640|480</videoflash>
Vimeo[edit]
Original url: http://vimeo.com/9394817
Wiki code:
<videoflash type="vimeo">9394817</videoflash>
or (with width and height):
<videoflash type="vimeo">9394817|640|480</videoflash>
Sevenload[edit]
Original url: http://en.sevenload.com/videos/Eh4mjir/Bewegungen-der-Natur
Wiki code:
<videoflash type="sevenload">Eh4mjir</videoflash>
or (with width and height):
<videoflash type="sevenload">Eh4mjir|640|480</videoflash>
Revver[edit]
Original url: http://one.revver.com/watch/138657
Wiki code:
<videoflash type="revver">138657</videoflash>
or (with width and height):
<videoflash type="revver">138657|640|480</videoflash>
MetaCafe[edit]
Original url: http://www.metacafe.com/watch/2387062/pump_it/
Wiki code:
<videoflash type="metacafe" vid="pump_it">2387062</videoflash>
or (with width and height):
<videoflash type="metacafe" vid="pump_it">2387062|640|480</videoflash>
Blip[edit]
Currently blip uses urls like: http://blip.tv/file/1490573
You cannot use the above ID with the code
http://blip.tv/play/$someID
which is used in this VideoFlash extension.
To get the correct ID to use click on 'embed' in Blip and extract the id used in the flash embed code
<embed src="http://blip.tv/play/AdvpMQA" type="application/x-shockwave-flash" width="640" height="510" allowscriptaccess="always" allowfullscreen="true"></embed>
Wiki code:
<videoflash type="blip">AdvpMQA</videoflash>
note: I don't know why Blip.tv uses different ID's in it's embed code as opposed to it's url. I suspect it may be changing over or something, which is why I haven't suggested editing the code of this extension to use the 'file' rather than the 'play' url for Blip.
Globo Vídeos (Brazil)[edit]
by alexandre260678@hotmail.com
Add the command line
$url['globovideo']='http://video.globo.com/Portal/videos/cda/player/player.swf?midiaId=%1$u';
the file videoflash.php
Copy the parameter midiaId
<embed width="480" height="392" flashvars="midiaId=1056877&autoStart=false&width=480&height=392" type="application/x-shockwave-flash" quality="high" src="http://video.globo.com/Portal/videos/cda/player/player.swf"></embed>
Wiki code:
<videoflash type="globovideo">1056877</videoflash>
HTML5[edit]
by Frank Forte
Adding HTML5 videos (webm, mp4, ovg formats) simply replace the video URL below in your wiki when using videoflash extension.
Wiki code:
<videoflash type="html5" style="width:200px;height:150px;">http://yourwebsite.com/yourvideo.webm</videoflash>
History[edit]
- 1.1 - 2007-03-24 - Added Revver support; fixed xss vulnerability (tnx Jimbojw)
- 1.0 - 2007-01-23 - First release
MediaWiki Version[edit]
- Successfully tested on MediaWiki 1.6.9, MediaWiki 1.8.4, MediaWiki 1.9.3, MediaWiki 1.15.0 (for Vimeo) and MediaWiki 1.16.0 (for megavideo)
Full Screen[edit]
/*******************************************************************************
* *
* Simple "View in fullscreen" addon by xiandos.info. *
* *
* At the end, before the output is returned, add: *
* *
********************************************************************************/
if (strstr($type, "googlevideo")){
$output .= '<p><a href="javascript:void(window.open('
."'http://video.google.com/googleplayer.swf?docid="
.$id
."','GooglePlayer','location=no,menubar=no,scrollbars=auto,status=no,"
."toolbar=no,fullscreen=yes,dependent=no,left=1,top=1'))"
.'">View the video in fullscreen</a></p>';
}
return $output;
Other implementations[edit]
- Video Widgets category on MediaWiki widgets site (has all the widgets this extension supports and more)
Wikis using this extension[edit]
See here. Please add your wiki, too.
See also[edit]
- Extension:FramedVideo - fork of this extension (unmaintained)