Ana sayfanızda phpbb3 Forum başlıklarını gösterin



Bir anasayfaniz ve birde phpbb3 forumunuz var ve forumdaki yeni açılan basliklari anasayfanizda göstermek istiyorsunuz örnek uygulama vermiştik bunun için aşağıdaki kodları kullanmanız

yeterlidir.

Asağidaki kodu sayfanizin en üsütüne kopyalayin

<?
    define('IN_PHPBB', true);
    $phpbb_root_path = './forum/'; // Path to phpbb folder
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);

    // Grab user preferences
    $user->setup();
?>

Baslik linkleri nerede görünsün istiyorsanız aşağıdaki kodu oraya kopyalayin:

<? 
        /*** phpBB3 - Last Active Topics System ***/
        //Show last x topics
        define('TOPICS_LIMIT',10);

        // Create arrays
        $topics = array();
       
        // Get forums that current user has read rights to.
        $forums = array_unique(array_keys($auth->acl_getf('f_read', true)));
       
        // Get active topics.
        $sql="SELECT *
        FROM " . TOPICS_TABLE . "
        WHERE topic_approved = '1' AND " . $db->sql_in_set('forum_id', $forums) . "
        ORDER BY topic_last_post_time DESC";
        $result = $db->sql_query_limit($sql,TOPICS_LIMIT);
        while ($r = $db->sql_fetchrow($result))
        {
            $topics[] = $r;
        }
       $db->sql_freeresult($result);
    ?>
    <div>
    <?
           
        foreach($topics as $t)
        {
            // Get folder img, topic statuş/type related information
            $topic_tracking_info = get_complete_topic_tracking($t['forum_id'], $t['topic_id']);
            $unread_topic = (isset($topic_tracking_info[$t['topic_id']]) && $t['topic_last_post_time'] > $topic_tracking_info[$t['topic_id']]) ? true : false;
            $folder_img = $folder_alt = $topic_type = '';
            topic_statuş($t, $t['topic_replies'], $unread_topic, $folder_img, $folder_alt, $topic_type);
           
            // output the link
            ?>
                <img style="vertical-align: text-bottom" src="<?=$user->img($folder_img, $folder_alt, false, '', 'src');?>" title="<?=$user->lang[$folder_alt];?>" alt="<?=$user->lang[$folder_alt];?>" />
                <a href="<?=$phpbb_root_path . 'viewtopic.php?f=' . $t['forum_id'] . '&amp;t=' . $t['topic_id'] . '&amp;p=' . $t['topic_last_post_id'] . '#p' . $t['topic_last_post_id'];?>"><?=html_entity_decode($t['topic_title']);?></a><br />
        <?
        }
        ?>
    </div>

uygulamalarim sirasinda Türkce karakter sorununa rastladigimdan gerekli kod ileveleri ile bu durumu düzelttim , son ve calisan sekliyle (Tr karakter sorunsuz) aşağıdadir:

<?php
    header('Content-Type: text/html; charset=utf-8');
    define('IN_PHPBB', true);
    $phpbb_root_path = './forum/'; // Path to phpbb folder
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);

    // Grab user preferences
    $user->setup();
    /*** phpBB3 - Last Active Topics System ***/
        //Show last x topics
        define('TOPICS_LIMIT',10);

        // Create arrays
        $topics = array();
       
        // Get forums that current user has read rights to.
        $forums = array_unique(array_keys($auth->acl_getf('f_read', true)));
       
        // Get active topics.
        $sql="SELECT *
        FROM " . TOPICS_TABLE . "
        WHERE topic_approved = '1' AND " . $db->sql_in_set('forum_id', $forums) . "
        ORDER BY topic_last_post_time DESC";
        $result = $db->sql_query_limit($sql,TOPICS_LIMIT);
        while ($r = $db->sql_fetchrow($result))
        {
            $topics[] = $r;
        }
       $db->sql_freeresult($result);
    ?>
    <div>
    <?
           
        foreach($topics as $t)
        {
            // Get folder img, topic statuş/type related information
            $topic_tracking_info = get_complete_topic_tracking($t['forum_id'], $t['topic_id']);
            $unread_topic = (isset($topic_tracking_info[$t['topic_id']]) && $t['topic_last_post_time'] > $topic_tracking_info[$t['topic_id']]) ? true : false;
            $folder_img = $folder_alt = $topic_type = '';
            topic_statuş($t, $t['topic_replies'], $unread_topic, $folder_img, $folder_alt, $topic_type);
           
            // output the link
            ?>
                <img style="vertical-align: text-bottom" src="<?=$user->img($folder_img, $folder_alt, false, '', 'src');?>" title="<?=$user->lang[$folder_alt];?>" alt="<?=$user->lang[$folder_alt];?>" />
                <a href="<?=$phpbb_root_path . 'viewtopic.php?f=' . $t['forum_id'] . '&amp;t=' . $t['topic_id'] . '&amp;p=' . $t['topic_last_post_id'] . '#p' . $t['topic_last_post_id'];?>"><?=html_entity_decode($t['topic_title']);?></a><br />
        <?
        }
        ?>
    </div>

Asağidaki kod ise aşağıdan yukariya dogru baslayip kaybolan slayt şeklinde son 10 başlığı listelemektedir

<?php

        // How Many Topics you want to display?
        $topicnumber = 10;
        // Scrolling towards up or down?
        $scroll = "up";
        // Change this to your phpBB path
        $urlPath = "/forum";

        // Database Configuration (Where your phpBB config.php file is located)
        include '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");

        $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
        t.forum_id != 4 AND
        t.topic_statuş <> 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 "<marquee id=\"recent_topics\" behavior=\"scroll\" direction=\"$scroll\" height=\"170\" scrolldelay=\"100\" scrollamount=\"2\" onMouseOver=\"document.all.recent_topics.stop()\" onMouseOut=\"document.all.recent_topics.start()\">
        <table cellpadding='3' cellSpacing='2' width='100%'>";
        while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

        echo  "<tr valign='top'><td><font face=\"Tahoma\" size=\"1\"><font color=\"#FFCC00\"><b><a href=\"$urlPath/viewtopic.php?f=$row[forum_id]&t=$row[topic_id]&p=$row[post_id]#p$row[post_id]\" TARGET=\"_blank\">" .
        $row["topic_title"] .
        "</a></td></font></b><td><font face=\"Tahoma\" size=\"1\"><font color=\"#C0C0C0\"> by: <a href=\"$urlPath/memberlist.php?mode=viewprofile&u=$row[user_id]\" TARGET=\"_blank\">" .
        $row["username"] .
        "</td><td><font face=\"tahoma\" size=\"1\"><font color=\"#C0C0C0\">" .
        date('F j, Y, g:i a', $row["post_time"]) .
        "</td></tr></font>";
        }
        print "</table></marquee>";
        mysql_free_result($result);
        mysql_close($link);
        ?>

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha