Dit is inmiddels gebeurd. Het is een mod in ontwikkeling, maar op mijn eigen forum (3.07) werkt deze perfect.
Zie
http://www.phpbb.com/community/viewtopi ... #p12797703
Aantal te bewerken bestand(en): 1
Instructies:
open
includes/functions_content.php
Zoek:
Vervang door:
Zoek:
Voeg toe, erna:
Zoek:
Voeg toe, ervoor:
Code: Selecteer alles
/**
* BartVB Show actual forumname or topic title instead of link to forum URLs
*/
function fetch_forumtitle($url)
{
global $db, $auth;
// Search for relevant URL parameters (preceded by '?' or 'amp;'
if(preg_match_all('/(?:\?|&)([ptf])=(\d+)/', $url, $matches))
{
$post_id = $topic_id = $forum_id = 0;
foreach($matches[1] as $set => $param)
{
switch ($param)
{
case 'p':
$post_id = $matches[2][$set];
break;
case 't':
$topic_id = $matches[2][$set];
break;
case 'f':
$forum_id = $matches[2][$set];
break;
}
}
if ($forum_id != 0 && !$auth->acl_get('f_read', $forum_id))
{
return $url;
}
if ($topic_id != 0 || $post_id != 0)
{
$sql = "SELECT
t.forum_id, topic_title, forum_name " . ($post_id != 0 ? ", username" : "") . "
FROM " .
($post_id != 0 ? POSTS_TABLE . " p, " . USERS_TABLE . " u, " : "") .
TOPICS_TABLE . " t
LEFT JOIN " . FORUMS_TABLE . " f ON (t.forum_id = f.forum_id)
WHERE " .
($post_id != 0 ? "post_id = $post_id AND p.topic_id = t.topic_id AND p.poster_id = u.user_id " : "topic_id = " . $topic_id);
$result = $db->sql_query($sql);
if($row = $db->sql_fetchrow($result))
{
if (!$auth->acl_get('f_read', $row['forum_id']))
{
return $url;
}
$username = ($post_id != 0) ? $row['username'] . " @ " : '';
$forum_abbr = (preg_match('/^(\[.+\])/', $row['forum_name'], $matches)) ? $matches[1] . ' ' : '';
return $username . $forum_abbr . $row['topic_title'];
}
}
elseif ($forum_id != 0)
{
$sql = "SELECT forum_name FROM " . FORUMS_TABLE . " WHERE forum_id = " . $forum_id;
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
return $row['forum_name'];
}
}
}
return $url;
}
Klaar!