Seite 1 von 1

[3.2] automatisches Löschen

Verfasst: 07.09.2018 07:48
von frauke.moeller
Ich suche eine Möglichkeit, die automatisch entsprechend der Foreneinstellungen die Themen und Beiträge löscht - die unabhängig vom Betreten eines Users agiert.
Ich habe viele RSS Feed-Foren, mit einer Behaltezeit von 7 Tagen.
Bis jetzt mache ich es so, dass ich in der Früh alle diese Foren betrete, die Seiten aktualisiere und anschließen die Statistiken resynchronisiere.
Diese Arbeit möchte ich mir ersparen und hoffe, dass es einen einfachere Lösung gibt

Re: [3.2] automatisches Löschen

Verfasst: 07.09.2018 08:31
von Mahony
Hallo
Schau mal bei den Foreneinstellungen unter Einstellungen zum automatischen Löschen nach.
ACP-Foren-Foren verwalten-Forum auswählen und auf das grüne Zahnrad klicken

Grüße: Mahony

Re: [3.2] automatisches Löschen

Verfasst: 07.09.2018 13:43
von frauke.moeller
Da habe ich auf 7 Tage eingestellt - nur passiert nichts, wenn nicht in das Forum hineingegangen wird.
Außerdem wird die Anzahl der Beiträge nicht aktualisiert - da muss ich auf "Statistiken resynchronisieren" gehen.
Meine Einstellungen
[ externes Bild ]

Re: [3.2] automatisches Löschen

Verfasst: 07.09.2018 15:05
von Mahony
Hallo
Schau mal hier https://www.phpbb.com/community/viewtop ... &t=2169397
Das ist zwar für phpBB3.0.x aber das Script könnte evtl. noch funktioniere.

Der Zeitraum zum löschen (7 Tage), müsste (sofern das Script noch funktioniert) noch angepasst werden.

Also anstatt

Code: Alles auswählen

<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);

$iDeleted= delete_posts( 'range', 'post_time< '. ( time()- 60* 60* 24* 90 ). ' AND poster_id= 2880 AND forum_id= 20' );
// $iDeleted holds the amount of affected posts   
Das hier verwenden

Code: Alles auswählen

<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);

$iDeleted= delete_posts( 'range', 'post_time< '. ( time()- 60* 60* 24* 7 ). ' AND poster_id= 2880 AND forum_id= 20' );
// $iDeleted holds the amount of affected posts

Ebenso, sollte natürlich die forum_id und die poster_id entsprechend angepasst werden.

Das Script (die php-Datei) solltest du dann per Cronjob aufrufen.

Grüße: Mahony