]> git.mxchange.org Git - friendica.git/blob - src/Util/Map.php
Merge pull request #8263 from annando/remote-follow
[friendica.git] / src / Util / Map.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2020, Friendica
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  */
21
22 namespace Friendica\Util;
23
24 use Friendica\Core\Hook;
25
26 /**
27  * Leaflet Map related functions
28  */
29 class Map {
30         public static function byCoordinates($coord, $html_mode = 0) {
31                 $coord = trim($coord);
32                 $coord = str_replace([',','/','  '],[' ',' ',' '],$coord);
33                 $arr = ['lat' => trim(substr($coord,0,strpos($coord,' '))), 'lon' => trim(substr($coord,strpos($coord,' ')+1)), 'mode' => $html_mode, 'html' => ''];
34                 Hook::callAll('generate_map',$arr);
35                 return ($arr['html']) ? $arr['html'] : $coord;
36         }
37
38         public static function byLocation($location, $html_mode = 0) {
39                 $arr = ['location' => $location, 'mode' => $html_mode, 'html' => ''];
40                 Hook::callAll('generate_named_map',$arr);
41                 return ($arr['html']) ? $arr['html'] : $location;
42         }
43
44         public static function getCoordinates($location) {
45                 $arr = ['location' => $location, 'lat' => false, 'lon' => false];
46                 Hook::callAll('Map::getCoordinates', $arr);
47                 return $arr;
48         }
49 }