unbeantwortete Threads löschen?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Ghammerle hat geschrieben:Ich will aber nicht die unbeantworteten löschen, sondern diejenigen, die der Benutzer geschlossen hat .
Da habe ich mich wohl von der Themenüberschrift irritieren lassen :-P
Ghammerle hat geschrieben:Darüber hinaus, muss ich ja auch die entsprechenden Einträge inder phpbb_posts mit der entsprechenden id löschen, oder???
Natürlich... oops :oops:

Das liefert Dir alle topic_id & post_id, der gesperrten Topics ->

Code: Alles auswählen

SELECT p.post_id, p.topic_id 
FROM phpbb_posts p 
LEFT JOIN phpbb_topics pt ON pt.topic_id = p.topic_id
WHERE pt.topic_status = 1;
Vorgabe: Dein Tabellenpräfix ist phpbb_.

Speichere die zurückgegebenen Werte und benutze sie in einer weiteren Query um den Rest der Löschung durchzuführen.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ghammerle
Mitglied
Beiträge: 15
Registriert: 24.11.2008 21:57

Beitrag von Ghammerle »

1000 Dank Miriam, ich werd das mal versuchen.

Erlaube mir noch eine kurze Frage: Wie baue ich das am besten ein, sodass die Abfrage und löschung automatisch stattfindet und nicht stets vom User getriggert weren muss? Per include?

Nochmal ein herzliches Dankeschön, Du hast mir sehr geholfen!!!
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Na mach es doch gleich im Zuge der Schliessung des Themas.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Ghammerle
Mitglied
Beiträge: 15
Registriert: 24.11.2008 21:57

Beitrag von Ghammerle »

Miriam hat geschrieben:Na mach es doch gleich im Zuge der Schliessung des Themas.
Das ist eine geniale Idee:
ich habe jetzt versucht in der mcp_main
nach Zeile 252 folgendes einzufügen:

if ($table == TOPICS_TABLE) {
if ($action == 'lock') {
mcp_delete_topic($ids);
}
}

Leider funktioniert die Löschung bei schließen bzw. sperren des Themas nur für Administratoren bzw. Moderatoren.

Wie könnte ich diese Prüfung ausschalten, sodass die Sperrfunktion auf die löschfunktion umgemuntzt wird?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Naja, der User darf max. die eigenen Threads sperren. Löschen ist nicht mit dabei.

Neue Idee:
Probier' es doch über die Pruning Funktion des Boards für die Foren. Musst nur noch dazuschreiben (-programmieren), dass die Themen nicht nur nicht weiter beantwortet wurden, sondern auch noch gesperrt sein müssen, damit sie vom Board gelöscht werden dürfen..
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
sepp71
Mitglied
Beiträge: 919
Registriert: 23.12.2006 00:03

Re: unbeantwortete Threads löschen?

Beitrag von sepp71 »

Falls sich noch jemand für die Ursprungsfrage (nur unbeantwortete Threads automatisch löschen) interessiert: AmigoJack hat mir bei phpbb.com freundlicherweise einen Lösungsvorschlag gemacht.
Sepp
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“