From 9b751a330dc1f6dc07f8728feaee31454ebac6d7 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen <acydburn@phpbb.com> Date: Sat, 17 Nov 2007 12:14:27 +0000 Subject: [PATCH] - Re-populate arrays on cache purge/save to allow re-using some functions without warnings - fix the annoying "last page empty" bug on inactive users page. git-svn-id: file:///svn/phpbb/trunk@8239 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/acm/acm_file.php | 10 ++++++++++ phpBB/includes/acp/acp_inactive.php | 1 + phpBB/includes/functions_admin.php | 23 ++++++++++++++--------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/phpBB/includes/acm/acm_file.php b/phpBB/includes/acm/acm_file.php index 2b9eca6c88..775e8d4495 100644 --- a/phpBB/includes/acm/acm_file.php +++ b/phpBB/includes/acm/acm_file.php @@ -67,6 +67,11 @@ class acm unset($this->var_expires); unset($this->sql_rowset); unset($this->sql_row_pointer); + + $this->vars = array(); + $this->var_expires = array(); + $this->sql_rowset = array(); + $this->sql_row_pointer = array(); } /** @@ -232,6 +237,11 @@ class acm unset($this->sql_rowset); unset($this->sql_row_pointer); + $this->vars = array(); + $this->var_expires = array(); + $this->sql_rowset = array(); + $this->sql_row_pointer = array(); + $this->is_modified = false; } diff --git a/phpBB/includes/acp/acp_inactive.php b/phpBB/includes/acp/acp_inactive.php index 9791d525de..b483d102df 100755 --- a/phpBB/includes/acp/acp_inactive.php +++ b/phpBB/includes/acp/acp_inactive.php @@ -143,6 +143,7 @@ class acp_inactive 'action' => $action, 'mark' => $mark, 'submit' => 1, + 'start' => ($start - sizeof($user_affected) < 0) ? 0 : $start - sizeof($user_affected), ); confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields($s_hidden_fields)); } diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index e1078822a8..268eccbca4 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2674,6 +2674,19 @@ function view_inactive_users(&$users, &$user_count, $limit = 0, $offset = 0, $li { global $db, $user; + $sql = 'SELECT COUNT(user_id) AS user_count + FROM ' . USERS_TABLE . ' + WHERE user_type = ' . USER_INACTIVE . + (($limit_days) ? " AND user_inactive_time >= $limit_days" : ''); + $result = $db->sql_query($sql); + $user_count = (int) $db->sql_fetchfield('user_count'); + $db->sql_freeresult($result); + + if ($offset >= $user_count) + { + $offset = ($offset - $limit < 0) ? 0 : $offset - $limit; + } + $sql = 'SELECT user_id, username, user_regdate, user_lastvisit, user_inactive_time, user_inactive_reason FROM ' . USERS_TABLE . ' WHERE user_type = ' . USER_INACTIVE . @@ -2705,16 +2718,8 @@ function view_inactive_users(&$users, &$user_count, $limit = 0, $offset = 0, $li $users[] = $row; } - - $sql = 'SELECT COUNT(user_id) AS user_count - FROM ' . USERS_TABLE . ' - WHERE user_type = ' . USER_INACTIVE . - (($limit_days) ? " AND user_inactive_time >= $limit_days" : ''); - $result = $db->sql_query($sql); - $user_count = (int) $db->sql_fetchfield('user_count'); - $db->sql_freeresult($result); - return; + return $offset; } /**