Tried to avoid that the wrreport.body.php file is loaded if this is not necessary.
[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 # Alert the user that this is not a valid entry point to MediaWiki if they try to access the special pages file directly.
6 if (!defined('MEDIAWIKI')) {
7         echo "To install the wrreport extension, put the following line in LocalSettings.php:\n";
8         echo 'require_once "$IP/extensions/wrreport/wrreport.php"';
9         exit(1);
10 }
11
12
13 $wgExtensionCredits['parserhook'][] = array(
14         'path' => __FILE__,
15         'name' => 'Winterrodeln Report',
16         'description' => 'Interprets the <report/> tag in sledrun pages and creates report summaries',
17         'descriptionmsg' => 'wrreport-description',
18         'version' => '2.5.0',
19         'author' =>'Philipp Spitzer',
20         'url' => 'http://www.winterrodeln.org/trac/wiki/WrReport',
21 );
22
23
24 // Variables that can be changed in LocalSettings.php
25 $wgWrReportMode = 'allow'; // 'summer', 'allow', 'loggedin', 'deny'
26 $wgWrReportBlackListAll = array(); // array of page names where reports disallowed for all users. Example: array('Birgitzer Alm (vom Adelshof)');
27 $wgWrReportBlackListStrangers = array(); // array of page names where reports are disallowed for not logged in users
28 $wgWrReportDeleteMode = 'loggedin'; // 'allow', 'loggedin', 'deny'
29
30
31
32 // Resources
33 $wgResourceModules['ext.wrreport'] = array(
34         'styles' => array('wrreport.css'),
35         'localBasePath' => dirname( __FILE__ ),
36         'remoteExtPath' => 'wrreport',
37         'position' => 'top'
38 );
39
40
41 // Init
42 $wgAutoloadClasses['SpecialWrReport'] = dirname(__FILE__) . '/wrreport.body.php';
43 $wgAutoloadClasses['WrReport'] = dirname(__FILE__) . '/wrreport.body.php';
44 // $wgAutoloadClasses['Services_Libravatar'] = dirname(__FILE__) . '/Services/Libravatar.php'; // this is already included in the Libravatar tag extension.
45 $wgExtensionMessagesFiles['wrreport'] = dirname(__FILE__) . '/wrreport.i18n.php';
46 $wgSpecialPages['wrreport'] = 'SpecialWrReport';
47 $wgHooks['LanguageGetSpecialPageAliases'][] = 'WrReportLanguageGetSpecialPageAliasesHook';
48 $wgHooks['ParserFirstCallInit'][] = 'WrReportParserFirstCallInitHook';
49
50
51 function WrReportLanguageGetSpecialPageAliasesHook(&$specialPageArray, $languageCode) {
52         $text = wfMessage('wrreport')->text(); // 'Bahnberichte'
53         $title = Title::newFromText($text); // 'Bahnberichte'
54         $specialPageArray['wrreport'][] = $title->getDBKey(); // 'Bahnberichte'
55         return true;
56 }
57
58
59 function WrReportParserFirstCallInitHook(&$parser) {
60         $parser->setHook('bahnberichtformular', 'WrReport::bahnberichtformularParserHook');
61         $parser->setHook('bahnberichte', 'WrReport::bahnberichteParserHook');
62         $parser->setHook('bahnentabelle', 'WrReport::bahnentabelleParserHook');
63         $parser->setHook('avatar', 'WrReport::avatarParserHook');
64         return true;
65 }
66
67
68 ?>