<?php
function echo_threads()
{
// Daten für Verbindung zur Datenbank / Nicht swbf-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://www.fdg-clan.de/forum";
// UTF-8 Codierungsvariable
// Zum aktivieren auf "on" stellen (nur aktivieren wenn fehlerhafte Codierungen ausgegeben werden).
// Zum deaktivieren auf "off" stellen
// Standart: $uft8_debug_function = "off";
$utf8_debug_function = "off";
// Anzahl der angezeigten Themen
$limit = "8";
// Datums Ausgabe Aktivieren
// "on" zum aktivieren / "off" zum deaktivieren
$datum = "off";
// 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 = "0";
// Username anzeigen
// "on" zum aktivieren / "off" zum deaktivieren
$user = "off";
// Username als Link anzeigen
// "on" zum aktivieren / "off" zum deaktivieren
$userl = "off";
// Datum und/oder User in neuer Zeile anzeigen
// "on" zum aktivieren / "off" zum deaktivieren
$datumuser = "off";
// Ausschließen bestimmter Foren anhand deren ID's
// einfach das Array mit den ID füllen zbs.: array('99', '20', '89')
$fid = array();
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!AB HIER NICHTS MEHR ÄNDERN ES SEI DENN, SIE WISSEN WAS SIE TUN !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
// Initialisierung der Fehlermeldungen
error_reporting(0);
$error1 = '<br /><strong>Fehler:</strong><br />Die Verbindung zum Datenbank Server
ist fehlgeschlagen.<br /><br /><strong>Wie beheben Sie diesen Fehler:
</strong><br />1. Stellen Sie sicher das Sie die MySql Datenbank Verbindung
in den Zeilen 70-72 in der Datei new_thread.php eingetragen haben.<br />
2. Stellen Sie sicher das die eingetragnen Verbindungsdaten korrekt sind.
<br />3. Stellen Sie sicher das der Datenbankserver erreichbar ist.
<br /><br /><strong>Weitere Gründe:</strong><br />1. Auf den meisten
Freehostern ist es nicht gestattet Verbindungen mit externen
Datenbankservern aufzunehmen.<br />2. Der Datenbankserver läuft nicht.';
$error2 = '<br /><strong>Fehler:</strong><br />Auf die Datenbank konnte nicht
zugegriffen werden.<br /><br /><strong>Wie beheben Sie diesen Fehler:
</strong><br />1. Stellen Sie sicher das Sie den Datenbanknamen in Zeile
73 der Datei new_thread.php eingetragen haben.<br />2. Stellen Sie sicher
das der angegebene Datenbankname korrekt ist.<br />3. Stellen Sie sicher
das der Datenbankuser Zugriffsrechte auf die angegeben Datenbank hat.';
$error3 = '<br /><strong>Fehler:</strong><br />Die Tabelle ist nicht erreichbar.<br />
<br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen Sie
sicher das sie Das Datenbankprefix in Zeile 77 in der Datei new_thread.php
richtig eingetragen haben.<br /><br /><strong>Info:</strong><br />1. Das
Datenbankprefix haben Sie bei der Installation Ihres Boards/Forums
angegeben.<br />2. Sollten Sie es nicht geändert haben so lautet es
Standdartmäßig bei MyBBoard "mybb_".';
$error4 = '<br /><strong>Fehler:</strong><br />Die Angabe Ihrer URL ist nicht korrekt.
<br /><br /><strong>Wie beheben sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie Eine URL in Zeile 83 der Datei new_thread.php eingetragen
haben.<br />2. Stellen Sie sicher das Sie am Ende der URL kein "/"
eingetragen haben.<br />3. Wahlweise können Sie diese Option auf
frei lassen um die Adresse automatisch beziehen zu lassen.';
$error5 = '<br /><strong>Fehler:</strong><br />Die Limit Einstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie ein Limit in der Zeile 92 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
nicht "0" beträgt.';
$error6 = '<br /><strong>Fehler:</strong><br />Die Datums Einstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie die Datums Einstellung in der Zeile 96 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
nur "on" oder "off" lautet.';
$error7 = '<br /><strong>Fehler:</strong><br />Die Datumsformat Einstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie die Datumsformat Einstellung in der Zeile 109 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
"9" nicht überschreitet oder einen negativen Wert hat.';
$error8 = '<br /><strong>Fehler:</strong><br />Die Datumszeilen Einstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie die Datumszeilen Einstellung in der Zeile 121 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
nur "on" oder "off" lautet.';
$error9 = '<br /><strong>Fehler:</strong><br />Die Userseinstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie die Userseinstellung in der Zeile 113 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
nur "on" oder "off" lautet.';
$error10 = '<br /><strong>Fehler:</strong><br />Die Userslinkeinstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie die Userslinkeinstellung in der Zeile 117 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
nur "on" oder "off" lautet.';
$error11 = '<br /><strong>Fehler:</strong><br />Die Auszuschließenden ForenID\'s sind
nicht richtig konfiguriert worden.<br /><br /><strong>Wie beheben Sie diesen
Fehler:</strong><br />1. Stellen Sie sicher das Sie das Ausschlussarray
in der Zeile 125 der Datei new_thread.php wie im Beispiel richtig ausgefüllt
haben.<br />2. Stellen Sie sicher das die eingetragenen ForenID\'s auch
existieren.';
$error12 = '<br /><strong>Fehler:</strong><br />Die UTF-8 Codierungseinstellung ist nicht korrekt.
<br /><br /><strong>Wie beheben Sie diesen Fehler:</strong><br />1. Stellen
Sie sicher das Sie die UTF-8 Codierungseinstellung in der Zeile 89 in der Datei new_thread.php
eingetragen haben.<br />2. Stellen Sie sicher das der eingetragene Wert
nur "on" oder "off" lautet.';
$error21 = '<br /><strong>Fehler:</strong><br >Konnte kein charset einstellen!<br /><br />
<strong>Wie beheben Sie diesen Fehler:</strong><br />Stellen Sie sicher dass
die Datenbank in UTF-8 gespeichert ist.<br /> 2. Stellen Sie sicher dass Sie
MYSQL in der Version 5.0.7 oder höher nutzen.';
// Ü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üfen der Datumszeileneinsellung
if ($datumuser != "on" AND $datumuser != "off")
{
return $error8;
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;
}
// Überprüfung der UTF-8 Codierungseinstellung
if ($utf8_debug_function != "on" AND $utf8_debug_function != "off")
{
return $error12;
break;
}
// Verbindung zur Datenbank aufnehmen
if(!$db = mysql_connect($dbhost,$dbuser,$dbpassword)) return($error1);
if(!mysql_set_charset('utf8',$db)) return($error21);
if(!mysql_select_db($dbdatabase,$db)) return($error2);
// 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 = "d.m.y H:i"; 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 == "on")
{
$break = "<br />";
}
// Foren ID's auslassen
if (!empty($fid))
{
$fidout = "AND fid not in(".implode(",",$fid).")";
}
// Liste starten
echo '';
// Letzte Themen auslesen
$query_txt = "SELECT tid, subject, uid, username, dateline, lastpost FROM `".$prefix."threads` WHERE visible=1 ".$fidout." AND `closed` NOT LIKE 'moved|%' ORDER BY lastpost DESC LIMIT 0,".$limit."";
$query = mysql_query ($query_txt);
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 ".utf8_debug($newest_threads['username']);
}
else
{
$users = " von <a href=\"".$url."/".$seoul.$newest_threads['uid'].$html."\">".utf8_debug($newest_threads['username'])."</a>";
}
}
$output = "<img src=\"img/jump.png\" title=\"Zum Beitrag ...\" width=\"15\" height=\"15\"><a href=\"";
$output .= $url."/".$seo.$newest_threads['tid']."&action=lastpost".$html."\">".utf8_debug($newest_threads['subject'])."</a><br />";
$output .= $break;
$output .= $date;
$output .= $users."";
echo $output;
}
// Liste schließen
echo "";
}
function utf8_debug($message)
{
if ($utf8_debug_function == "on")
{
$find = array(
"ö",
"ä",
"ü",
"Ö",
"Ä",
"Ü"
);
$replace = array(
"ö",
"ä",
"ü",
"Ö",
"Ä",
"Ü"
);
$message = str_replace($find, $replace, $message);
}
if (strlen($message) > 28) {
$message = substr($message, 0, 25) . '...';
}
return $message;
}
// Aufrufen der Funktion
echo(echo_threads());
?>