aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2008-03-24 00:16:13 +0000
committerNils Adermann <naderman@naderman.de>2008-03-24 00:16:13 +0000
commit50e1d938879db3385eb446eade2a3b7950b85fe3 (patch)
tree671454f2febc4714e71674584397034afe71cb7d
parent45673658a10cb8493801b96ceecab3acccda3e5d (diff)
downloadforums-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
-rw-r--r--phpBB/docs/CHANGELOG.html2
-rw-r--r--phpBB/includes/functions_content.php19
2 files changed, 16 insertions, 5 deletions
diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index b7490eabb1..8b68dc680f 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -144,7 +144,7 @@
<li>[Fix] Correctly obtain to be ignored users within topic/forum notification (Bug #21795 - patch provided by dr.death)</li>
<li>[Fix] Correctly update board statistics for attaching orphaned files to existing posts (Bug #20185)</li>
<li>[Sec] Only allow searching by email address in memberlist for users having the a_user permission (reported by evil&lt;3)</li>
-
+ <li>[Fix] Do not detect the board URL as a link twice in posts (Bug #19215)</li>
</ul>
<a name="v30rc8"></a><h3>1.i. Changes since 3.0.RC8</h3>
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;
}