Hallo,
ich musst das Newest Thread
Extern 4.2 ein wenig ändern um es bei mir zum laufen zu bringen:
jetzt ist es so, dass die
letzten Threads nach
Beiträgen sortiert sind. Allerdings wird mir immer der User angezeigt der Thread eröfffnet hat udn nicht der, der den
letzten Beitrag geschrieben hat. Was muss ich da ändern?
Außerdem hätte ich gerne gewusst, wie ich jetzt auch noch die ersten 20 oder 30 Zeichen des Beitrags angezeigt bekomme.
PHP-Code:
<?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());
?>
Danke im voraus. Ach ja, die anderen Scripte hier habe ich bei mir nicht zum laufen bekommen.
So, dass mit dem richtigen User anzeigen habe ich selbst hinbekommen indem ich bei "letzte Themen auslesen"
"Username" durch "lastposter" ersetzt habe.....
jetzt fehlt eigentlich nur noch, dass man die Überschrift kürzen kann und auch die ersten 20 Zeichen des Textes angezeigt bekommt......
Help, please.....
Aussehen soll das ganze übrigens mal so
Ach ja, wie ich gerade festellen muss wird das Datum der Threaderöffnung angezeigt, solte aber das des
letzten Beitrags sein.....