Re: Einfache Anzeige der letzten Themen in Div-Box
Verfasst: 26.12.2009 00:45
achso. dann hat sich das thema hier erledigt. ich dachte das ist sowas wie auf deinem test board. Na hoffentlich ist der Mod bald öffentlich
.

phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
Code: Alles auswählen
<?php
// ############ Anfang Festlegung der Vorgaben ########################################
// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '20';
// Maximal angezeigte Beiträge
$topic_limit = '5';
// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '0';
// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '3,4,5,20,21,22,7,9,8,10,11,12,13,14,15,16,17,18,19,23';
// Trennzeichen für spaetere Pfadkonstruktion (config.php)
$config_path = '/';
// Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://gewi-forum.at/';
// ############ Ende Vorgaben #######################################
//Ermittlung des aktuellen Server-Verzeichnisses
$path = dirname(__FILE__);
// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');
// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');
// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');
// ############## Ausgabe der Tabelle (Teil1)##############
// "$topic_limit" kann aus dieser Tabelle geloescht werden, da nur fuer Ausgabe Anzahl Beitraege zustaendig
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><head><style type="text/css">
body { background-color:#12A3EB; color:#FFFFFF; font-family: "Trebuchet MS"; font-size: 11px; text-decoration: none; }
a:link { color: #ffffff; }
a:visited { color: #ffffff; }
a:hover { color: #89EBF8; }
a:active { color: #ffffff; }
.menu-hr {
border: 0 none #FFFFFF;
border-top: 1px solid #FFFFFF;
margin: 5px 20px 5px 0px;
display: block;
clear: both;
}
</style> </head><body>';
// ############## Ende der Tabellenausgabe (Teil1) ##############
//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
//Definition der SQL-Abfrage
$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";
//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);
// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )
{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}
//Definition Array für Aufnahme der Abfragedaten
$line = array();
// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )
{
$line[] = $row;
}
// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';
// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';
$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>';
// ############## Eigentliche Ausgabe der Beitraege (Tabelle Teil 2)##############
echo '
<a href="'. $topic_url .'" target="_top">'. $topic_title .'</a><br />
geschrieben von '. $last_author .'<br />
in <a href="'. $forum_url .'" target="_top">'. $line[$i]['forum_name'] .'</a><br /> am '. $last_time .'
<div class="menu-hr"></div>
';
// ############## Ende Eigentliche Ausgabe (Tabelle Teil 2) ##############
}
echo '</table>'; //Ende der Tabelle
mysql_close(); // Beendigung der Datenbankverbindung
?>
Code: Alles auswählen
echo '
<a href="'. $topic_url .'" target="_top">'. $topic_title .'</a><br />
geschrieben von '. $last_author .'<br />
in <a href="'. $forum_url .'" target="_top">'. $line[$i]['forum_name'] .'</a><br /> am '. $last_time .'
<div class="menu-hr"></div>
';
Code: Alles auswählen
echo '
<a href="'. $topic_url .'" target="_top">'. iconv("ISO-8859-1", "UTF-8", $topic_title) .'</a><br />
geschrieben von '. iconv("ISO-8859-1", "UTF-8", $last_author) .'<br />
in <a href="'. $forum_url .'" target="_top">'. iconv("ISO-8859-1", "UTF-8", $line[$i]['forum_name']) .'</a><br /> am '. $last_time .'
<div class="menu-hr"></div>
';
Code: Alles auswählen
<link href="styles/prosilver/theme/vorschau.css" rel="stylesheet" type="text/css" />
<?php
// ############ Anfang Festlegung der Vorgaben ########################################
// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '50';
// Maximal angezeigte Beiträge
$topic_limit = '5';
// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';
// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '1,26,33,39,52';
// Relative Pfadangabe zur config.php
$config_path = '/';
// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://forum.fishtownsozis.de/';
// ############ Ende Vorgaben #######################################
//Ermittlung des aktuellen Server-Verzeichnisses für Einbindung config.php
$path = dirname(__FILE__);
// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');
// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');
// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');
//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
//Definition der SQL-Abfrage
$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";
//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);
// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )
{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}
//Definition Array für Aufnahme der Abfragedaten
$line = array();
// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )
{
$line[] = $row;
}
// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';
// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';
$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>';
// ############## Eigentliche Ausgabe der Beitraege #############
echo '<div>';
// Forumsname und Link, bei Bedarf loeschen
echo '<p><a href="'. $forum_url .'" target="_blank">'. $line[$i]['forum_name'] .'</a><br />';
// Thema und Link, Bei Bedarf loeschen
echo '<a href="'. $topic_url .'" target="_blank">'. $topic_title .'<br />';
// User, Bei Bedarf loeschen
echo $last_url.'<br />';
// Datum, Bei Bedarf loeschen
echo $last_time.'<br /></font></a></p></div>';
// ############## Ende Eigentliche Ausgabe ##############
}
mysql_close(); // Beendigung der Datenbankverbindung
?>