diff options
author | Nils Adermann <naderman@naderman.de> | 2008-03-24 00:16:13 +0000 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2008-03-24 00:16:13 +0000 |
commit | 50e1d938879db3385eb446eade2a3b7950b85fe3 (patch) | |
tree | 671454f2febc4714e71674584397034afe71cb7d /phpBB/includes | |
parent | 45673658a10cb8493801b96ceecab3acccda3e5d (diff) | |
download | forums-50e1d938879db3385eb446eade2a3b7950b85fe3.tar forums-50e1d938879db3385eb446eade2a3b7950b85fe3.tar.gz forums-50e1d938879db3385eb446eade2a3b7950b85fe3.tar.bz2 forums-50e1d938879db3385eb446eade2a3b7950b85fe3.tar.xz forums-50e1d938879db3385eb446eade2a3b7950b85fe3.zip |
- [Fix] Do not detect the board URL as a link twice in posts (Bug #19215)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8462 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/functions_content.php | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php index 0d367f953f..9eab477a8a 100644 --- a/phpBB/includes/functions_content.php +++ b/phpBB/includes/functions_content.php @@ -492,6 +492,7 @@ function generate_text_for_edit($text, $uid, $flags) */ function make_clickable_callback($type, $whitespace, $url, $relative_url, $class) { + $orig_url = $url . $relative_url; $append = ''; $url = htmlspecialchars_decode($url); $relative_url = htmlspecialchars_decode($relative_url); @@ -558,29 +559,39 @@ function make_clickable_callback($type, $whitespace, $url, $relative_url, $class break; } + $short_url = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url; + switch ($type) { case MAGIC_URL_LOCAL: $tag = 'l'; $relative_url = preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url)); $url = $url . '/' . $relative_url; - $text = ($relative_url) ? $relative_url : $url; + $text = $relative_url; + + // this url goes to http://domain.tld/path/to/board/ which + // would result in an empty link if treated as local so + // don't touch it and let MAGIC_URL_FULL take care of it. + if (!$relative_url) + { + return $orig_url . '/'; // slash is taken away by relative url pattern + } break; case MAGIC_URL_FULL: $tag = 'm'; - $text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url; + $text = $short_url; break; case MAGIC_URL_WWW: $tag = 'w'; $url = 'http://' . $url; - $text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url; + $text = $short_url; break; case MAGIC_URL_EMAIL: $tag = 'e'; - $text = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url; + $text = $short_url; $url = 'mailto:' . $url; break; } |