$newtext = preg_replace_callback($search, 'mediaplugin_filter_real_callback', $newtext);
}
+ if ($CFG->filter_mediaplugin_enable_youtube) {
+ $search = '/<a.*?href="([^<]*)youtube.com\/watch\?v=([^"]*)"[^>]*>(.*?)<\/a>/is';
+ $newtext = preg_replace_callback($search, 'mediaplugin_filter_youtube_callback', $newtext);
+ }
+
if (is_null($newtext) or $newtext === $text) {
// error or not filtered
return $text;
</script></span>';
}
+/**
+ * Change links to Youtube into embedded Youtube videos
+ */
+function mediaplugin_filter_youtube_callback($link, $autostart=false) {
+
+ $site = addslashes_js($link[1]);
+ $url = addslashes_js($link[2]);
+ $info = addslashes_js($link[3]);
+
+ return '<div title="'.$info.'" class="mediaplugin mediaplugin_youtube">'.
+ '<object type="application/x-shockwave-flash"
+ data="'.$site.'youtube.com/v/'.$url.'&fs=1&rel=0" width="425" height="344">'.
+ '<param name="movie" value="http://'.$site.'youtube.com/v/'.$url.'&fs=1&rel=0" />'.
+ '<param name="FlashVars" value="playerMode=embedded" />'.
+ '<param name="wmode" value="transparent" />'.
+ '<param name="allowFullScreen" value="true" />'.
+ '</object></div>';
+}
+
/**
* Embed video using window media player if available
*/
$settings->add(new admin_setting_configcheckbox('filter_mediaplugin_enable_rm', get_string('mediapluginrm','admin'), '', 1));
+$settings->add(new admin_setting_configcheckbox('filter_mediaplugin_enable_youtube', get_string('mediapluginyoutube','admin'), '', 1));
+
?>
$string['mediapluginrm'] = 'Enable .rm filter';
$string['mediapluginrpm'] = 'Enable .rpm filter';
$string['mediapluginswf'] = 'Enable .swf filter';
+$string['mediapluginyoutube'] = 'Enable YouTube links filter';
$string['mediapluginswfnote'] = 'As a default security measure, normal users should not be allowed to embed swf flash files.';
$string['mediapluginwmv'] = 'Enable .wmv filter';
$string['memcachedhosts'] = 'memcached hosts';