03.10.2015, 04:52
Huhu, ich versuche seit einiger Zeit auf http://sw-battlefront.de/fdg_v2/ die letzten Foreneinträge mit dem Datum und Uhrzeit vom letzten Beitrag zu versehen.
Ich nutze hierzu folgendes Script:
Ich möchte nicht das Datum der Themenerstellung auslesen, sondern das Datum des letzten Beitrags inklusive Uhrzeit. Wie lässt sich das bewerkstelligen? Danke schonmal für die Hilfe.
Ich nutze hierzu folgendes Script:
PHP-Code:
<?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());
?>
Ich möchte nicht das Datum der Themenerstellung auslesen, sondern das Datum des letzten Beitrags inklusive Uhrzeit. Wie lässt sich das bewerkstelligen? Danke schonmal für die Hilfe.