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 = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;phpstream=0&amp;onclick=playpause&amp;showloading=always";
-$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;showtime=1&amp;showfullscreen=1&amp;showplayer=always&amp;phpstream=0&amp;onclick=playpause&amp;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 = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;phpstream=0&amp;onclick=playpause&amp;showloading=always";
-$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;showtime=1&amp;showfullscreen=1&amp;showplayer=always&amp;phpstream=0&amp;onclick=playpause&amp;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)).'&amp;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)).'&amp;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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
O4I0+`mtOjQaVh|nI?5mb

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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

-- 
GitLab