Forum Link to Topic Title

Mixed forum with code snippets, guides and styles
Forum rules
Everything in this forum is for everybody
But support only for Donators!
User avatar
Stoker
Site Admin
Site Admin
Posts: 3520
Joined: 12 May 2008, 23:26
BBCodes: 239
Favourite BBCode: Anipro
Favourite MOD: PrettyPhoto
Location: Denmark
Contact:

Forum Link to Topic Title

Post by Stoker »

Forum Link to Topic Title
Written by BartVB and 4_seven

This is one of the forgotten snippets.
It changes internal links to topic title.

Internal forum link example: Top Stats
Internal forum topic example: viewtopic.php?f=37&t=1346
Internal forum post example: General Error (Post by KreatorTeam #8664)

Open: includes/functions_content.php
Find:

Code: Select all

$text            = $relative_url; 
Replace with:

Code: Select all

$text            = fetch_forumtitle($url);
Find:

Code: Select all

$text    = htmlspecialchars($text);
Replace with:

Code: Select all

$text    = str_replace('&', '&', $text);
Find:

Code: Select all

/**
 * make_clickable function
Add before:

Code: Select all

 /**
    *  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;
    } 
Board rules! No PM support
User avatar
martin123456
BBCoder VI
BBCoder VI
Posts: 765
Joined: 25 Jul 2011, 13:29
BBCodes: 34
Favourite MOD: Ban button
Location: Down south!
Contact:

Forum Link to Topic Title

Post by martin123456 »

This should be default in phpbb but it's not.
:D
User avatar
kevinviet
BBCoder III
BBCoder III
Posts: 123
Joined: 06 Mar 2010, 04:52

Forum Link to Topic Title

Post by kevinviet »

Thanks Stoker :thumb:
User avatar
kevinviet
BBCoder III
BBCoder III
Posts: 123
Joined: 06 Mar 2010, 04:52

Forum Link to Topic Title

Post by kevinviet »

After the edited, on my board the link with www is work great but the link without www doesn't work. Any idea fixing it Stoker ?
User avatar
Stoker
Site Admin
Site Admin
Posts: 3520
Joined: 12 May 2008, 23:26
BBCodes: 239
Favourite BBCode: Anipro
Favourite MOD: PrettyPhoto
Location: Denmark
Contact:

Forum Link to Topic Title

Post by Stoker »

Nope, but you can ask the author here: http://www.phpbb.com/community/viewtopi ... &t=2092969
Board rules! No PM support
User avatar
kevinviet
BBCoder III
BBCoder III
Posts: 123
Joined: 06 Mar 2010, 04:52

Forum Link to Topic Title

Post by kevinviet »

Thanks Stoker, will go there :D
User avatar
Solidjeuh
BBCoder IV
BBCoder IV
Posts: 257
Joined: 16 Oct 2011, 02:15
BBCodes: 7
Favourite MOD: Top stats
Location: Aalst / Belgium
Contact:

Forum Link to Topic Title

Post by Solidjeuh »

Is this also possible for the phpbb arcade?
For the announcements in Mchat when new games are added..
Cause those announcements still shows the link, And not the topic tittle
Wij promoten UW muziek in ons forum & delen alles via Sociale media!
Mail uw single + hoesje + info naar: info@muziekpromo.net of Solidjeuh@textradio.be
===============
Onze Website: https://www.muziekpromo.net
User avatar
Stoker
Site Admin
Site Admin
Posts: 3520
Joined: 12 May 2008, 23:26
BBCodes: 239
Favourite BBCode: Anipro
Favourite MOD: PrettyPhoto
Location: Denmark
Contact:

Forum Link to Topic Title

Post by Stoker »

Try ask the arcade author. He might have the solution.
Board rules! No PM support
User avatar
Nully
Donator
Donator
Posts: 258
Joined: 15 Mar 2010, 00:03
BBCodes: 10
Favourite MOD: Radios
Location: France > Bulgaria
Contact:

Forum Link to Topic Title

Post by Nully »

I like it. Thanks Stoker :D
User avatar
Rhyno
BBCoder III
BBCoder III
Posts: 100
Joined: 25 Jan 2012, 06:06
BBCodes: 10
Favourite MOD: Top Stats
Location: Australia
Contact:

Forum Link to Topic Title

Post by Rhyno »

This still work on 3.0.11 ?
Post Reply