<?php
/*
* Newest Thread Extern
* Copyright © 2009 Broatcast Board, All Rights Reserved
*
* Website: http://www.broatcast.de
* Board: http://www.board.broatcast.de
*
* Date: 25.07.2009
* Version: 4.2
* Author: Broatcast (http://www.board.broatcast.de/user-1.html)
* Kontakt: r.kuntz@broatcast.de
*
* Change Log:
* Version 1.0
* - Erste öffentliche Release
* Version 1.5
* - Readme Datei hinzugefügt
* Version 2.0
* - Installations Anweisungen der Readme hinzugefügt
* - SEO Support hinzugefügt
* Version 2.5
* - Fehlerausgabe bei Fehlkonfiguration hinzugefügt
* - Code optimiert
* Version 3.0
* - Wahlweise Datumsausgabe in mehreren wählbaren Datumsformaten
* - Username kann Wahlweise ausgegeben werden
* Version 3.5
* - Username kann nun wahlweise als Link ausgegeben werden
* - Username und Datum können nun wahlweise in einer neuen Zeile angezeigt werden
* Version 3.7
* - Foren können nun anhand der ForenID von der ausgabe ausgeschlossen werden
* - Code optimierung
* Version 3.8
* - Forum URL kann nun wahlweise angegeben werden oder automatisch bezogen werden
* Version 3.9
* - Fehlerausgaben bei Fehlkonfigurationen erweitert
* - Erklärung und Auskommentierung zur Konfiguration verbessert
* - Bug durch "die()" Befehl durch deklarierung als Funktion behoben
* - Bei Fehlerausgaben funktioniert nun auch wieder der ganze rest der Seite
* - Script wird nun als eine Funktion behandelt
* Version 4.0
* - Rewrite des Scriptes
* - Zusammenfassung überflüssiger Datenbankabfragen
* - Ausgabe reorganisiert
* - Einsparung von Datenbankquerys
* - Readme und Installationsanweisung neu geschrieben
* - Fehlerausgabe verbessert und aktuallisiert
* Version 4.1
* - Code Optimierung
* - Einsparung von überflüssigen Schleifendurchläufen
* - Überprüfung auf Fehlkonfigurationen der ForenID's im Auschlussarray
* - SEO Einstellung optimiert
* - Final Release
* Version 4.2
* - Behebung des Parse Error aus Version 4.1
* - Überprüfung auf Existenz der Ausgeschlossenen ForenID's
* - Berichtigung der falschen Versionsangabe
* - Bug bei lehrem Ausschlussarray für ForenID's behoben
* - Neue Final Release
*/
function echo_threads() {
// Daten für Verbindung zur Datenbank
$dbhost = "xxx";
$dbuser = "xxx";
$dbpassword = "xxx";
$dbdatabase = "xxx";
// Prefix
// Standart: $prefix = "mybb_";
$prefix = "mybb_";
// URL zum Forum
// Zum automatischen beziehen der Adresse keine Adresse eintragen
// Zum manuellen setzen der Forum URL bitte URL eintragen OHNE "/" AM ENDE!
// Zum Beispiel: $url = "http://www.board.broatcast.de";
$url = "http://xxx/xxx";
// Anzahl der angezeigten Themen
$limit = "3";
// Datums Ausgabe Aktivieren
// "on" zum aktivieren / "off" zum deaktivieren
$datum = "on";
// Datums Format
// 0: "23.01.09"
// 1: "23.01.2009"
// 2: "23-01-09"
// 3: "23-01-2009"
// 4: "18:56 23.01.09"
// 5: "18:56 23.01.2009"
// 6: "06:56 PM 23-01-09"
// 7: "06:56 PM 23-01-2009"
// 8: "Friday 23rd of January 2009 06:56:50 PM"
// 9: "Friday the 23rd"
$datumf = "1";
// Username anzeigen
// "on" zum aktivieren / "off" zum deaktivieren
$user = "on";
// Username als Link anzeigen
// "on" zum aktivieren / "off" zum deaktivieren
$userl = "on";
// Datum und/oder User in neuer Zeile anzeigen
// "on" zum aktivieren / "off" zum deaktivieren
$datumuser = "on";
// Ausschließen bestimmter Foren anhand deren ID's
// einfach das Array mit den ID füllen zbs.: array('99', '20', '89')
$fid = array();
// Überprüfung der eigetragenen Domain
if (!empty($url)) {
if ($url == "" OR (preg_match("~/$~", $url))) {
return $error4;
break;
}
}
// Überprüfung des eingestellten Limits
if (!is_numeric($limit) OR $limit <= "0") {
return $error5;
break;
}
// Überprüfung der Datumseinstellung
if ($datum != "on" AND $datum != "off") {
return $error6;
break;
}
// Überprüfen der Datumsformateinstellung
if (!is_numeric($datumf) OR $datumf > "9" OR $datumf < "0") {
return $error7;
break;
}
// Überprüfung der Userseinstellung
if ($user != "on" AND $user != "off") {
return $error9;
break;
}
// Überprüfung der Userlinkseinstellung
if ($userl != "on" AND $userl != "off") {
return $error10;
break;
}
// Beziehen der Foren ID's
if (!empty($fid)) {
$fids = Array();
if(!$querys = mysql_query("SELECT fid FROM ".$prefix."forums")) return($error3);
while($row = mysql_fetch_assoc($querys)) {
$fids[] = $row['fid'];
}
}
// Existenz der ForenID's überprüfen
if (!empty ($fid)) {
foreach($fid as $value) {
if(!in_array($value, $fids)) return($error11);
}
}
// Beziehen der Forum Adresse
if (empty($url)) {
if(!$querys = mysql_query ("SELECT value FROM ".$prefix."settings WHERE name='bburl'")) return($error3);
$row = mysql_fetch_assoc($querys);
$url = $row['value'];
}
// Beziehen der SEO Informationen
if(!$querys = mysql_query ("SELECT value FROM ".$prefix."settings WHERE name='seourls'")) return($error3);
$row = mysql_fetch_assoc($querys);
$seodata = $row['value'];
// Festlegen der URL anhand der SEO Einstellungen
switch($seodata) {
case "yes":
$seo = "thread-";
$seoul = "user-";
$seourl = "1";
break;
case "auto":
$seo = "showthread.php?tid=";
$seoul = "member.php?action=profile&uid=";
break;
case "no":
$seo = "showthread.php?tid=";
$seoul = "member.php?action=profile&uid=";
$seourl = "0";
break;
default:
return "Die SEO Einstellungen konnten nicht bezogen werden.";
$seourl = "0";
break;
}
if ($seourl == "1") {
$html = ".html";
}
// Datums Format beziehen
switch ($datumf) {
case 0: $datef = "d.m.y"; break;
case 1: $datef = "d.m.Y"; break;
case 2: $datef = "d-m-y"; break;
case 3: $datef = "d-m-Y"; break;
case 4: $datef = "H:i d.m.y"; break;
case 5: $datef = "H:i d.m.Y"; break;
case 6: $datef = "h:i A d-m-y"; break;
case 7: $datef = "h:i A d-m-Y"; break;
case 8: $datef = "l dS \of F Y h:i:s A"; break;
case 9: $datef = "l \\t\h\e jS"; break;
}
if ($datumuser == "off") {
$break = "<br />";
}
// Foren ID's auslassen
if (!empty($fid)) {
$fidout = "AND fid not in(".implode(",",$fid).")";
}
// Überschrift
echo "<br />";
// Liste starten
echo "";
/// Letzte Themen auslesen
$query = mysql_query ("SELECT tid, subject, uid, username, dateline FROM ".$prefix."threads WHERE visible='1' AND fid!='21' ORDER BY lastpost DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query))
{
$i++;
if ($datum == "on") {
$date = "(".date($datef,$newest_threads['dateline']).")";
}
if ($user == "on") {
if ($userl == "off") {
$users = " von ".$newest_threads['username'];
} else {
$users = " von ".$newest_threads['username']."</a>";
}
}
$output = "<div align=left class=grey><li><a href=\"";
$output .= $url."/".$seo.$newest_threads['tid'].$html."\" target=\"_blank\"><font color=2e3b5e>".$newest_threads['subject']."</font> ... <img src=gfx/pfeil_mehr.gif border=0></a>";
$output .= $users."<br></li><br></div>";
echo $output;
}
// Liste schließen
echo "";
}
// Aufrufen der Funktion
echo(echo_threads());
?>