PHPBB forum posts on homepage

Have a question or a suggestion about a 3rd party addon module or plugin?
Let us know here.
Post Reply
kazimierz
New Member
New Member
Posts: 8
Joined: Thu Nov 12, 2009 11:54 am

Re: PHPBB forum posts on homepage

Post by kazimierz »

You just need new UDT with a bit of php:

Code: Select all

    // How Many Topics you want to display?
    $topicnumber = 6;
    // Change this to your phpBB path
    $urlPath = "/forum";
 
    // Database Configuration (Where your phpBB config.php file is located)
    include 'forum/config.php';
    $table_topics = $table_prefix. "topics";
    $table_forums = $table_prefix. "forums";
    $table_posts = $table_prefix. "posts";
    $table_users = $table_prefix. "users";
    $link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
    mysql_select_db("$dbname") or die("Could not select database");
    mysql_set_charset('utf8',$link);
    $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u
    WHERE t.topic_id = p.topic_id AND
    f.forum_id = t.forum_id AND

    //Which forums should be ommited
    //ID may be found in forum URL
    t.forum_id != 13 AND 
    t.forum_id != 41 AND
    t.topic_status <> 2 AND
    p.post_id = t.topic_last_post_id AND
    p.poster_id = u.user_id
    ORDER BY p.post_id DESC LIMIT $topicnumber";
    $result = mysql_query($query) or die("Query failed");									
    print "<div style=\"margin:auto;\">\n";
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo  "<div>";

    //prints forum name before topic
    //may be removed
    if ($row[forum_id] == 1) echo "ForumName:";

    //substr below cuts topic name after 40th char
    echo "\n<a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]#p$row[post_id]\">" .
    substr($row["topic_title"],0,40) .
    "</a>\n<div style=\"float:right;font-size:0.8em;\"><a href=\"$urlPath/memberlist.php?mode=viewprofile&u=$row[user_id]\">" .
    $row["username"] .
    "</a>\n" .
    date('d.m, H:i ', $row["post_time"]) .
    "</div>\n</div>";
    }
    print "</div>";
    mysql_free_result($result);
Jude
Forum Members
Forum Members
Posts: 31
Joined: Fri Aug 08, 2008 2:01 pm

Re: PHPBB forum posts on homepage

Post by Jude »

That looks cool, but can you explain me this bit more precisley – I really don't understand what I should do next.

TIA
Wishbone
Power Poster
Power Poster
Posts: 1368
Joined: Tue Dec 23, 2008 8:39 pm

Re: PHPBB forum posts on homepage

Post by Wishbone »

Create a UDT (User defined tag) called phpBB. Somewhere in your home page template, call {phpBB}... That's it. Might have to change some of the variables at the beginning of the UDT to match your application.
Jude
Forum Members
Forum Members
Posts: 31
Joined: Fri Aug 08, 2008 2:01 pm

Re: PHPBB forum posts on homepage

Post by Jude »

Thanks Wishbone,

this helped me already somewhere – atleast up to the line

Code: Select all

mysql_select_db("$dbname") or die("Could not select database");
is running OK, but after that something goes wrong, because I get reply "Query failed".

If I'm understanding everything right, I should check the from number from the URL and I have for ex. a forum "viewforum.php?f=1" and subforum "viewforum.php?f=4", so I should change lines in following way:

Code: Select all

//Which forums should be ommited
    //ID may be found in forum URL
    t.forum_id != 1 AND
    t.forum_id != 4 AND
    t.topic_status <> 2 AND
    p.post_id = t.topic_last_post_id AND
    p.poster_id = u.user_id
    ORDER BY p.post_id DESC LIMIT $topicnumber";
    $result = mysql_query($query) or die("Query failed");
There must be something wrong, but I can't figure out what, but the result is "Query failed". If someone can tell me where I'm doing wrong I would appreciate it a lot.

TIA

-jude
Wishbone
Power Poster
Power Poster
Posts: 1368
Joined: Tue Dec 23, 2008 8:39 pm

Re: PHPBB forum posts on homepage

Post by Wishbone »

Remember that those two forums is on the omit list, not the forums you want.. Change the != to = if you want it to check those ones.

Execute:

echo $query

before the mysql_query line to see the query created before it fails..... Run that query in phpmyadmin to see what the error message is... Do you know mysql syntax? It would help for debugging.
Post Reply

Return to “Modules/Add-Ons”