Threads nach Zeit geschlossen

Begonnen von Liu-Kang, 18 April 2003, 16:24:07

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Liu-Kang

Hallöchen zusammen!
Mal ´ne Frage und zwar:
Ist es möglich, oder gibt es diese möglichkeit beim eBoard schon, daß Threads, die soundsoviel Tage alt sind, automatisch geschlossen werden, beziehungsweise es nicht mehr möglich ist, neue Postst darin zu verfassen.
Ich habe da zwar etwas gefunden unter Control panel -> Aufräumen aber das löscht diese Threads ja gleich, was ich allerdings nicht demit beabsichtigen will.
Weiß von Euch vielleicht jemand Rat?
Viele Grüße

Sascha1981

Das würd mich auch mal interessieren ob das ganze irgendwie machbar ist!!

Liu-Kang

Hmm... scheint ja keine große Nachfrage darin zu bestehen...
Hallo?
Wäre nett wenn sich jemand einmal damit befassen würde :).
Es eilt zwar nicht, wäre aber schön wenn mal hjemand eine Antwort geben würde :).
Viele Grüße

tequila

Sorry, hab im moment so viel zu tun und leider immer nur noch 24h :(

Also, Ihr müßt Euch irgendwo folgendes (in der Art) mit einbauen:



$closetime = time() - 1209600; # 14-Tage in Sekunden

$query = $dbxf->sql_query("SELECT IF(LENGTH(LEFT(lastpost, INSTR(lastpost, '|')-1))<10, CONCAT('0',lastpost), lastpost) as  shortlastpost, tid FROM $table_threads WHERE shortlastpost < '$closetime'") ;

while($oldthread = $dbxf->sql_fetch_object($query)){
 $dbxf->sql_query("UPDATE $table_threads SET closed='yes' WHERE tid='$oldthread->tid'");
}



So, das könnt Ihr theoretisch in den "Foum-Aufräumen"-Teil mit einbauen oder in den Forum-Reset-Teil, beides zu finden in der cp3.php.
Diese Anweisung sollte alle Threads schließen, auf die seit mehr als zwei Wochen NICHT MEHR GEANTWORTET wurde. Wenn Ihr es nach dem Alter des Threads an sich machen möchtet, dann müßt Ihr über die dateline und nicht den lastpost gehen. Bei der Dateline könnt Ihr Euch aber den ganzen Cut-Mist sparen, da da wirklich nur die Zeit drinnen steht, sähe dann also irgendwie so aus:


$query = $dbxf->sql_query("SELECT tid FROM $table_threads WHERE dateline < '$closetime'") ;



Viel Spaß beim basteln