1
Mods & Plugins (Requests & Discussions) / Re: [MOD] Last topics from phpBB3 forum to index page (php) version 2
« on: May 22, 2015, 05:44:17 PM »
for last forum posts of phpbb2 forums this code works (just as addition)
create recent.php with
<?php
// ############ Edit below ########################################
$topic_length = '20'; // length of topic title
$topic_limit = '5'; // limit of displayed topics
$special_forums = '0'; // specify forums ('0' = no; '1' = yes)
$forum_ids = '3,5,6,7'; // IDs of forums; separate them with a comma
$config_path = '/'; // path to config.php
$root_path = 'INSERTYOURURLHERE'; // link path
// ############ Edit above #######################################
$path = dirname(__FILE__);
include_once($path.$config_path .'config.php');
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
mysql_select_db($dbname) OR die('Unable to select database.');
// ############## output ##############
echo '<table border="0" cellpadding="0" cellspacing="0" style="width: 100%" id="Table_DSF-Top5">
<body text="#000000" link="#000000" vlink="#333333" alink="#333333">
<tr>
<td colspan="4"><span class="small"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">
Die '. $topic_limit .' letzten Themen im Forum</font></span></td><br>
</tr>
<tr>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Foren</font></strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">User</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Datum</font>
</strong></span></td>
<td style="width: 20%"><span class="small"><strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Thema</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
</tr>';
// ############## output ##############
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";
$result = mysql_query($sql);
if( !$result )
{
die('SQL Statement Error: '. mysql_error());
exit();
}
$line = array();
while( $row = mysql_fetch_array($result) )
{
$line[] = $row;
}
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id'];
$forum_url = $root_path .'viewforum.php?f='. $forum_id;
$topic_id = $line[$i]['topic_id'];
$topic_url = $root_path .'viewtopic.php?t='. $topic_id;
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Announcement ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Global Announcement ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Sticky ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Poll ': '';
$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];
$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';
// ############## output ##############
echo '<tr>
<td style="width: 20%"><a href="'. $forum_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $line[$i]['forum_name'] .'</font></a></td>
<td style="width: 20%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_url .'</font></td>
<td style="width: 20%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_time .'</font></td>
<td style="width: 20%"><a href="'. $topic_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $topic_title .'</font></a></td>
</tr>';
// ############## output ##############
}
echo '</table>';
mysql_close();
?>
save recent.php in your forum directory
and then embed with this line your latest posts somewhere within your 4images (best in the sidebar) with this code:
<?php include(ROOT_PATH."forum/recent.php"); ?>
create recent.php with
<?php
// ############ Edit below ########################################
$topic_length = '20'; // length of topic title
$topic_limit = '5'; // limit of displayed topics
$special_forums = '0'; // specify forums ('0' = no; '1' = yes)
$forum_ids = '3,5,6,7'; // IDs of forums; separate them with a comma
$config_path = '/'; // path to config.php
$root_path = 'INSERTYOURURLHERE'; // link path
// ############ Edit above #######################################
$path = dirname(__FILE__);
include_once($path.$config_path .'config.php');
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
mysql_select_db($dbname) OR die('Unable to select database.');
// ############## output ##############
echo '<table border="0" cellpadding="0" cellspacing="0" style="width: 100%" id="Table_DSF-Top5">
<body text="#000000" link="#000000" vlink="#333333" alink="#333333">
<tr>
<td colspan="4"><span class="small"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">
Die '. $topic_limit .' letzten Themen im Forum</font></span></td><br>
</tr>
<tr>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Foren</font></strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">User</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
<td style="width: 20%"><span class="small">
<strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Datum</font>
</strong></span></td>
<td style="width: 20%"><span class="small"><strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Thema</font>
</strong>
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
</strong></span></td>
</tr>';
// ############## output ##############
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";
$result = mysql_query($sql);
if( !$result )
{
die('SQL Statement Error: '. mysql_error());
exit();
}
$line = array();
while( $row = mysql_fetch_array($result) )
{
$line[] = $row;
}
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id'];
$forum_url = $root_path .'viewforum.php?f='. $forum_id;
$topic_id = $line[$i]['topic_id'];
$topic_url = $root_path .'viewtopic.php?t='. $topic_id;
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Announcement ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Global Announcement ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Sticky ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Poll ': '';
$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];
$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';
// ############## output ##############
echo '<tr>
<td style="width: 20%"><a href="'. $forum_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $line[$i]['forum_name'] .'</font></a></td>
<td style="width: 20%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_url .'</font></td>
<td style="width: 20%">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_time .'</font></td>
<td style="width: 20%"><a href="'. $topic_url .'" target="_blank">
<font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $topic_title .'</font></a></td>
</tr>';
// ############## output ##############
}
echo '</table>';
mysql_close();
?>
save recent.php in your forum directory
and then embed with this line your latest posts somewhere within your 4images (best in the sidebar) with this code:
<?php include(ROOT_PATH."forum/recent.php"); ?>