The used author name is checked for existence now.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 26 Oct 2010 20:52:25 +0000 (20:52 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 26 Oct 2010 20:52:25 +0000 (20:52 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/extensions/wrreport@607 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrreport.body.php

index 8df260245a2dbde5dfe36d523df9de7b1e89be4b..d2be53b41c0ddf8368833dbb6c0aa184445da127 100644 (file)
@@ -651,6 +651,9 @@ class WrReport extends SpecialPage {
                        $condition_sql = NULL;
                        if ($condition >= 1 and $condition <= 5) $condition_sql = $condition;
 
+                       // author_name
+                       $author_name = trim($author_name);
+
                        if ($action == 'store') {
                                // page_id
                                $title = Title::newFromText($page_title);
@@ -687,6 +690,18 @@ class WrReport extends SpecialPage {
                                        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!');
                                }
 
+                               // check author name
+                               if (!$errorMsg) {
+                                       $author_name_id = $wgUser->idFromName(strtolower($author_name));
+                                       if ($wgUser->isLoggedIn()) {
+                                               if ($author_name_id != 0 && $author_name_id != $wgUser->getId())
+                                                       $errorMsg = utf8_encode('Der von Ihnen verwendete Autorenname ist der Login-Name eines anderen Benutzers und kann daher nicht als Autorenname verwendet werden.');
+                                       } else {
+                                               if ($author_name_id != 0)
+                                                       $errorMsg = utf8_encode('Der von Ihnen verwendete Autorenname ist der Login-Name eines Wiki-Benutzers und kann daher bei anonymen Berichten nicht verwendet werden. Wenn dieser Name Ihnen "gehört" dann melden Sie sich bitte an und probieren es nochmals.');
+                                       }
+                               }
+
                                // Chech whether identical reports are present
                                if (!$errorMsg) {
                                        $dbr = wfGetDB(DB_SLAVE);