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