]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Map.php
Merge branch '2019.01-rc' into bug/6334-escape-get-app
[friendica.git] / src / Util / Map.php
index e2398b2fd187ed8a5e9d2f890e0a149191db973d..d3ac0216656d608babe25a288c73e772d29477c8 100644 (file)
@@ -1,18 +1,32 @@
 <?php
+/**
+ * @file src/Util/Map.php
+ */
+namespace Friendica\Util;
+
+use Friendica\Core\Addon;
 
 /**
  * Leaflet Map related functions
  */
- function generate_map($coord) {
-       $coord = trim($coord);
-       $coord = str_replace(array(',','/','  '),array(' ',' ',' '),$coord);
-       $arr = array('lat' => trim(substr($coord,0,strpos($coord,' '))), 'lon' => trim(substr($coord,strpos($coord,' ')+1)), 'html' => '');
-       call_hooks('generate_map',$arr);
-       return (($arr['html']) ? $arr['html'] : $coord);
-}
-function generate_named_map($location) {
-       $arr = array('location' => $location, 'html' => '');
-       call_hooks('generate_named_map',$arr);
-       return (($arr['html']) ? $arr['html'] : $location);
+class Map {
+       public static function byCoordinates($coord, $html_mode = 0) {
+               $coord = trim($coord);
+               $coord = str_replace([',','/','  '],[' ',' ',' '],$coord);
+               $arr = ['lat' => trim(substr($coord,0,strpos($coord,' '))), 'lon' => trim(substr($coord,strpos($coord,' ')+1)), 'mode' => $html_mode, 'html' => ''];
+               Addon::callHooks('generate_map',$arr);
+               return ($arr['html']) ? $arr['html'] : $coord;
+       }
+
+       public static function byLocation($location, $html_mode = 0) {
+               $arr = ['location' => $location, 'mode' => $html_mode, 'html' => ''];
+               Addon::callHooks('generate_named_map',$arr);
+               return ($arr['html']) ? $arr['html'] : $location;
+       }
+
+       public static function getCoordinates($location) {
+               $arr = ['location' => $location, 'lat' => false, 'lon' => false];
+               Addon::callHooks('Map::getCoordinates', $arr);
+               return $arr;
+       }
 }