Externe Beitragsanzeige (phpBB 3.3 getestet)

Hier findet Ihr Modifikationen (MODs) für phpBB3 Olympus (3.0.x)
Forumsregeln
Support für die MODs findet Ihr auf http://www.phpbb.de
Bereich: phpBB 3.0: MOD Support
Benutzeravatar
Foren Mitglied
Site Admin
Site Admin
Beiträge: 1984
Registriert: 05.02.2005 15:41
Wohnort: Xanten
Kontaktdaten:

Formel 1 WebTipp
Formel 1 Punkte : 0
Keine Platzierung
(0 von bisher 22 Rennen getippt)

Externe Beitragsanzeige (phpBB 3.3 getestet)

Beitrag von Foren Mitglied »

Mit diesem Script können Beiträge auf einer anderen Seite ausgegeben werden.


Demo: external.php

Kein Support......

Code: Alles auswählen

<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '60';

// Maximal angezeigte Beiträge
$topic_limit = '30';

// 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 = '27,26,1';

// Relative Pfadangabe zur config.php
$config_path = '/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://www.lpi-clan.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
mysqli_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Definiere Datenbank Link in einer Variablen
$link = mysqli_connect($dbhost, $dbuser, $dbpasswd);

// Verbindung mit der phpBB-Datenbank herstellen
mysqli_select_db($link, $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 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 = mysqli_query($link, $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 = mysqli_fetch_array($result) )
{
	$line[] = $row;
}
//echo "<pre>"; print_r($line);echo "</pre>";die();
// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
	$forum_id = $line[$i]['forum_id']; //Forums-ID
	$topic_id = $line[$i]['topic_id']; //Themen-ID

	$forum_url = $root_path .'viewforum.php?f=' . $forum_id; //Forums-Link
	$topic_url = $root_path .'viewtopic.php?f=' . $forum_id .'&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 ': '';

	$views = $line[$i]['topic_views'];

	$first_time = date('d.m.Y', $line[$i]['topic_time']);
	$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'memberlist.php?mode=viewprofile&amp;u='. $line[$i]['first_poster_id'] .'" style="text-decoration:none" 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'] .'#p'. $line[$i]['topic_last_post_id'] .'" style="text-decoration:none">'. $last_author .'</a>';
	// ############## Eigentliche Ausgabe der Beitraege #############
	
	echo '<ul><li>';
	
	// Beitrags URL
	echo '<a href="'. $topic_url .'" style="text-decoration:none" target="_top">'. utf8_encode($topic_title) .'</a>';
	// Forum, bei Bedarf loesschen
	echo ' in <a href="'. $forum_url .'" target="_top" style="text-decoration:none">'. $line[$i]['forum_name'] .'</a>';
	// User, Bei Bedarf loeschen
	echo ' von ' . $last_url;
	// Datum, Bei Bedarf loeschen
	echo ' ( ' . $last_time . ' )';
	// Erster Poster, bei Bedarf loeschen
	echo ' ( Erster Beitrag von: ' . $first_author . ' )';
	
	echo '</li></ul>';

	// ############## Ende Eigentliche Ausgabe ##############
}
Doc. :schein: