}
- /// \brief Is called when the tag <bahnentabelle/> is encountered.
- ///
- /// Example:
- /// <bahnentabelle>
- /// Birgitzer Alm (vom Adelshof)
- /// Kemater Alm
- /// Axamer Lizum
- /// </bahnentabelle>
- public static function bahnentabelleParserHook($input, $args, $parser) {
- $parser->getOutput()->addModules('ext.wrreport');
-
- // Add feed
+ public static function createBahnentabelle($page_titles) {
$dbr = wfGetDB(DB_SLAVE);
- $title = $parser->getTitle();
- $categories = $title->getParentCategories(); // e.g. array('Kategorie:Region' => 'Osttirol')
- global $wgContLang;
- $key_region = $wgContLang->getNSText(NS_CATEGORY) . ':Region';
- if (array_key_exists($key_region, $categories)) {
- // Do we have a feed entry of the region?
- // Example: select name from wrregion where page_id = 882;
- $res = $dbr->select('wrregion', 'name', array('page_id' => $title->getArticleID()));
- while ($row = $dbr->fetchObject($res)) {
- // If yes, create the feed.
- // Note: As (of MediaWiki 1.19), only one feed can be added and each feed added replaces the previous one, the following is possible without risk of having duplicated feed entries.
- global $wgWrReportFeedRoot;
- global $wgOut; // class OutputPage
- $wgOut->addFeedLink('atom', $wgWrReportFeedRoot . '/berichte/region/' . strtolower($row->name));
- }
- }
-
- // Add each page title that has been found
- $page_titles = array(); // array of Title objects
- foreach (explode("\n", $input) as $page_title) {
- $page_title = Title::newFromText(trim($page_title));
- if (!$page_title || !$page_title->exists()) continue;
- $page_titles[] = $page_title;
- }
// SELECT p.page_id,p.page_title, c.length, c.walkup_time, c.top_elevation, c.bottom_elevation, c.walkup_separate, c.lift, c.night_light, c.public_transport, c.sled_rental, c.information_phone FROM `page` p, wrsledruncache c WHERE (p.page_title in ('Birgitzer_Alm_(vom_Adelshof)', 'Kemater_Alm', 'Axamer_Lizum') and p.page_id=c.page_id) ORDER BY page_title
$where_array = array('page.page_id = wrsledruncache.page_id');
}
$dbr->freeResult($res);
- return array($doc->saveHTML(), 'noparse' => true, 'isHTML' => true);
+ return $doc->saveHTML();
+ }
+
+
+ /// \brief Is called when the tag <bahnentabelle/> is encountered.
+ ///
+ /// Example:
+ /// <bahnentabelle>
+ /// Birgitzer Alm (vom Adelshof)
+ /// Kemater Alm
+ /// Axamer Lizum
+ /// </bahnentabelle>
+ public static function bahnentabelleParserHook($input, $args, $parser) {
+ $parser->getOutput()->addModules('ext.wrreport');
+
+ // Add feed
+ $dbr = wfGetDB(DB_SLAVE);
+ $title = $parser->getTitle();
+ $categories = $title->getParentCategories(); // e.g. array('Kategorie:Region' => 'Osttirol')
+ global $wgContLang;
+ $key_region = $wgContLang->getNSText(NS_CATEGORY) . ':Region';
+ if (array_key_exists($key_region, $categories)) {
+ // Do we have a feed entry of the region?
+ // Example: select name from wrregion where page_id = 882;
+ $res = $dbr->select('wrregion', 'name', array('page_id' => $title->getArticleID()));
+ while ($row = $dbr->fetchObject($res)) {
+ // If yes, create the feed.
+ // Note: As (of MediaWiki 1.19), only one feed can be added and each feed added replaces the previous one, the following is possible without risk of having duplicated feed entries.
+ global $wgWrReportFeedRoot;
+ global $wgOut; // class OutputPage
+ $wgOut->addFeedLink('atom', $wgWrReportFeedRoot . '/berichte/region/' . strtolower($row->name));
+ }
+ }
+ $dbr->freeResult($res);
+
+ // Add each page title that has been found
+ $page_titles = array(); // array of Title objects
+ foreach (explode("\n", $input) as $page_title) {
+ $page_title = Title::newFromText(trim($page_title));
+ if (!$page_title || !$page_title->exists()) continue;
+ $page_titles[] = $page_title;
+ }
+
+ // Create bahnentabelle
+ $html = WrReport::createBahnentabelle($page_titles);
+ return array($html, 'noparse' => true, 'isHTML' => true);
}