From: moodler Date: Wed, 29 Apr 2009 07:30:41 +0000 (+0000) Subject: filter/mediaplugin MDL-19006 Add auto-embedding of images that are linked to. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=c159f28b6b650a281df54d127a2895bc125b7fb9;p=moodle.git filter/mediaplugin MDL-19006 Add auto-embedding of images that are linked to. --- diff --git a/filter/mediaplugin/filter.php b/filter/mediaplugin/filter.php index f42f8f7b4c..9368d102d5 100644 --- a/filter/mediaplugin/filter.php +++ b/filter/mediaplugin/filter.php @@ -92,6 +92,15 @@ class mediaplugin_filter extends moodle_text_filter { $newtext = preg_replace_callback($search, 'mediaplugin_filter_youtube_callback', $newtext); } + if ($CFG->filter_mediaplugin_enable_img) { + $search = '/]*>(.*?)<\/a>/is'; + $newtext = preg_replace_callback($search, 'mediaplugin_filter_img_callback', $newtext); + $search = '/]*>(.*?)<\/a>/is'; + $newtext = preg_replace_callback($search, 'mediaplugin_filter_img_callback', $newtext); + $search = '/]*>(.*?)<\/a>/is'; + $newtext = preg_replace_callback($search, 'mediaplugin_filter_img_callback', $newtext); + } + if (empty($newtext) or $newtext === $text) { // error or not filtered unset($newtext); @@ -230,6 +239,16 @@ function mediaplugin_filter_youtube_callback($link, $autostart=false) { ''; } +/** + * 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 ''; +} + /** * Embed video using window media player if available */ diff --git a/filter/mediaplugin/filtersettings.php b/filter/mediaplugin/filtersettings.php index bb5893d066..3068a79c44 100644 --- a/filter/mediaplugin/filtersettings.php +++ b/filter/mediaplugin/filtersettings.php @@ -22,4 +22,6 @@ $settings->add(new admin_setting_configcheckbox('filter_mediaplugin_enable_rm', $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)); + ?> diff --git a/lang/en_utf8/admin.php b/lang/en_utf8/admin.php index 2ec37196f1..fdb18f7673 100644 --- a/lang/en_utf8/admin.php +++ b/lang/en_utf8/admin.php @@ -560,6 +560,7 @@ $string['mediapluginrm'] = 'Enable .rm filter'; $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';