"Action" column is hidden now when no actions are allowed.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 1 Dec 2008 21:05:46 +0000 (21:05 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 1 Dec 2008 21:05:46 +0000 (21:05 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/extensions/wrreport@335 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrreport.body.php

index e7c4b9af25c4fbdc38a625ceac018c04d5b59672..b3f8dbf5687ef923648c3e85b63dc9fee651b49a 100644 (file)
@@ -267,7 +267,6 @@ function wrReportGetReports($conditions, $order) {
 }
 
 
-
 /// \brief It returns an array of the "condition" (as number) and the date of the "most recent" report of the specified page (to decode as list($condition, $date);
 ///
 /// If no condition is present, array(NULL, NULL) is returned
@@ -286,6 +285,15 @@ function wrReportConditionRender($page_title) {
 }
 
 
+/// \brief Returns true if the user is allowed to delete reports (in general)
+function wrReportUserMayDelete() {
+       global $wgUser;
+       global $wgWrReportDeleteMode;
+       return $wgWrReportDeleteMode == 'allow' || ($wgWrReportDeleteMode == 'loggedin' && $wgUser->isLoggedIn());
+}
+
+
+
 // Parser Hook Functions
 // ---------------------
 
@@ -324,7 +332,7 @@ function bahnberichteParserHook($input, $args, &$parser) {
        $order = 'date_report desc, date_entry desc';
        $rows = wrReportGetReports($conditions, $order);
        if (count($rows) == 0) return wrReportSandboxParse("''Es wurden keine Bahnberichte in der Datenbank gefunden.''\n\n");
-       return wrReportTableRender2($rows, WRREPORT_COMPACT, true);
+       return wrReportTableRender2($rows, WRREPORT_COMPACT, wrReportUserMayDelete());
 }
 
 
@@ -414,7 +422,7 @@ class WrReport extends SpecialPage {
                        $order = 'date_entry desc, date_report desc';
                        $rows = wrReportGetReports($conditions, $order);
                        if (count($rows) == 0) $wgOut->addWikiText("''Es wurden keine Bahnberichte in der Datenbank gefunden.''\n\n");
-                       $wgOut->addHTML(wrReportTableRender2($rows, WRREPORT_DETAIL, True)); 
+                       $wgOut->addHTML(wrReportTableRender2($rows, WRREPORT_DETAIL, wrReportUserMayDelete())); 
                }
 
                // Action deletepreview or delete
@@ -447,7 +455,7 @@ class WrReport extends SpecialPage {
                                if ($delete_person_userid == 0) $delete_person_userid = NULL; // to store a NULL value in the database if no user is logged in instead of 0.
                                $delete_person_username = $wgUser->getName();
 
-                               // Check permissions
+                               // Check permissions - see also function wrReportUserMayDelete, that does also check permissions but does not return an error message.
                                $errorMsg = NULL;
                                global $wgWrReportDeleteMode;
                                if ($wgWrReportDeleteMode == 'deny') $errorMsg = utf8_encode('Das Löschen von Rodelbahnberichten ist derzeit leider nicht erlaubt.');