Merge pull request #4059 from annando/maps
The map class is now born as well
This commit is contained in:
commit
74767ad321
6 changed files with 34 additions and 28 deletions
|
@ -6,10 +6,10 @@ use Friendica\Core\Cache;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Core\Config;
|
use Friendica\Core\Config;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
|
use Friendica\Util\Map;
|
||||||
|
|
||||||
require_once 'include/oembed.php';
|
require_once 'include/oembed.php';
|
||||||
require_once 'include/event.php';
|
require_once 'include/event.php';
|
||||||
require_once 'include/map.php';
|
|
||||||
require_once 'mod/proxy.php';
|
require_once 'mod/proxy.php';
|
||||||
require_once 'include/plaintext.php';
|
require_once 'include/plaintext.php';
|
||||||
|
|
||||||
|
@ -33,11 +33,11 @@ function bb_PictureCache($matches) {
|
||||||
|
|
||||||
function bb_map_coords($match) {
|
function bb_map_coords($match) {
|
||||||
// the extra space in the following line is intentional
|
// the extra space in the following line is intentional
|
||||||
return str_replace($match[0], '<div class="map" >' . generate_map(str_replace('/', ' ', $match[1])) . '</div>', $match[0]);
|
return str_replace($match[0], '<div class="map" >' . Map::byCoordinates(str_replace('/', ' ', $match[1])) . '</div>', $match[0]);
|
||||||
}
|
}
|
||||||
function bb_map_location($match) {
|
function bb_map_location($match) {
|
||||||
// the extra space in the following line is intentional
|
// the extra space in the following line is intentional
|
||||||
return str_replace($match[0], '<div class="map" >' . generate_named_map($match[1]) . '</div>', $match[0]);
|
return str_replace($match[0], '<div class="map" >' . Map::byLocation($match[1]) . '</div>', $match[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
|
function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
|
||||||
|
|
|
@ -9,9 +9,9 @@ use Friendica\Content\Feature;
|
||||||
use Friendica\Core\PConfig;
|
use Friendica\Core\PConfig;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
|
use Friendica\Util\Map;
|
||||||
|
|
||||||
require_once 'include/bbcode.php';
|
require_once 'include/bbcode.php';
|
||||||
require_once 'include/map.php';
|
|
||||||
require_once 'include/datetime.php';
|
require_once 'include/datetime.php';
|
||||||
require_once "include/conversation.php";
|
require_once "include/conversation.php";
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ function format_event_html($ev, $simple = false) {
|
||||||
|
|
||||||
// Include a map of the location if the [map] BBCode is used.
|
// Include a map of the location if the [map] BBCode is used.
|
||||||
if (strpos($ev['location'], "[map") !== false) {
|
if (strpos($ev['location'], "[map") !== false) {
|
||||||
$map = generate_named_map($ev['location']);
|
$map = Map::byLocation($ev['location']);
|
||||||
if ($map !== $ev['location']) {
|
if ($map !== $ev['location']) {
|
||||||
$o.= $map;
|
$o.= $map;
|
||||||
}
|
}
|
||||||
|
@ -967,9 +967,9 @@ function format_event_item($item) {
|
||||||
}
|
}
|
||||||
// Construct the map HTML.
|
// Construct the map HTML.
|
||||||
if (isset($evloc['address'])) {
|
if (isset($evloc['address'])) {
|
||||||
$location['map'] = '<div class="map">' . generate_named_map($evloc['address']) . '</div>';
|
$location['map'] = '<div class="map">' . Map::byLocation($evloc['address']) . '</div>';
|
||||||
} elseif (isset($evloc['coordinates'])) {
|
} elseif (isset($evloc['coordinates'])) {
|
||||||
$location['map'] = '<div class="map">' . generate_map(str_replace('/', ' ', $evloc['coordinates'])) . '</div>';
|
$location['map'] = '<div class="map">' . Map::byCoordinates(str_replace('/', ' ', $evloc['coordinates'])) . '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct the profile link (magic-auth).
|
// Construct the profile link (magic-auth).
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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);
|
|
||||||
}
|
|
|
@ -9,9 +9,9 @@ use Friendica\Core\Config;
|
||||||
use Friendica\Core\PConfig;
|
use Friendica\Core\PConfig;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
|
use Friendica\Util\Map;
|
||||||
|
|
||||||
require_once "include/friendica_smarty.php";
|
require_once "include/friendica_smarty.php";
|
||||||
require_once "include/map.php";
|
|
||||||
require_once "mod/proxy.php";
|
require_once "mod/proxy.php";
|
||||||
require_once "include/conversation.php";
|
require_once "include/conversation.php";
|
||||||
|
|
||||||
|
@ -1372,7 +1372,7 @@ function prepare_body(&$item, $attach = false, $preview = false) {
|
||||||
|
|
||||||
// Map.
|
// Map.
|
||||||
if (strpos($s, '<div class="map">') !== false && x($item, 'coord')) {
|
if (strpos($s, '<div class="map">') !== false && x($item, 'coord')) {
|
||||||
$x = generate_map(trim($item['coord']));
|
$x = Map::byCoordinates(trim($item['coord']));
|
||||||
if ($x) {
|
if ($x) {
|
||||||
$s = preg_replace('/\<div class\=\"map\"\>/', '$0' . $x, $s);
|
$s = preg_replace('/\<div class\=\"map\"\>/', '$0' . $x, $s);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1488,7 +1488,7 @@ function photos_content(App $a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($link_item['coord']) {
|
if ($link_item['coord']) {
|
||||||
$map = generate_map($link_item['coord']);
|
$map = Map::byCoordinates($link_item['coord']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
24
src/Util/Map.php
Normal file
24
src/Util/Map.php
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @file src/Util/Map.php
|
||||||
|
*/
|
||||||
|
namespace Friendica\Util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet Map related functions
|
||||||
|
*/
|
||||||
|
class Map {
|
||||||
|
public static function byCoordinates($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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function byLocation($location) {
|
||||||
|
$arr = array('location' => $location, 'html' => '');
|
||||||
|
call_hooks('generate_named_map',$arr);
|
||||||
|
return ($arr['html']) ? $arr['html'] : $location;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue