summaryrefslogtreecommitdiff
blob: cbd709c9e9390111e88f218a017ccdddfcb69b9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

/**
 * google video is replaced by youtube, but its embeds will probably continue working indefinitely.
 * [googlevideo=http://video.google.com/googleplayer.swf?docId=-6006084025483872237]
 */

function googlevideo_shortcode( $atts ) {
	if ( !isset( $atts[0] ) )
		return '';

	$src = ltrim( $atts[0], '=' );

	if ( 0 !== strpos( $src, 'http://video.google.com/googleplayer.swf' ) ) {
		if ( !preg_match( '|^http://(video\.google\.[a-z]{2,3}(?:.[a-z]{2})?)/|', $src ) || !preg_match( '|.*docid=([0-9-]+).*|i', $src, $match ) || !is_numeric( $match[1] ) )
			return '<!--Google Video Error: bad URL entered-->';

		$src = 'http://video.google.com/googleplayer.swf?docId=' . $match[1];
	}

	// default width should be 400 unless the theme's content width is smaller than that
	global $content_width;
	$default_width = intval( !empty( $content_width ) ? min( $content_width, 400 ) : 400 );
	$height = intval( 0.825 * $default_width );
	$src = esc_attr( $src );

	return "<span style='text-align:center;display:block;'><object width='{$default_width}' height='{$height}' type='application/x-shockwave-flash' data='{$src}'><param name='allowScriptAccess' value='never' /><param name='movie' value='$src'/><param name='quality' value='best'/><param name='bgcolor' value='#ffffff' /><param name='scale' value='noScale' /><param name='wmode' value='opaque' /></object></span>";
}
add_shortcode( 'googlevideo', 'googlevideo_shortcode' );