Codice: Seleziona tutto
Last Post Under Forum Description
This hack will place the last post information under the forum description on your index page, including the topic title, the date and time of the last person and the person who made the post.
Requires the Last Post Topic on Index.
Ultimo post scritto da Tizio alle ore 12:34 del 01/01/2011
Cliccando su ultimo post ti indirizzava direttamente al topic mentre cliccando sul nick ti apriva il suo profilo
per phpbb3 fin'ora ho trovato solo mod per inserire tutto l'ultimo topic da qualche parte o simili
allego il codice della mod per phpbb2:
Codice: Seleziona tutto
##############################################################
## MOD Title: Last Post under Forum description [2.0.17]
## MOD Author: getout < getout@hotmail.com >
##
## MOD Description: This mod will place the Last post under the forum description in index_body just as vbulletin style.
## "Topic on Index" mod by e-sven(http://www.phpbbhacks.com/download/566) should be installed first before using this mod
##
## MOD Version: 1.0.0
##
## Installation Level: (Easy)
## Installation Time: 1 Minute
## Files To Edit: (1)
## - index.php
## - templates/subSilver/index_body.tpl
## - templates/subSilver/subSilver.css
## Included Files: (n/a)
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: Empty 'REPLACE WITH' codes means remove the line.
## "Topic on Index" mod should be installed before using this mod.
##
##############################################################
## MOD History:
##
## 2005-09-04 - Version 1.0.0
## - First version released !
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
index.php
#
#-----[ FIND ]------------------------------------------
#
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';
$last_post .= $last_post_time . ' <a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '"></a><br>' . $lang['by'] . ' ';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
#
#-----[ REPLACE WITH ]------------------------------------------
#
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a> ' . on . ' ';
$last_post .= $last_post_time . ' <a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '"></a>' . by . ' ';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/index_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<th class="thCornerR" nowrap="nowrap"> {L_LASTPOST} </th>
#
#-----[ REPLACE WITH ]------------------------------------------
#
#
#-----[ FIND ]------------------------------------------
#
<td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td>
#
#-----[ REPLACE WITH ]------------------------------------------
#
#
#-----[ FIND ]------------------------------------------
#
</span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
#
#-----[ REPLACE WITH ]------------------------------------------
#
</span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}<br />
</span><span class="bound"><b>Last Post</b> : {catrow.forumrow.LAST_POST}<br /></span></td>
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/subSilver.css
#
#-----[ FIND ]------------------------------------------
#
.quote {
font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #444444; line-height: 125%;
background-color: #FAFAFA; border: #D1D7DC; border-style: solid;
border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
.bound {
font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #000000; line-height: 200%;
background-color: #FFFFFF; border: #D1D7DC; border-style: dashed;
border-left-width: 1px; border-top-width:1 px; border-right-width: 1px; border-bottom-width: 1px
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Codice: Seleziona tutto
##############################################################
## Mod Title: shows topic of last made post on index
## Mod Version: 1.4.1
## Author: e-sven <sven@e-sven.net> http://www.e-sven.net
## Description: -adds lasts post topic to each forum on
## the index page (based on read-access)
## -word censorship is used
## -topic title with more then 27 chars are cut off
## -mouseover info displays the full title
##
## Installation Level: easy
## Installation Time: 2-5 Minutes
## Files To Edit: index.php
## Included Files: index.php (pre-modded)
##############################################################
## History:
## 1.4.1 Updated to phpBB 2.0.22
## ???
## 0.9 not released beta
## 1.0 first working release
## 1.1 optimized db access
## 1.2 made implementation easier
## (only two replaces have to be made)
## 1.2a just a minor bug (thanks to Acid)
## 1.3 empty forums where not displayed correctly
## 1.4 optimized db-query
##############################################################
## Before Adding This MOD To Your Forum,
## You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------------
#
index.php
#
#-----[ ACTION Find ]-----------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
break;
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
}
$forum_data = array();
while( $row = $db->sql_fetchrow($result) )
{
$forum_data[] = $row;
}
$db->sql_freeresult($result);
if ( !($total_forums = count($forum_data)) )
{
message_die(GENERAL_MESSAGE, $lang['No_forums']);
}
#
#-----[ REPLACE WITH ]----------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
" FROM ((( " . FORUMS_TABLE . " f " .
" LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
" LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " .
" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " .
" ORDER BY f.cat_id, f.forum_order";
break;
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
}
$forum_data = array();
$topic_last_ary = array();
$i=0;
while( $row = $db->sql_fetchrow($result) )
{
if (!in_array($row['topic_last_post_id'], $topic_last_ary) || $row['topic_last_post_id']==0) {
$topic_last_ary[i]=$row['topic_last_post_id'];
$i++;
$forum_data[] = $row;
}
}
unset($topic_last_ary);
if ( !($total_forums = count($forum_data)) )
{
message_die(GENERAL_MESSAGE, $lang['No_forums']);
}
//
// Filter topic_title not allowed to read
//
if ( !($userdata['user_level'] == ADMIN && $userdata['session_logged_in']) ) {
$auth_read_all = array();
$auth_read_all=auth(AUTH_READ, AUTH_LIST_ALL, $userdata, $forum_data);
$auth_data = '';
for($i=0; $i<count($forum_data); $i++)
{
if (!$auth_read_all[$forum_data[$i]['forum_id']]['auth_read']) {
$forum_data[$i]['topic_title']='';
}
}
}
//
// Define censored word matches
//
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
#
#-----[ ACTION Find ]-----------------------------------------
#
if ( $forum_data[$j]['forum_last_post_id'] )
{
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = $last_post_time . '<br />';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
}
#
#-----[ ACTION Replace With ]---------------------------------
#
if ( $forum_data[$j]['forum_last_post_id'] )
{
$topic_title = $forum_data[$j]['topic_title'];
$topic_title2 = $forum_data[$j]['topic_title'];
//
// Censor topic title
//
if ( count($orig_word) )
{
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
$topic_title2 = preg_replace($orig_word, $replacement_word, $topic_title2);
}
if (strlen($topic_title)>27) {
$topic_title = substr($topic_title,0,24) . '...';
}
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';
$last_post .= $last_post_time . ' <a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '"></a><br>' . $lang['by'] . ' ';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
}
#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#
grazie