Hi
erstmal SORRY ... falscher Mod - hatte die Daten net @home ... jetzt bin ich woanders - hier liegt der Mod noch:
Latest Post heißt der!
latest.php:
Code: Alles auswählen
<?php
/**********************************************************************************
########################################################
## Mod Title: Latest Post
## Mod Version: 0.1
## Author: Matt Slovig < matthias@slovig.de >
## Credits: Philip Mayer for the original phpBB 1.4x-Script I used
########################################################
**********************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = "./";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_latest.' . $phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX, $board_config['session_length']);
init_userprefs($userdata);
//
// End session management
//
$page_title = $lang['latest_posts'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
if (!isset($selorder)) $selorder = "las24";
if (!isset($nodays)) $nodays = 3;
$template->assign_vars(array(
"L_MATCHES" => $lang['matches'],
"L_TOPIC" => $lang['Topic'],
"L_FORUM" => $lang['Forum'],
"L_AUTHOR" => $lang['Author'],
"L_POSTED" => $lang['Posted'],
"FORM_ACTION" => $PHP_SELF,
"L_LAS24_MSG" => $lang['last_24h'],
"L_TODAY_MSG" => $lang['today'],
"L_YESTR_MSG" => $lang['yesterday'],
"L_LWEEK_MSG" => $lang['last_week'],
"L_LADAY_MSG" => $lang['last_xdays'],
"L_SHOW" => $lang['show_posts'],
"L_SHOWING" => $lang['showing_posts'],
"L_DAYS" => $lang['day_posts'],
"L_LAST" => $lang['last_posts'],
"NODAYS" => $nodays,
"PAGE_NAME" => $lang['latest_posts'],
)
);
$template->set_filenames(array(
"body" => "latest.tpl")
);
// SQLs:
$part1 = "
SELECT from_unixtime(p.post_time, '%d.%m.%y %H:%i:%s') as topic_time,
f.forum_name as forum_name,
f.forum_id as forum_id,
u.username as username,
p.poster_id as poster_id,
p.post_id as post_id,
t.topic_id as topic_id,
t.topic_title as topic_title
FROM ".TOPICS_TABLE." t,
".POSTS_TABLE." p
LEFT OUTER JOIN ".FORUMS_TABLE." f on p.forum_id = f.forum_id
LEFT OUTER JOIN ".USERS_TABLE." u on p.poster_id = u.user_id
WHERE p.post_id = t.topic_last_post_id and f.auth_view = 0 and ";
$part2 = " ORDER BY p.post_time desc";
$showdays = 86400 * $nodays;
$lastweeksql = $part1."UNIX_TIMESTAMP(NOW()) - p.post_time < 691200".$part2;
$yesterdaysql = $part1."FROM_UNIXTIME(p.post_time,'%Y%m%d') - FROM_UNIXTIME(unix_timestamp(NOW()),'%Y%m%d') = -1".$part2;
$todaysql = $part1."FROM_UNIXTIME(p.post_time,'%Y%m%d') - FROM_UNIXTIME(unix_timestamp(NOW()),'%Y%m%d') = 0".$part2;
$last24hsql = $part1."UNIX_TIMESTAMP(NOW()) - p.post_time < 86400".$part2;
$lastXdsql = $part1."UNIX_TIMESTAMP(NOW()) - p.post_time < $showdays".$part2;
switch ($selorder) {
case "las24" : $sql = $last24hsql; $template->assign_vars(array("MSG" => $lang['last_24h'])); break;
case "today" : $sql = $todaysql; $template->assign_vars(array("MSG" => $lang['today'])); break;
case "yestr" : $sql = $yesterdaysql; $template->assign_vars(array("MSG" => $lang['yesterday'])); break;
case "lweek" : $sql = $lastweeksql; $template->assign_vars(array("MSG" => $lang['last_week'])); break;
case "laday" : $sql = $lastXdsql; $template->assign_vars(array("MSG" => $lang['last_xdays1'].$nodays.$lang['last_xdays2'])); break;
}
$style = 0;
$result = $db->sql_query($sql)
or message_die(GENERAL_ERROR, "Couldn't retrieve data", "", __LINE__, __FILE__, $sql);
while( $row = $db->sql_fetchrow($result) ) {
$style++;
(!($style% 2) ) ? $class = 'row2' : $class= 'row1';
$template->assign_block_vars("posts", array(
"TOPIC_TITLE" => $row["topic_title"],
"TOPIC_TIME" => $row["topic_time"],
"TOPIC_URL" => "viewtopic.".$phpEx."?p=".$row["post_id"]."#".$row["post_id"],
"FORUM_NAME" => $row["forum_name"],
"FORUM_URL" => "viewforum.".$phpEx."?f=".$row["forum_id"],
"USERNAME" => $row["username"],
"USER_URL" => "profile.".$phpEx."?mode=viewprofile&u=".$row["poster_id"],
"POST_ID" => $row["post_id"],
"FORUM_ID" => $row["forum_id"],
"CLASS" => $class,
)
);
}
// all data ready, displaying...
$template->pparse("body");
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
latest.tpl
Code: Alles auswählen
<form name="form1" method="get" action="{FORM_ACTION}">
<table align="center" width="100%">
<tr>
<td class="genmed" style="text-align: center">
<p><br>{L_SHOWING} <strong>{MSG}</strong></p>
{L_SHOW}
[ <a href="{FORM_ACTION}?selorder=lweek">
{L_LWEEK_MSG}
</a> ] [ <a href="{FORM_ACTION}?selorder=yestr">
{L_YESTR_MSG}
</a> ] [ <a href="{FORM_ACTION}?selorder=las24">
{L_LAS24_MSG}
</a> ] [ <a href="{FORM_ACTION}?selorder=today">
{L_TODAY_MSG}
</a> ] [
{L_LAST}
<input type="text" name="nodays" size="2" value="{NODAYS}" maxlength="3">
<input type="hidden" name="selorder" value="laday">
<a href="javascript:document.form1.submit();">
{L_DAYS}
</a> ] <br>
</td>
</tr>
</table>
</form>
<table class="forumline" align="center" width="100%">
<tr>
<td class="catHead" align="center" colspan="4"><span class="cattitle">{L_MATCHES}</td>
</tr>
<tr>
<td class="row2" align="center" width="20%"><span class="cattitle"><strong>{L_TOPIC}</span></strong></td>
<td class="row2" align="center" width="20%"><span class="cattitle"><strong>{L_FORUM}</span></strong></td>
<td class="row2" align="center" width="20%"><span class="cattitle"><strong>{L_AUTHOR}</span></strong></td>
<td class="row2" align="center" width="20%"><span class="cattitle"><strong>{L_POSTED}</span></strong></td>
</tr>
<!-- BEGIN posts -->
<TR BGCOLOR="<? echo $color2; ?>">
<TD class="{posts.CLASS}" ALIGN="CENTER" WIDTH="50%"><span class="genmed"><a href="{posts.TOPIC_URL}">{posts.TOPIC_TITLE}</a></span></TD>
<TD class="{posts.CLASS}" ALIGN="CENTER" WIDTH="15%"><span class="genmed"><a href="{posts.FORUM_URL}">{posts.FORUM_NAME}</a></span></TD>
<TD class="{posts.CLASS}" ALIGN="CENTER" WIDTH="15%"><span class="genmed"><a href="{posts.USER_URL}">{posts.USERNAME}</a></span></TD>
<TD class="{posts.CLASS}" ALIGN="CENTER" WIDTH="20%"><span class="genmed">{posts.TOPIC_TIME}</span></TD>
</TR>
<!-- END posts -->
</table>
Mehr ist das net - also weniger nen Hack, eher nen Addon.
Wenn ich so rüber gucke, seh ich net wo spezifiziert wird was angezeigt werden darf. Der muß auf irgendwas von phpbb zugreifen. Beiträge im Mod/Admin-Only bereich werden auch Mods/Admins nicht angezeigt.
Die Adresse des Boards steht in der Sig. Euroforum is memberonly und wird angezeigt, Tauschforum ist memberonly und wird nicht angezeigt.
Bis dann
Wuppi