Prevent the <pre> tag in the resulting HTML in reports. Part of ticket #61.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 26 Oct 2010 18:31:23 +0000 (18:31 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 26 Oct 2010 18:31:23 +0000 (18:31 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/extensions/wrreport@603 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrreport.body.php

index a1dcb7b68d6b4bb37f53a2f2a80d8777a78ea495..c94651cb3bc151bafa5ef564dc21e3770dab79c5 100644 (file)
@@ -656,6 +656,9 @@ class WrReport extends SpecialPage {
                                $condition_int = (int) $condition;
                                if ($condition_int >= 1 and $condition_int <= 5) $condition = $condition_int;
                                else $condition = NULL;
+
+                               // description
+                               $description_html = wrCommonSandboxParse($description); // this variable is used for checks of the created code (below)
                                
                                // check conditions/permissions
                                $errorMsg = NULL;
@@ -672,6 +675,9 @@ class WrReport extends SpecialPage {
                                elseif (!$wgUser->isLoggedIn()) {
                                        if (!$description) $errorMsg = utf8_encode('Bitte bei der Beschreibung eine kurze Begründung für die Bewertung abgeben.');
                                        elseif (!(stripos($description, 'http') === FALSE)) $errorMsg = utf8_encode('Der Text "http" ist leider für nicht-angemeldete Benutzer nicht erlaubt, weil wir in der Vergangenheit Fälle hatten, bei denen externe Werbelinks automatisiert eingetragen wurden.');
+                                       // We want to disallow certain types of markup. Unfortunately the mediawiki markup language parser cannot be configured therefore we have to filter the input manually.
+                                       // Disallow "<pre>":
+                                       elseif (!(stripos($description_html, '<pre>') === FALSE)) $errorMsg = utf8_encode('Es wurde eine WikiText Formatierung (pre) verwendet, die für nicht angemeldete Benutzer nicht erlaubt ist - bitte einen Eintrag ohne Wiki Formatierung verwenden - danke!');
                                }
 
                                // Chech whether identical reports are present