Implemented bahnbewertung parser hook.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Sat, 25 Oct 2008 18:30:37 +0000 (18:30 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Sat, 25 Oct 2008 18:30:37 +0000 (18:30 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/extensions/wrreport@282 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrreport.body.php

index 36686f2b8ca6c54837054ae2bc0029802d566492..44f0f939d9c4803593cfd8eafab779a39e753065 100644 (file)
@@ -187,6 +187,22 @@ function wrReportTableRender($page_title = NULL) {
 }
 
 
+/// \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, NULL is returned
+function wrReportConditionRender($page_title) {
+       $dbr = wfGetDB(DB_SLAVE);
+       $res = $dbr->select('wrreport', array('max(wrreport.id) as max'), array("page_title='Birgitzer Alm (vom Adelshof)'"));
+       //  select condition, date_report from wrreport where id = (select max(wrreport.id) as max from wrreport where page_title='Birgitzer Alm (vom Adelshof)' and date_invalid > now() and condition is not null);
+       if ($res->numRows() <= 0) return NULL;
+       $row = $dbr->fetchObject($res);
+       $res = $dbr->select('wrreport', array('condition', 'date_report'), array('id' => $row->max));
+       if ($res->numRows() <= 0) return NULL;
+       $row = $dbr->fetchObject($res);
+       return array($row->condition, $row->date_report);
+}
+
+
 // Parser Hook Functions
 // ---------------------
 
@@ -212,10 +228,12 @@ function bahnberichteParserHook($input, $args, &$parser) {
 /// * <bahnbewertung>page_name</bahnbewertung>: The given page name is taken.
 function bahnbewertungParserHook($input, $args, &$parser) {
        if (!$input) $input = $parser->getTitle()->getText();
-       return wrReportConditionRender($input);
+       list($condition, $date) = wrReportConditionRender($input);
+       return "$condition ($date)";
 }
 
 
+
 // Special page
 // ------------