Now using autoloading of classes.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 30 Sep 2013 20:35:00 +0000 (20:35 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 30 Sep 2013 20:35:00 +0000 (20:35 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/mediawiki_extensions/wrgeo/trunk@1637 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrgeo.body.php
wrgeo.php

index a64c2a430d37ebcf64663bbaf696297da8950ff8..3ef3813aa38b7c3ed9a6b691b769ef249a5f0ad6 100644 (file)
@@ -1,12 +1,5 @@
 <?php
 
-function wrGeoParserFirstCallInit() {
-       global $wgParser;
-       $wgParser->setHook('geo', 'geoParserHook');
-       return true;
-}
-
-
 /// \brief This function converts a string like "47.236189 N 11.301471 E" to geographical coordinates in degrees.
 ///
 /// Usage:
@@ -31,11 +24,13 @@ function wrGeoGeoToString($latitude, $longitude) {
 }
 
 
-/// Format inside <geo>...</geo> has to be like this: <geo>47.236189 N 11.301471 E</geo>
-function geoParserHook($input, $args, $parser) {
-       try {list($latitude, $longitude) = wrGeoStringToGeo($input);}
-       catch (Exception $e) {return '<em>' . htmlspecialchars($input) . '</em> <small>(' . htmlspecialchars($e->getMessage()) . ')</small>';}
-       return '<a href="http://maps.google.at/maps?q=' . sprintf('%F,%F', $latitude, $longitude) . '">' . wrGeoGeoToString($latitude, $longitude) . '</a>';
+class WrGeo {
+       /// Format inside <geo>...</geo> has to be like this: <geo>47.236189 N 11.301471 E</geo>
+       public static function render($content, $args, $parser, $frame) {
+               try {list($latitude, $longitude) = wrGeoStringToGeo($content);}
+               catch (Exception $e) {return '<span class="error">' . htmlspecialchars($content) . ' <small>(' . htmlspecialchars($e->getMessage()) . ')</small></span>';}
+               return '<a href="http://maps.google.at/maps?q=' . sprintf('%F,%F', $latitude, $longitude) . '">' . wrGeoGeoToString($latitude, $longitude) . '</a>';
+       }
 }
 
 
index d142f346106b2ecb8415754654aec17c2b48bd94..bf67485a0626a9ba3ded9e005f01e5f1f3522cdf 100644 (file)
--- a/wrgeo.php
+++ b/wrgeo.php
@@ -12,9 +12,17 @@ $wgExtensionCredits['parserhook'][] = array(
 );
 
 
+$wgAutoloadClasses['WrGeo'] = dirname(__FILE__) . '/wrgeo.body.php';
+
+
 $wgHooks['ParserFirstCallInit'][] = 'wrGeoParserFirstCallInit';
 
 
-require_once dirname(__FILE__) . '/wrgeo.body.php';
+function wrGeoParserFirstCallInit() {
+       global $wgParser;
+       $wgParser->setHook('geo', 'WrGeo::render');
+       return true;
+}
+
 
 ?>