diff options
author | friendica <info@friendica.com> | 2014-12-16 15:50:20 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-12-16 15:50:20 -0800 |
commit | 789e025eab00a8feeba9644b7541119daea6b078 (patch) | |
tree | 5cb0e788cffd2bd01b514940e8bf4d49677381ac | |
parent | 4d5f28f07a4405e468851413e56057dc2acfb585 (diff) | |
download | volse-hubzilla-789e025eab00a8feeba9644b7541119daea6b078.tar.gz volse-hubzilla-789e025eab00a8feeba9644b7541119daea6b078.tar.bz2 volse-hubzilla-789e025eab00a8feeba9644b7541119daea6b078.zip |
Add [ map ] element to bbcode, no closing tag. Requires a map generator plugin (like openstreetmap which was just updated) and also requires that the author has browser location enabled.
-rw-r--r-- | include/bbcode.php | 8 | ||||
-rw-r--r-- | include/text.php | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 5b7451a6b..254674172 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -492,6 +492,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text); $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text); } + + // leave open the posibility of [map=something] + // this is replaced in prepare_body() which has knowledge of the item location + + if (strpos($Text,'[map]') !== false) { + $Text = preg_replace("/\[map\]/", '<div class="map"></div>', $Text); + } + // Check for bold text if (strpos($Text,'[b]') !== false) { $Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'<strong>$1</strong>',$Text); diff --git a/include/text.php b/include/text.php index 3a7c02362..404d34dcb 100644 --- a/include/text.php +++ b/include/text.php @@ -1306,6 +1306,13 @@ function format_filer(&$item) { } +function generate_map($coord) { + $arr = array('lat' => substr($coord,0,strpos($coord,' ')), 'lon' => substr($coord,strpos($coord,' ')+1), 'html' => ''); + call_hooks('generate_map',$arr); + return $arr['html']; +} + + function prepare_body(&$item,$attach = false) { @@ -1323,6 +1330,13 @@ function prepare_body(&$item,$attach = false) { return $s; } + if(strpos($s,'<div class="map">') !== false && $item['coord']) { + $x = generate_map(trim($item['coord'])); + if($x) { + $s = preg_replace('/\<div class\=\"map\"\>/','$0' . $x,$s); + } + } + $s .= theme_attachments($item); $writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false); |