1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-06-03 21:15:42 +02:00

Merge branch '3.3.x'

This commit is contained in:
Marc Alexander 2020-02-14 07:31:29 +01:00
commit 6b380063e9
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995
3 changed files with 21 additions and 8 deletions

View File

@ -2375,7 +2375,7 @@ function prune($forum_id, $prune_mode, $prune_date, $prune_flags = 0, $auto_sync
/**
* Function auto_prune(), this function now relies on passed vars
*/
function auto_prune($forum_id, $prune_mode, $prune_flags, $prune_days, $prune_freq)
function auto_prune($forum_id, $prune_mode, $prune_flags, $prune_days, $prune_freq, $log_prune = true)
{
global $db, $user, $phpbb_log;
@ -2395,13 +2395,18 @@ function auto_prune($forum_id, $prune_mode, $prune_flags, $prune_days, $prune_fr
if ($result['topics'] == 0 && $result['posts'] == 0)
{
$column = $prune_mode === 'shadow' ? 'prune_shadow_next' : 'prune_next';
$sql = 'UPDATE ' . FORUMS_TABLE . "
SET prune_next = $next_prune
SET $column = $next_prune
WHERE forum_id = $forum_id";
$db->sql_query($sql);
}
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_AUTO_PRUNE', false, array($row['forum_name']));
if ($log_prune)
{
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_AUTO_PRUNE', false, [$row['forum_name']]);
}
}
return;

View File

@ -60,21 +60,26 @@ class prune_all_forums extends \phpbb\cron\task\base
$result = $this->db->sql_query($sql);
while ($row = $this->db->sql_fetchrow($result))
{
$log_prune = true;
if ($row['enable_prune'] && $row['prune_next'] < time())
{
if ($row['prune_days'])
{
auto_prune($row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq']);
auto_prune($row['forum_id'], 'posted', $row['forum_flags'], $row['prune_days'], $row['prune_freq'], $log_prune);
$log_prune = false;
}
if ($row['prune_viewed'])
{
auto_prune($row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq']);
auto_prune($row['forum_id'], 'viewed', $row['forum_flags'], $row['prune_viewed'], $row['prune_freq'], $log_prune);
$log_prune = false;
}
}
if ($row['enable_shadow_prune'] && $row['prune_shadow_next'] < time() && $row['prune_shadow_days'])
{
auto_prune($row['forum_id'], 'shadow', $row['forum_flags'], $row['prune_shadow_days'], $row['prune_shadow_freq']);
auto_prune($row['forum_id'], 'shadow', $row['forum_flags'], $row['prune_shadow_days'], $row['prune_shadow_freq'], $log_prune);
}
}
$this->db->sql_freeresult($result);

View File

@ -75,14 +75,17 @@ class prune_forum extends \phpbb\cron\task\base implements \phpbb\cron\task\para
include($this->phpbb_root_path . 'includes/functions_admin.' . $this->php_ext);
}
$log_prune = true;
if ($this->forum_data['prune_days'])
{
auto_prune($this->forum_data['forum_id'], 'posted', $this->forum_data['forum_flags'], $this->forum_data['prune_days'], $this->forum_data['prune_freq']);
auto_prune($this->forum_data['forum_id'], 'posted', $this->forum_data['forum_flags'], $this->forum_data['prune_days'], $this->forum_data['prune_freq'], $log_prune);
$log_prune = false;
}
if ($this->forum_data['prune_viewed'])
{
auto_prune($this->forum_data['forum_id'], 'viewed', $this->forum_data['forum_flags'], $this->forum_data['prune_viewed'], $this->forum_data['prune_freq']);
auto_prune($this->forum_data['forum_id'], 'viewed', $this->forum_data['forum_flags'], $this->forum_data['prune_viewed'], $this->forum_data['prune_freq'], $log_prune);
}
}