$newtext = preg_replace_callback($search, 'mediaplugin_filter_youtube_callback', $newtext);
}
+ if ($CFG->filter_mediaplugin_enable_img) {
+ $search = '/<a.*?href="([^<]+\.jpg)"[^>]*>(.*?)<\/a>/is';
+ $newtext = preg_replace_callback($search, 'mediaplugin_filter_img_callback', $newtext);
+ $search = '/<a.*?href="([^<]+\.png)"[^>]*>(.*?)<\/a>/is';
+ $newtext = preg_replace_callback($search, 'mediaplugin_filter_img_callback', $newtext);
+ $search = '/<a.*?href="([^<]+\.gif)"[^>]*>(.*?)<\/a>/is';
+ $newtext = preg_replace_callback($search, 'mediaplugin_filter_img_callback', $newtext);
+ }
+
if (empty($newtext) or $newtext === $text) {
// error or not filtered
unset($newtext);
'</object>';
}
+/**
+ * Change links to images into embedded images
+ */
+function mediaplugin_filter_img_callback($link, $autostart=false) {
+ $url = addslashes_js($link[1]);
+ $info = addslashes_js($link[2]);
+
+ return '<img class="mediaplugin mediaplugin_img" alt="" title="'.$info.'" src="'.$url.'" />';
+}
+
/**
* Embed video using window media player if available
*/
$settings->add(new admin_setting_configcheckbox('filter_mediaplugin_enable_youtube', get_string('mediapluginyoutube','admin'), '', 1));
+$settings->add(new admin_setting_configcheckbox('filter_mediaplugin_enable_img', get_string('mediapluginimg','admin'), '', 1));
+
?>
$string['mediapluginrpm'] = 'Enable .rpm filter';
$string['mediapluginswf'] = 'Enable .swf filter';
$string['mediapluginyoutube'] = 'Enable YouTube links filter';
+$string['mediapluginimg'] = 'Enable auto-embedding of linked images';
$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';