Imported already done development to source control.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Fri, 24 Oct 2008 15:52:10 +0000 (15:52 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Fri, 24 Oct 2008 15:52:10 +0000 (15:52 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/extensions/wrgeo@271 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrgeo.body.php [new file with mode: 0644]
wrgeo.php [new file with mode: 0644]

diff --git a/wrgeo.body.php b/wrgeo.body.php
new file mode 100644 (file)
index 0000000..b40fe36
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+function wrGeoParserFirstCallInit() {
+       global $wgParser;
+       $wgParser->setHook('geo', 'wrGeoRender');
+       return true;
+}
+
+
+function wrGeoRender($input, $args, $parser) {
+       return "'$input'";
+       $p1 = '';
+       $p2 = '';
+       $p3 = '';
+       $p4 = '';
+       $n = sscanf($input, '%f %s %f %s', &$p1, &$p2, &$p3, &$p4);
+       if ($n != 4) return '<em>' . htmlspecialchars($input) . '</em> <small>(Koordinaten falsch formatiert)</small>';
+       if ($p2 != 'N') return '<em>' . htmlspecialchars($input) . '</em> <small>(2. Parameter der Koordinaten muss N sein)</small>';
+       if ($p4 != 'E') return '<em>' . htmlspecialchars($input) . '</em> <small>(4. Parameter der Koordinaten muss E sein)</small>';
+       return '<a href="http://maps.google.at/maps?q=' . sprintf('%f,%f', $p1, $p3) . '">' . sprintf('%f %s %f %s', $p1, $p2, $p3, $p4) . '</a>';
+}
+
+
+?>
diff --git a/wrgeo.php b/wrgeo.php
new file mode 100644 (file)
index 0000000..734ae1b
--- /dev/null
+++ b/wrgeo.php
@@ -0,0 +1,16 @@
+<?php
+$wgExtensionCredits['parserhook'][] = array(
+       'name' => 'Winterrodeln Geo',
+       'version' => '0.1 alpha',
+       'author' =>'Philipp Spitzer', 
+       'url' => 'http://www.winterrodeln.org', 
+       'description' => 'This extension replaces the geo tag with a link.'
+);
+
+
+$wgHooks['ParserFirstCallInit'][] = 'wrGeoParserFirstCallInit';
+
+
+require_once dirname(__FILE__) . '/wrgeo.body.php';
+
+?>