Themen automatisch schließen?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
kaiste
Mitglied
Beiträge: 37
Registriert: 26.09.2007 13:22

Themen automatisch schließen?

Beitrag 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
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
kaiste
Mitglied
Beiträge: 37
Registriert: 26.09.2007 13:22

Beitrag von kaiste »

Genau das. Um 0.00 Uhr ist ausdiskutiert. :D
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Soll dazu auch ein automatisches Posting erscheinen, oder reicht die bloße Sperrung? Zweiteres wäre relativ einfach lösbar.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
kaiste
Mitglied
Beiträge: 37
Registriert: 26.09.2007 13:22

Beitrag 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
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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
Zuletzt geändert von cYbercOsmOnauT am 15.10.2007 00:18, insgesamt 1-mal geändert.
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
kaiste
Mitglied
Beiträge: 37
Registriert: 26.09.2007 13:22

Beitrag von kaiste »

Vielen Dank!
Ich werde das mal ausprobieren und wenn's funktioniert noch 1000x Danke hinterherschicken!

Gruß,
kaiste
kaiste
Mitglied
Beiträge: 37
Registriert: 26.09.2007 13:22

Beitrag 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
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Beitrag von bantu »

Jain. Wenn zwischen 0 und 6 niemand online ist, sind alle noch offen.
Powered by Coffee
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag 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. ;)
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“