From 8e2ceb4ba5a3b9f8477454bbb93aec17613dc8d9 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Thu, 19 Oct 2023 09:37:12 +0000 Subject: [PATCH] remove flash leftover, closes #3371 Closes #3371 Merge request studip/studip!2291 --- config/config.inc.php.dist | 7 ---- config/config_develop.inc.php | 7 ---- .../5.5.4_remove_flash_from_config.php | 36 ++++++++++++++++++ lib/classes/StudipCoreFormat.php | 28 ++++---------- public/assets/flash/player.swf | Bin 11254 -> 0 bytes public/assets/flash/player_flv.swf | Bin 11803 -> 0 bytes 6 files changed, 44 insertions(+), 34 deletions(-) create mode 100644 db/migrations/5.5.4_remove_flash_from_config.php delete mode 100644 public/assets/flash/player.swf delete mode 100644 public/assets/flash/player_flv.swf diff --git a/config/config.inc.php.dist b/config/config.inc.php.dist index d7a0f83df5c..98c38a4b1c2 100644 --- a/config/config.inc.php.dist +++ b/config/config.inc.php.dist @@ -35,8 +35,6 @@ // +---------------------------------------------------------------------------+ global - $FLASHPLAYER_DEFAULT_CONFIG_MIN, - $FLASHPLAYER_DEFAULT_CONFIG_MAX, $INST_ADMIN_DATAFIELDS_VIEW, $INST_MODULES, $INST_TYPE, @@ -266,11 +264,6 @@ $SYMBOL_SHORT = array( this options are only needed, if you are using the addional Stud.IP modules (please see in config_local.inc.php which modules are activated). It's a good idea to leave this settings untouched...*/ - -// cofiguration for flash player -$FLASHPLAYER_DEFAULT_CONFIG_MIN = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&phpstream=0&onclick=playpause&showloading=always"; -$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&showtime=1&showfullscreen=1&showplayer=always&phpstream=0&onclick=playpause&showloading=always"; - /* * use this to customize the fields shown in the standard/extended view on the instiute member page * valid values are 'raum', 'sprechzeiten', 'telefon', 'email', 'homepage' and userinstrole datafield ids diff --git a/config/config_develop.inc.php b/config/config_develop.inc.php index 26787a21a9c..a38726a6c24 100644 --- a/config/config_develop.inc.php +++ b/config/config_develop.inc.php @@ -36,8 +36,6 @@ global $CALENDAR_MAX_EVENTS, - $FLASHPLAYER_DEFAULT_CONFIG_MIN, - $FLASHPLAYER_DEFAULT_CONFIG_MAX, $INST_ADMIN_DATAFIELDS_VIEW, $INST_MODULES, $INST_STATUS_GROUPS, @@ -323,11 +321,6 @@ $SYMBOL_SHORT = [ this options are only needed, if you are using the addional Stud.IP modules (please see in config_local.inc.php which modules are activated). It's a good idea to leave this settings untouched...*/ - -// cofiguration for flash player -$FLASHPLAYER_DEFAULT_CONFIG_MIN = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&phpstream=0&onclick=playpause&showloading=always"; -$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&showtime=1&showfullscreen=1&showplayer=always&phpstream=0&onclick=playpause&showloading=always"; - //Here you have to add the datafield_ids as elements. They will be shown in the standard / extended view on inst_admin.php $INST_ADMIN_DATAFIELDS_VIEW = [ 'default' => [], diff --git a/db/migrations/5.5.4_remove_flash_from_config.php b/db/migrations/5.5.4_remove_flash_from_config.php new file mode 100644 index 00000000000..56cb3220356 --- /dev/null +++ b/db/migrations/5.5.4_remove_flash_from_config.php @@ -0,0 +1,36 @@ +<?php +final class RemoveFlashFromConfig extends Migration +{ + private const OLD_DESCRIPTION = 'Sollen externe Medien über [img/flash/audio/video] eingebunden werden? deny=nicht erlaubt, allow=erlaubt, proxy=proxy benutzen.'; + private const NEW_DESCRIPTION = 'Sollen externe Medien über [img/audio/video] eingebunden werden? deny=nicht erlaubt, allow=erlaubt, proxy=proxy benutzen.'; + + + public function description() + { + return 'Removes reference to flash from config description'; + } + + protected function up() + { + $query = "UPDATE `config` + SET `description` = :new_description + WHERE `field` = 'LOAD_EXTERNAL_MEDIA' + AND `description` = :old_description"; + DBManager::get()->execute($query, [ + ':new_description' => self::NEW_DESCRIPTION, + ':old_description' => self::OLD_DESCRIPTION, + ]); + } + + protected function down() + { + $query = "UPDATE `config` + SET `description` = :old_description + WHERE `field` = 'LOAD_EXTERNAL_MEDIA' + AND `description` = :new_description"; + DBManager::get()->execute($query, [ + ':new_description' => self::NEW_DESCRIPTION, + ':old_description' => self::OLD_DESCRIPTION, + ]); + } +} diff --git a/lib/classes/StudipCoreFormat.php b/lib/classes/StudipCoreFormat.php index b6562527df5..389256f937f 100644 --- a/lib/classes/StudipCoreFormat.php +++ b/lib/classes/StudipCoreFormat.php @@ -148,7 +148,7 @@ class StudipCoreFormat extends TextFormat 'callback' => 'StudipCoreFormat::markupCode' ], 'media' => [ - 'start' => '\[(img|flash|audio|video)(.*?)\](.*?)(?=\s|$)', + 'start' => '\[(img|audio|video)(.*?)\](.*?)(?=\s|$)', 'callback' => 'StudipCoreFormat::markupMedia' ], 'emails' => [ @@ -524,7 +524,7 @@ class StudipCoreFormat extends TextFormat } /** - * Stud.IP markup for images, audio, video and flash-films + * Stud.IP markup for images, audio and video */ protected static function markupMedia($markup, $matches) { @@ -598,24 +598,12 @@ class StudipCoreFormat extends TextFormat $media_url = idna_link($url); } - if ($tag === "flash") { - $width = $width ? $width : 200; - $height = round($width * 0.75); - $flash_config = $width > 200 ? $GLOBALS['FLASHPLAYER_DEFAULT_CONFIG_MAX'] : $GLOBALS['FLASHPLAYER_DEFAULT_CONFIG_MIN']; - $media = '<object type="application/x-shockwave-flash" id="FlashPlayer" data="'.Assets::url().'flash/player_flv.swf" width="'.$width.'" height="'.$height.'"> - <param name="movie" value="'.Assets::url().'flash/player_flv.swf"> - <param name="allowFullScreen" value="true"> - <param name="FlashVars" value="flv='.urlencode(decodeHTML($media_url)).'&startimage='.$link.$flash_config.'"> - <embed src="'.Assets::url().'flash/player_flv.swf" movie="$media_url" type="application/x-shockwave-flash" FlashVars="flv='.urlencode(decodeHTML($media_url)).'&startimage='.$link.$flash_config.'"> - </object>'; - } else { - $media = sprintf($format_strings[$tag], - $media_url, - isset($width) ? "width: ".$width."px;" : "", - $title, - $title - ); - } + $media = sprintf($format_strings[$tag], + $media_url, + isset($width) ? "width: ".$width."px;" : "", + $title, + $title + ); if ($tag === 'audio') { $random_id = 'audio-' . mb_substr(md5(uniqid('audio', true)), -8); diff --git a/public/assets/flash/player.swf b/public/assets/flash/player.swf deleted file mode 100644 index 497cfcefb13758da8ef2bde2d375c1230b6dd54f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11254 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 diff --git a/public/assets/flash/player_flv.swf b/public/assets/flash/player_flv.swf deleted file mode 100644 index 9aba8bf7f46cd42fb9920da958a7c24a4b416a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11803 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 J0|4g15XDffFcJU& -- GitLab