GeoJSON is used now by the .php scripts to embed the map in the html page.
[philipp/winterrodeln/mediawiki_extensions/wrmap.git] / wrmap.php
1 <?php
2 /* This extension creates a map using OpenLayers to show sledrun details and sledrun overviews.
3  * 
4  * This extension depends on no other extension.
5  *
6  * Definition:
7  * <wrgmap lat="47.267648" lon="11.40465" zoom="10"/>
8  * Shows icons for all sledruns.
9  * lat, lon and zoom are optional.
10  *
11  *
12  *
13  *
14  * <wrmap lat="47.267648" lon="11.40465" zoom="10" width="550" height="400">
15  * 
16  *   <gasthaus wiki="Rumer Alm (Gasthaus)" name="Rumer Alm">
17  *     47.11 N 12.53 E
18  *   </gasthaus>
19  *
20  *   <gasthaus name="Enzianhuette">
21  *     47.11 N 12.53 E
22  *   </gasthaus>
23  *
24  *   <bushaltestelle name="Rum Sanatorium">
25  *     47.11 N 12.53 E
26  *   </bushaltestelle>
27  *     
28  *   <rodelbahn>
29  *     47.11 12.53
30  *     19.33 12.12
31  *   </rodelbahn>
32  *
33  *   <gehweg>
34  *     23.12 12.12
35  *     12.12 12.12
36  *   </gehweg>
37  *
38  *   <alternative>
39  *     12.23 32.12
40  *     12.22 12.22
41  *   </alternative>
42  *
43  *   <lift>
44  *     23.23 23.12
45  *     12.12 12.12
46  *   </lift>
47  *
48  *   <linie farbe="#232321" dicke="5">
49  *     23.23 23.12
50  *     12.12 12.12
51  *   </linie>
52  *
53  *   <punkt name="Brunnen">
54  *     23.23 23.12
55  *   </punkt>
56  *
57  * </wrmap>
58  * lat, lon and zoom are optional.
59  */
60
61 $wgExtensionCredits['parserhook'][] = array(
62         'name' => 'Winterrodeln Map',
63         'version' => '3.0.0',
64         'author' =>'Philipp Spitzer', 
65         'url' => 'http://www.winterrodeln.org/trac/wiki/WrMap', 
66         'description' => 'This extension creates a map using OpenLayers to show sledrun details and sledrun overviews.'
67 );
68
69
70
71 $wgResourceModules['ext.wrmap'] = array(
72         'scripts' => array('openlayers/OpenLayers.js', 'wrmap.js'),
73         'styles' => array('openlayers/theme/default/style.css', 'openlayers/theme/default/google.css'),
74
75         // When your module is loaded, these messages will be available through mw.msg()
76         //'messages' => array( 'myextension-hello-world', 'myextension-goodbye-world' ),
77
78         // If your scripts need code from other modules, list their identifiers as dependencies
79         // and ResourceLoader will make sure they're loaded before you.
80         // You don't need to manually list 'mediawiki' or 'jquery', which are always loaded.
81         //'dependencies' => array( 'jquery.ui.datepicker' ),
82
83         // You need to declare the base path of the file paths in 'scripts' and 'styles'
84         'localBasePath' => dirname( __FILE__ ),
85
86         // ... and the base from the browser as well. For extensions this is made easy,
87         // you can use the 'remoteExtPath' property to declare it relative to where the wiki
88         // has $wgExtensionAssetsPath configured:
89         'remoteExtPath' => 'wrmap',
90
91         'position' => 'top'
92 );
93
94
95 $wgAutoloadClasses['WrMap'] = dirname(__FILE__) . '/wrmap.body.php';
96 $wgAutoloadClasses['WrGMap'] = $wgAutoloadClasses['WrMap'];
97
98
99 $wgHooks['ParserFirstCallInit'][] = 'wrMapParserFirstCallInit';
100
101
102 function wrMapParserFirstCallInit($parser) {
103         $parser->setHook('wrgmap', 'WrGMap::render');
104         $parser->setHook('wrmap', 'WrMap::render');
105         return true;
106 }
107
108
109 ?>