The function getArticleId of Title is acutally called getArticleID.
[philipp/winterrodeln/mediawiki_extensions/wrreport.git] / wrreport.php
1 <?php
2 // File encoding: utf-8
3 // This extension does not depend on other extensions.
4 //
5 // The following tags are supported:
6 // <bahnentabelle/>
7 //     Creates an overview table of all sledruns specified (one per line) in the tag.
8 //
9 // <bahnenregiontabelle/>
10 //     Like <bahnentabelle> but includes all sledruns that are in the region of the current page
11 //     or in the region specified by one of the following parameters:
12 //         <bahnenregiontabelle wiki="Innsbruck" /> (refers to region represented by the MediaWiki Title name)
13 //         <bahnenregiontabelle region_id="3" /> (refers to id in the wrregion table)
14 //         <bahnenregiontabelle region_name="Innsbruck" /> (refers to name in the wrregion table)
15 //     This tag does not accept any contents.
16 //
17 // <bahnberichte/>
18 //     Shows an overview of the sledrun reports of the current page.
19 //
20 // <bahnberichtformular/>
21 //     Creates the form that is used to enter sledrun reports.
22
23 # Alert the user that this is not a valid entry point to MediaWiki if they try to access the special pages file directly.
24 if (!defined('MEDIAWIKI')) {
25         echo "To install the wrreport extension, put the following line in LocalSettings.php:\n";
26         echo 'require_once "$IP/extensions/wrreport/wrreport.php"';
27         exit(1);
28 }
29
30
31 $wgExtensionCredits['parserhook'][] = array(
32         'path' => __FILE__,
33         'name' => 'Winterrodeln Report',
34         'description' => 'Interprets the <report/> tag in sledrun pages and creates report summaries',
35         'descriptionmsg' => 'wrreport-description',
36         'version' => '2.7.0',
37         'author' =>'Philipp Spitzer',
38         'url' => 'http://www.winterrodeln.org/trac/wiki/WrReport',
39 );
40
41
42 // Variables that can be changed in LocalSettings.php
43 $wgWrReportMode = 'allow'; // 'summer', 'allow', 'loggedin', 'deny'
44 $wgWrReportBlackListAll = array(); // array of page names where reports disallowed for all users. Example: array('Birgitzer Alm (vom Adelshof)');
45 $wgWrReportBlackListStrangers = array(); // array of page names where reports are disallowed for not logged in users
46 $wgWrReportDeleteMode = 'loggedin'; // 'allow', 'loggedin', 'deny'
47 $wgWrReportFeedRoot = 'http://www.winterrodeln.org/feed'; // root URL of the Winterrodeln feed without trailing slash
48
49
50
51 // Resources
52 $wgResourceModules['ext.wrreport'] = array(
53         'styles' => array('wrreport.css'),
54         'localBasePath' => dirname( __FILE__ ),
55         'remoteExtPath' => 'wrreport',
56         'position' => 'top'
57 );
58
59
60 // Init
61 $wgAutoloadClasses['SpecialWrReport'] = dirname(__FILE__) . '/wrreport.body.php';
62 $wgAutoloadClasses['WrReport'] = dirname(__FILE__) . '/wrreport.body.php';
63 $wgAutoloadClasses['Services_Libravatar'] = dirname(__FILE__) . '/libravatar.php'; // from http://pear.php.net/package/Services_Libravatar
64 $wgExtensionMessagesFiles['wrreport'] = dirname(__FILE__) . '/wrreport.i18n.php';
65 $wgSpecialPages['wrreport'] = 'SpecialWrReport';
66 $wgHooks['LanguageGetSpecialPageAliases'][] = 'WrReportLanguageGetSpecialPageAliasesHook';
67 $wgHooks['ParserFirstCallInit'][] = 'WrReportParserFirstCallInitHook';
68
69
70 function WrReportLanguageGetSpecialPageAliasesHook(&$specialPageArray, $languageCode) {
71         $text = wfMessage('wrreport')->text(); // 'Bahnberichte'
72         $title = Title::newFromText($text); // 'Bahnberichte'
73         $specialPageArray['wrreport'][] = $title->getDBKey(); // 'Bahnberichte'
74         return true;
75 }
76
77
78 function WrReportParserFirstCallInitHook(&$parser) {
79         $parser->setHook('bahnberichtformular', 'WrReport::bahnberichtformularParserHook');
80         $parser->setHook('bahnberichte', 'WrReport::bahnberichteParserHook');
81         $parser->setHook('bahnentabelle', 'WrReport::bahnentabelleParserHook');
82         $parser->setHook('bahnenregiontabelle', 'WrReport::bahnenregiontabelleParserHook');
83         $parser->setHook('avatar', 'WrReport::avatarParserHook');
84         return true;
85 }
86
87
88 ?>