Moved functions wrGeoGeoToString and wrGeoStringToGeo inside WrGeo that acts as names...
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 30 Sep 2013 20:35:02 +0000 (20:35 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 30 Sep 2013 20:35:02 +0000 (20:35 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/mediawiki_extensions/wrgeo/trunk@1638 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrgeo.body.php

index 3ef3813aa38b7c3ed9a6b691b769ef249a5f0ad6..d93dce8eadc1e6da47d8ded6cb4e242765dc0416 100644 (file)
@@ -1,35 +1,34 @@
 <?php
-
-/// \brief This function converts a string like "47.236189 N 11.301471 E" to geographical coordinates in degrees.
-///
-/// Usage:
-/// try {list($latitude, $longitude) = wrGeoStringToGeo("47.236189 N 11.301471 E");}
-/// catch (Exception $e) {return $e->getMessage();}
-///
-/// \throw exception if input is not formatted correctly with german UTF-8 error message. Don't forget to catch it!
-/// \param UTF-8 encoded input string.
-/// \return array($latitude, $longitude)
-function wrGeoStringToGeo($input) {
-       if (!$input) throw new Exception(utf8_encode('Keine Koordinaten angegeben.'));
-       $parsed = sscanf($input, '%f %s %f %s');
-       if (count($parsed) != 4) throw new Exception(utf8_encode('Die Koordinaten sind falsch formatiert.'));
-       if ($parsed[1] != 'N') throw new Exception(utf8_encode('2. Parameter der Koordinaten muss N sein.'));
-       if ($parsed[3] != 'E') throw new Exception(utf8_encode('4. Parameter der Koordinaten muss E sein.'));
-       return array($parsed[0], $parsed[2]);
-}
+class WrGeo {
+       /// \brief This function converts a string like "47.236189 N 11.301471 E" to geographical coordinates in degrees.
+       ///
+       /// Usage:
+       /// try {list($latitude, $longitude) = wrGeoStringToGeo("47.236189 N 11.301471 E");}
+       /// catch (Exception $e) {return $e->getMessage();}
+       ///
+       /// \throw exception if input is not formatted correctly with german UTF-8 error message. Don't forget to catch it!
+       /// \param UTF-8 encoded input string.
+       /// \return array($latitude, $longitude)
+       static function stringToGeo($input) {
+               if (!$input) throw new Exception(utf8_encode('Keine Koordinaten angegeben.'));
+               $parsed = sscanf($input, '%f %s %f %s');
+               if (count($parsed) != 4) throw new Exception(utf8_encode('Die Koordinaten sind falsch formatiert.'));
+               if ($parsed[1] != 'N') throw new Exception(utf8_encode('2. Parameter der Koordinaten muss N sein.'));
+               if ($parsed[3] != 'E') throw new Exception(utf8_encode('4. Parameter der Koordinaten muss E sein.'));
+               return array($parsed[0], $parsed[2]);
+       }
 
 
-function wrGeoGeoToString($latitude, $longitude) {
-       return sprintf('%.6F N %.6F E', $latitude, $longitude);
-}
+       static function geoToString($latitude, $longitude) {
+               return sprintf('%.6F N %.6F E', $latitude, $longitude);
+       }
 
 
-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);}
+               try {list($latitude, $longitude) = WrGeo::stringToGeo($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>';
+               return '<a href="http://maps.google.at/maps?q=' . sprintf('%F,%F', $latitude, $longitude) . '">' . WrGeo::geoToString($latitude, $longitude) . '</a>';
        }
 }