Seite 1 von 2
Themen automatisch schließen?
Verfasst: 10.10.2007 17:07
von kaiste
Hallo!
Gibt es eine Möglichkeit, Themen automatisch zu schließen, z.B. um 0.00 Uhr?
Bin für jeden Tipp dankbar!
Gruß,
kaiste
Verfasst: 10.10.2007 17:32
von cYbercOsmOnauT
Sätmliche neue Themen sollen am nächsten Tag um 00:00Uhr automatisch geschlossen werden, richtig verstanden? Egal ob da noch diskutiert wird, oder nicht.
Leichter gesagt, alle Themen, die nicht von "heute" sind, werden geschlossen.
Verfasst: 10.10.2007 18:11
von kaiste
Genau das. Um 0.00 Uhr ist ausdiskutiert.

Verfasst: 10.10.2007 22:10
von cYbercOsmOnauT
Soll dazu auch ein automatisches Posting erscheinen, oder reicht die bloße Sperrung? Zweiteres wäre relativ einfach lösbar.
Verfasst: 12.10.2007 12:08
von kaiste
Hallo nochmal!
Die Sperrung reicht völlig. Hab mir schon überlegt, dass man vielleicht die Pruning-Funktion entsprechend bearbeiten könnte. Aber dafür reichen meine Kenntnisse nicht aus.
Bis denn...
kaiste
Verfasst: 12.10.2007 13:24
von cYbercOsmOnauT
Die simpelste Methode wäre wohl folgende (
Achtung, ungetestet!):
öffne die
common.php und
über
füge ein
Code: Alles auswählen
$mitternacht = mktime(0, 0, 0,date('m'), date('d'), date('Y'), date('I'));
$sql = "UPDATE " . TOPICS_TABLE . " SET topic_status = 1
WHERE topic_time < $mitternacht
AND topic_status = 0";
if( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, "Could not close old topics", "", __LINE__, __FILE__, $sql);
}
Dies bewirkt, das bei jedem Seitenaufruf des Boards geprüft wird, ob es offene Threads die älter als Mitternacht sind gibt und schliesst diese.
Ist nicht die beste Lösung, da eine einmalige Prüfung pro Tag reichen würde (Stichwort Performance-Optimierung). Aber halt die simpelste.
Achtung: Wenn Du manuell einen alten Thread öffnest, wird dieser beim nächsten Aufruf jeglicher Boardseiten sofort wieder geschlossen!
Grüße,
Tekin
Verfasst: 12.10.2007 18:16
von kaiste
Vielen Dank!
Ich werde das mal ausprobieren und wenn's funktioniert noch 1000x Danke hinterherschicken!
Gruß,
kaiste
Verfasst: 14.10.2007 20:54
von kaiste
hier die versprochenen 1000x Danke!
bis auf ein fehlendes "S" bei "TOPIC(S)_TABLE" funktionierte alles einwandfrei!
Bzgl. Performance: Ich könnte doch eine 2. Variable "6.00 Uhr morgens" definieren und die alten Topics dann nur noch bei Aufrufen zwischen Mitternacht und 6.00 schließen lassen, oder?
Gruß,
kaiste
Verfasst: 14.10.2007 21:30
von bantu
Jain. Wenn zwischen 0 und 6 niemand online ist, sind alle noch offen.
Verfasst: 15.10.2007 00:17
von cYbercOsmOnauT
Du musst Dir das so vorstellen, solange keiner im neuen Tag das Board besucht, sind alle alten Topics noch offen. Juckt aber nicht, weil es ja eh keiner sieht. In dem Moment, in dem einer (egal ob regged oder Gast) das Board betrachten will, greift mein Script.
P.S.: Den Tippfehler hab ich gerade berichtigt. Danke für den Hinweis.
