Added links to the reports and the report form (ticket #13)
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 28 Oct 2008 22:08:37 +0000 (22:08 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 28 Oct 2008 22:08:37 +0000 (22:08 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/extensions/wrreport@296 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrreport.body.php
wrreport.php

index fb533438ea034076c92aa00733a631ce2961eeeb..86330f1df2c03a89cc92891a6f9701587830afea 100644 (file)
@@ -84,12 +84,12 @@ function wrReportFormRender($hide_save_button = TRUE, $page_title = NULL, $date_
        
        // Condition options
        $condition_options = '';
-       $condition_array = array(1 => 'Sehr gut', 2 => 'Gut', 3 => 'Mittelmäßig', 4 => 'Schlecht', 5 => 'Geht nicht');
-       $condition_options .= '<option value="">(keine Beurteilung)</option>' . "\n";
-       foreach ($condition_array as $condition_num => $condition_text) {
+       global $wrConditions; // $wrConditions = array(1 => 'Sehr gut', 2 => 'Gut', 3 => utf8_encode('Mittelmäßig'), 4 => 'Schlecht', 5 => 'Geht nicht');
+       $condition_options .= utf8_encode('<option value="">(keine Beurteilung)</option>') . "\n";
+       foreach ($wrConditions as $condition_num => $condition_text) {
                $condition_options .= "<option value=\"$condition_num\"";
                if ($condition == $condition_num) $condition_options .= ' selected="selected"';
-               $condition_options .= '>' . htmlspecialchars(utf8_encode($condition_text)) . "</option>\n";
+               $condition_options .= '>' . htmlspecialchars($condition_text) . "</option>\n";
        }
        $description_html = htmlspecialchars($description);
 
@@ -149,10 +149,16 @@ function wrReportTableRowRender($page_id, $page_title, $date_report, $date_entry
        $out = "<tr>";
        if (!is_null($page_id)) $out .= '<td>' . $page_id . '</td>';
        if (!is_null($page_title)) $out .= '<td>' . wrReportSandboxParse('[[' . $page_title . ']]') . '</td>';
+       $dayOfWeek = array('Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So');
+       $date_report = strtotime($date_report);
+       $date_report = $dayOfWeek[strftime('%u', $date_report)-1] . strftime(', %d.%m.', $date_report);
        $out .= '<td>' . $date_report . '</td>';
        if (!is_null($date_entry)) $out .= '<td>' . date('Y-m-d, H:i', strtotime($date_entry)) . '</td>';
        if (!is_null($date_invalid)) $out .= '<td>' . date('Y-m-d, H:i', strtotime($date_invalid)) . '</td>';
-       $out .= '<td>' . $condition . '</td>';
+       global $wrConditions;
+       $condition_text = '---';
+       if (isset($wrConditions[$condition])) $condition_text = $wrConditions[$condition];
+       $out .= '<td>' . htmlspecialchars($condition_text) . '</td>';
        $out .= '<td class="wrreportdescription">' . wrReportSandboxParse($description) . '</td>';
        $out .= '<td>' . htmlspecialchars($author_name) . '</td>';
        $out .= "</tr>\n";
@@ -200,7 +206,9 @@ function wrReportConditionRender($page_title) {
        $res = $dbr->select('wrreport', array('condition', 'date_report'), array('id' => $row->max));
        if ($res->numRows() <= 0) return array(NULL, NULL);
        $row = $dbr->fetchObject($res);
-       return array($row->condition, $row->date_report);
+       $date = $row->date_report;
+       if ($date) $date = strtotime($date);
+       return array($row->condition, $date);
 }
 
 
@@ -246,7 +254,12 @@ function bahnberichteParserHook($input, $args, &$parser) {
 function bahnbewertungParserHook($input, $args, &$parser) {
        if (!$input) $input = $parser->getTitle()->getText();
        list($condition, $date) = wrReportConditionRender($input);
-       return "$condition ($date)";
+       if ($date) $date = strftime('%d.%m.', $date);
+       global $wrConditions;
+       global $wrNewReportSection; //  = utf8_encode('Eintragen');
+       global $wrShowReportsSection; //  = utf8_encode('Einträge');
+       if (isset($wrConditions[$condition])) return wrReportSandboxParse('[['. $input . '#' . $wrShowReportsSection . '|'. $wrConditions[$condition] . "]] <small>$date ''[[" . $input . '#' . $wrNewReportSection . "|Neu]]''</small>");
+       return wrReportSandboxParse("<small>''[[" . $input . '#' . $wrNewReportSection . "|Bitte eintragen]]''</small>");
 }
 
 
@@ -355,7 +368,8 @@ class WrReport extends SpecialPage {
                                // Purge cache
                                $title->invalidateCache();
                                // Show success message
-                               $wgOut->addWikiText(utf8_encode('<div class="successbox">Der Bahnbericht für [[') . $page_title . utf8_encode('#Einträge|') . $page_title . utf8_encode("]] wurde erfolgreich gespeichert.</div>\n"));
+                               global $wrShowReportsSection;
+                               $wgOut->addWikiText(utf8_encode('<div class="successbox">Der Bahnbericht für [[') . $page_title . '#' . $wrShowReportsSection . '|' . $page_title . utf8_encode("]] wurde erfolgreich gespeichert.</div>\n"));
                                // We could redirect to result with the following line but we don't want to.
                                // $wgOut->redirect($title->getFullURL() . '#Eintr.C3.A4ge');
                        }
index 71874721f6e8493a29e74c7ae661bda1d735d848..143c5a2ea325d8355f8bd05f8462a6198fc47103 100644 (file)
@@ -38,6 +38,13 @@ $wgExtensionCredits['parserhook'][] = array(
 );
 
 
+/// Conditions
+$wrConditions = array(1 => 'Sehr gut', 2 => 'Gut', 3 => utf8_encode('Mittelmäßig'), 4 => 'Schlecht', 5 => 'Geht nicht');
+$wrNewReportSection = utf8_encode('Eintragen');
+$wrShowReportsSection = utf8_encode('Einträge');
+
+
+
 require_once dirname(__FILE__) . '/wrreport.body.php';
 
 ?>