<?php

/*
Plugin Name: BlogVideoz
Plugin URI: http://blog.awm-resource.de/
Description: A filter for WordPress that displays videos from different video-sites
Version: 1.0
Author: Oliver Karthaus
Author URI: http://blog.awm-resource.de/

Instructions

This file is based on a YouTube Plugin from Bassistance. Copy this file unzipped
into the wp-content/plugins folder of WordPress, then go to Administration > Plugins,
it should be in the list. Activtate it and every occurence of the following expression
(case unsensitive) will come up as an embedded flash player. This Plugin works with
Metacafe.com, YouTube.com, Clipfish.de, MyVideo.de, Video.Google.com and Sevenload.de

*/


// METACAFE

/*

To insert Videos from Metacafe into your Postings, please insert the following code:
Example URI: http://www.metacafe.com/watch/30999/the_amazing_brothers/
Code for you Post: [metacafe 30999|the_amazing_brothers]

*/

define("METACAFE_WIDTH", 400);
define("METACAFE_HEIGHT", 350);
define("METACAFE_REGEXP", "/\[metacafe ([[:print:]]+)\|([[:print:]]+)\]/");
define("METACAFE_TARGET", "<embed src=\"http://www.metacafe.com/fplayer/###ID###/###FILE###.swf\" width=\"".METACAFE_WIDTH."\" height=\"".METACAFE_HEIGHT."\" wmode=\"transparent\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"></embed>");

function
metacafe_plugin_callback($match)
{
    
$output = METACAFE_TARGET;
    
$output = str_replace("###ID###", $match[1], $output);
    
$output = str_replace("###FILE###", $match[2], $output);
    return (
$output);
}

function
metacafe_plugin($content)
{
    return (
preg_replace_callback(METACAFE_REGEXP, 'metacafe_plugin_callback', $content));
}

add_filter('the_content', 'metacafe_plugin');
add_filter('comment_text', 'metacafe_plugin');



// CLIPFISH

/*

To insert Videos from Clipfish into your Postings, please insert the following code:
Example URI: http://clipfish.de/player.php?videoid=NzQwOXw4OQ%3D%3D&cat=1
Code for you Post: [clipfish NzQwOXw4OQ%3D%3D]

*/

define("CLIPFISH_WIDTH", 400);
define("CLIPFISH_HEIGHT", 350);
define("CLIPFISH_REGEXP", "/\[clipfish ([[:print:]]+)\]/");
define("CLIPFISH_TARGET", "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"".CLIPFISH_WIDTH."\" height=\"".CLIPFISH_HEIGHT."\"><param name=\"allowScriptAccess\" value=\"sameDomain\" /><param name=\"autoplay\" value=\"false\" /><param name=\"movie\" value=\"http://www.clipfish.de/videoplayer.swf?videoid=###URL###&r=1\" /><param name=\"wmode\" value=\"transparent\"><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\"#999999\" /><embed src=\"http://www.clipfish.de/videoplayer.swf?videoid=###URL###&r=1\" quality=\"high\" bgcolor=\"#999999\" width=\"".CLIPFISH_WIDTH."\" height=\"".CLIPFISH_HEIGHT."\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /></object>");


function
clipfish_plugin_callback($match)
{
    
$output = CLIPFISH_TARGET;
    
$output = str_replace("###URL###", $match[1], $output);
    return (
$output);
}

function
clipfish_plugin($content)
{
    return (
preg_replace_callback(CLIPFISH_REGEXP, 'clipfish_plugin_callback', $content));
}

add_filter('the_content', 'clipfish_plugin');
add_filter('comment_text', 'clipfish_plugin');


// MYVIDEO


/*

To insert Videos from MyVideo into your Postings, please insert the following code:
Example URI: http://www.myvideo.de/watch/110928
Code for you Post: [myvideo 110928]

*/

define("MYVIDEO_WIDTH", 400);
define("MYVIDEO_HEIGHT", 350);
define("MYVIDEO_REGEXP", "/\[myvideo ([[:print:]]+)\]/");
define("MYVIDEO_TARGET", "<object type=\"application/x-shockwave-flash\" data=\"http://www.myvideo.de/movie/###URL###\" width=\"".MYVIDEO_WIDTH."\" height=\"".MYVIDEO_HEIGHT."\"><param name=\"movie\" value=\"http://www.myvideo.de/movie/###URL###\" /></object>");


function
myvideo_plugin_callback($match)
{
    
$output = MYVIDEO_TARGET;
    
$output = str_replace("###URL###", $match[1], $output);
    return (
$output);
}

function
myvideo_plugin($content)
{
    return (
preg_replace_callback(MYVIDEO_REGEXP, 'myvideo_plugin_callback', $content));
}

add_filter('the_content', 'myvideo_plugin');
add_filter('comment_text', 'myvideo_plugin');


// SEVENLOAD


/*

To insert Videos from Sevenload into your Postings, please insert the following code:
Example URI: http://sevenload.de/videos/S5eC9QO
Code for you Post: [sevenload S5eC9QO]

*/

define("SEVENLOAD_WIDTH", 400);
define("SEVENLOAD_HEIGHT", 350);
define("SEVENLOAD_REGEXP", "/\[sevenload ([[:print:]]+)\]/");
define("SEVENLOAD_TARGET", "<object \"".SEVENLOAD_WIDTH."\" height=\"".SEVENLOAD_HEIGHT."\"><param name=\"movie\" value=\"http://sevenload.de/pl/###URL###/425x350/swf\" /><embed src=\"http://sevenload.de/pl/###URL###/425x350/swf\" type=\"application/x-shockwave-flash\" width=\"".SEVENLOAD_WIDTH."\" height=\"".SEVENLOAD_HEIGHT."\"></embed></object>");


function
sevenload_plugin_callback($match)
{
    
$output = SEVENLOAD_TARGET;
    
$output = str_replace("###URL###", $match[1], $output);
    return (
$output);
}

function
sevenload_plugin($content)
{
    return (
preg_replace_callback(SEVENLOAD_REGEXP, 'sevenload_plugin_callback', $content));
}

add_filter('the_content', 'sevenload_plugin');
add_filter('comment_text', 'sevenload_plugin');


// YOUTUBE


/*

To insert Videos from YouTube into your Postings, please insert the following code:
Example URI: http://youtube.com/watch?v=zyyCcjbrWOM
Code for you Post: [youtube zyyCcjbrWOM]

*/

define("YOUTUBE_WIDTH", 400);
define("YOUTUBE_HEIGHT", 350);
define("YOUTUBE_REGEXP", "/\[youtube ([[:print:]]+)\]/");
define("YOUTUBE_TARGET", "<object type=\"application/x-shockwave-flash\" data=\"http://www.youtube.com/v/###URL###\" width=\"".YOUTUBE_WIDTH."\" height=\"".YOUTUBE_HEIGHT."\"><param name=\"movie\" value=\"http://www.youtube.com/v/###URL###\" /><param name=\"BGCOLOR\" value=\"#000000\">
     <param name=\"WMode\" value=\"Transparent\"></object>"
);

function
youtube_plugin_callback($match)
{
    
$output = YOUTUBE_TARGET;
    
$output = str_replace("###URL###", $match[1], $output);
    return (
$output);
}

function
youtube_plugin($content)
{
    return (
preg_replace_callback(YOUTUBE_REGEXP, 'youtube_plugin_callback', $content));
}

add_filter('the_content', 'youtube_plugin');
add_filter('comment_text', 'youtube_plugin');


// GOOGLE VIDEO


/*

To insert Videos from Google Video into your Postings, please insert the following code:
Example URI: http://video.google.de/videoplay?docid=2332307822694154571
Code for you Post: [googlevideo 2332307822694154571]

*/

define("GOOGLEVIDEO_WIDTH", 400);
define("GOOGLEVIDEO_HEIGHT", 350);
define("GOOGLEVIDEO_REGEXP", "/\[googlevideo ([[:print:]]+)\]/");
define("GOOGLEVIDEO_TARGET", "<embed style=\"width:".GOOGLEVIDEO_WIDTH."px; height:".GOOGLEVIDEO_HEIGHT."px;\" type=\"application/x-shockwave-flash\" src=\"http://video.google.com/googleplayer.swf?docId=###URL###\"></embed>");


function
googlevideo_plugin_callback($match)
{
    
$output = GOOGLEVIDEO_TARGET;
    
$output = str_replace("###URL###", $match[1], $output);
    return (
$output);
}

function
googlevideo_plugin($content)
{
    return (
preg_replace_callback(GOOGLEVIDEO_REGEXP, 'googlevideo_plugin_callback', $content));
}

add_filter('the_content', 'googlevideo_plugin');
add_filter('comment_text', 'googlevideo_plugin');

?>