diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2007-05-11 12:25:28 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2007-05-11 12:25:28 +0000 |
commit | 9e270489eb1dfbb59f176dd2abdb10f94055265a (patch) | |
tree | eb39a1017598e6eaa239ad5a391559e78045ddf3 /phpBB/includes/acp/acp_prune.php | |
parent | ecaeeff5dffb94be405f5d1517bd5e561b4ac458 (diff) | |
download | forums-9e270489eb1dfbb59f176dd2abdb10f94055265a.tar forums-9e270489eb1dfbb59f176dd2abdb10f94055265a.tar.gz forums-9e270489eb1dfbb59f176dd2abdb10f94055265a.tar.bz2 forums-9e270489eb1dfbb59f176dd2abdb10f94055265a.tar.xz forums-9e270489eb1dfbb59f176dd2abdb10f94055265a.zip |
We do not support nesting code tags - #10763
#10741
Confirm box on pruning forums - #10619
Not stripping empty lines on parsing messages - #10579
Remove reports alongside with users - #10501
git-svn-id: file:///svn/phpbb/trunk@7527 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/acp/acp_prune.php')
-rw-r--r-- | phpBB/includes/acp/acp_prune.php | 151 |
1 files changed, 85 insertions, 66 deletions
diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php index 97d452a400..e4defd9d42 100644 --- a/phpBB/includes/acp/acp_prune.php +++ b/phpBB/includes/acp/acp_prune.php @@ -67,87 +67,106 @@ class acp_prune if ($submit) { - $prune_posted = request_var('prune_days', 0); - $prune_viewed = request_var('prune_vieweddays', 0); - $prune_all = (!$prune_posted && !$prune_viewed) ? true : false; - - $prune_flags = 0; - $prune_flags += (request_var('prune_old_polls', 0)) ? 2 : 0; - $prune_flags += (request_var('prune_announce', 0)) ? 4 : 0; - $prune_flags += (request_var('prune_sticky', 0)) ? 8 : 0; - - // Convert days to seconds for timestamp functions... - $prunedate_posted = time() - ($prune_posted * 86400); - $prunedate_viewed = time() - ($prune_viewed * 86400); + if (confirm_box(true)) + { + $prune_posted = request_var('prune_days', 0); + $prune_viewed = request_var('prune_vieweddays', 0); + $prune_all = (!$prune_posted && !$prune_viewed) ? true : false; + + $prune_flags = 0; + $prune_flags += (request_var('prune_old_polls', 0)) ? 2 : 0; + $prune_flags += (request_var('prune_announce', 0)) ? 4 : 0; + $prune_flags += (request_var('prune_sticky', 0)) ? 8 : 0; - $template->assign_vars(array( - 'S_PRUNED' => true) - ); + // Convert days to seconds for timestamp functions... + $prunedate_posted = time() - ($prune_posted * 86400); + $prunedate_viewed = time() - ($prune_viewed * 86400); - $sql_forum = (sizeof($forum_id)) ? ' AND ' . $db->sql_in_set('forum_id', $forum_id) : ''; + $template->assign_vars(array( + 'S_PRUNED' => true) + ); - // Get a list of forum's or the data for the forum that we are pruning. - $sql = 'SELECT forum_id, forum_name - FROM ' . FORUMS_TABLE . ' - WHERE forum_type = ' . FORUM_POST . " - $sql_forum - ORDER BY left_id ASC"; - $result = $db->sql_query($sql); + $sql_forum = (sizeof($forum_id)) ? ' AND ' . $db->sql_in_set('forum_id', $forum_id) : ''; - if ($row = $db->sql_fetchrow($result)) - { - $prune_ids = array(); - $p_result['topics'] = 0; - $p_result['posts'] = 0; - $log_data = ''; - - do + // Get a list of forum's or the data for the forum that we are pruning. + $sql = 'SELECT forum_id, forum_name + FROM ' . FORUMS_TABLE . ' + WHERE forum_type = ' . FORUM_POST . " + $sql_forum + ORDER BY left_id ASC"; + $result = $db->sql_query($sql); + + if ($row = $db->sql_fetchrow($result)) { - if (!$auth->acl_get('f_list', $row['forum_id'])) + $prune_ids = array(); + $p_result['topics'] = 0; + $p_result['posts'] = 0; + $log_data = ''; + + do { - continue; - } + if (!$auth->acl_get('f_list', $row['forum_id'])) + { + continue; + } - if ($prune_all) - { - $p_result = prune($row['forum_id'], 'posted', time(), $prune_flags, false); - } - else - { - if ($prune_posted) + if ($prune_all) { - $return = prune($row['forum_id'], 'posted', $prunedate_posted, $prune_flags, false); - $p_result['topics'] += $return['topics']; - $p_result['posts'] += $return['posts']; + $p_result = prune($row['forum_id'], 'posted', time(), $prune_flags, false); } - - if ($prune_viewed) + else { - $return = prune($row['forum_id'], 'viewed', $prunedate_viewed, $prune_flags, false); - $p_result['topics'] += $return['topics']; - $p_result['posts'] += $return['posts']; + if ($prune_posted) + { + $return = prune($row['forum_id'], 'posted', $prunedate_posted, $prune_flags, false); + $p_result['topics'] += $return['topics']; + $p_result['posts'] += $return['posts']; + } + + if ($prune_viewed) + { + $return = prune($row['forum_id'], 'viewed', $prunedate_viewed, $prune_flags, false); + $p_result['topics'] += $return['topics']; + $p_result['posts'] += $return['posts']; + } } - } - $prune_ids[] = $row['forum_id']; + $prune_ids[] = $row['forum_id']; - $template->assign_block_vars('pruned', array( - 'FORUM_NAME' => $row['forum_name'], - 'NUM_TOPICS' => $p_result['topics'], - 'NUM_POSTS' => $p_result['posts']) - ); - - $log_data .= (($log_data != '') ? ', ' : '') . $row['forum_name']; + $template->assign_block_vars('pruned', array( + 'FORUM_NAME' => $row['forum_name'], + 'NUM_TOPICS' => $p_result['topics'], + 'NUM_POSTS' => $p_result['posts']) + ); + + $log_data .= (($log_data != '') ? ', ' : '') . $row['forum_name']; + } + while ($row = $db->sql_fetchrow($result)); + + // Sync all pruned forums at once + sync('forum', 'forum_id', $prune_ids, true, true); + add_log('admin', 'LOG_PRUNE', $log_data); } - while ($row = $db->sql_fetchrow($result)); - - // Sync all pruned forums at once - sync('forum', 'forum_id', $prune_ids, true, true); - add_log('admin', 'LOG_PRUNE', $log_data); - } - $db->sql_freeresult($result); + $db->sql_freeresult($result); - return; + return; + } + else + { + confirm_box(false, $user->lang['PRUNE_FORUM_CONFIRM'], build_hidden_fields(array( + 'i' => $id, + 'mode' => $mode, + 'submit' => 1, + 'all_forums' => $all_forums, + 'f' => $forum_id, + + 'prune_days' => request_var('prune_days', 0), + 'prune_vieweddays' => request_var('prune_vieweddays', 0), + 'prune_old_polls' => request_var('prune_old_polls', 0), + 'prune_announce' => request_var('prune_announce', 0), + 'prune_sticky' => request_var('prune_sticky', 0), + ))); + } } // If they haven't selected a forum for pruning yet then |