From 3ccd55c0898f5340f792fcfc68b56bbdfb46e837 Mon Sep 17 00:00:00 2001 From: "Paul S. Owen" Date: Thu, 6 Nov 2003 12:25:21 +0000 Subject: [PATCH] Fix deletion of all log entries when deleting those of just one, fix js issue with mark all git-svn-id: file:///svn/phpbb/trunk@4650 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/adm/admin_viewlogs.php | 86 +++++++++++++++++------------------- 1 file changed, 41 insertions(+), 45 deletions(-) diff --git a/phpBB/adm/admin_viewlogs.php b/phpBB/adm/admin_viewlogs.php index a441026860..e42bee398a 100644 --- a/phpBB/adm/admin_viewlogs.php +++ b/phpBB/adm/admin_viewlogs.php @@ -1,23 +1,15 @@ acl_get('a_')) trigger_error($user->lang['NO_ADMIN']); } - // Set some variables -$forum_id = (isset($_REQUEST['f'])) ? intval($_REQUEST['f']) : 0; -$start = (isset($_GET['start'])) ? intval($_GET['start']) : 0; -$mode = (isset($_REQUEST['mode'])) ? $_REQUEST['mode'] : 'admin'; - +$mode = request_var('mode', 'admin'); +$forum_id = request_var('f', 0); +$start = request_var('start', 0); +$deletemark = (isset($_POST['delmarked'])) ? true : false; +$deleteall = (isset($_POST['delall'])) ? true : false; +$marked = request_var('mark', 0); // Sort keys -$sort_days = (!empty($_REQUEST['st'])) ? max(intval($_REQUEST['st']), 0) : 0; -$sort_key = (!empty($_REQUEST['sk'])) ? htmlspecialchars($_REQUEST['sk']) : 't'; -$sort_dir = (!empty($_REQUEST['sd'])) ? htmlspecialchars($_REQUEST['sd']) : 'd'; - +$sort_days = request_var('st', 0); +$sort_key = request_var('sk', 't'); +$sort_dir = request_var('sd', 'd'); // Define some vars depending on which logs we're looking at $log_type = ($mode == 'admin') ? LOG_ADMIN : (($mode == 'mod') ? LOG_MOD : LOG_CRITICAL); -$l_title = $user->lang[strtoupper($mode) . '_LOGS']; -$l_title_explain = $user->lang[strtoupper($mode) . '_LOGS_EXPLAIN']; - // Delete entries if requested and able -if ((isset($_POST['delmarked']) || isset($_POST['delall'])) && $auth->acl_get('a_clearlogs')) +if (($deletemark || $deleteall) && $auth->acl_get('a_clearlogs')) { $where_sql = ''; - if (isset($_POST['delmarked']) && isset($_POST['mark'])) + if ($deletemark && $marked) { - foreach ($_POST['mark'] as $marked) + $sql_in = array(); + foreach ($marked as $mark) { - $where_sql .= (($where_sql != '') ? ', ' : '') . intval($marked); + $sql_in[] = $mark; } - $where_sql = "WHERE log_type = $log_type AND log_id IN ($where_sql)"; + $where_sql = ' AND log_id IN (' . implode(', ', $sql_in) . ')'; + unset($sql_in); } - $sql = "DELETE FROM " . LOG_TABLE . " - $where_sql"; + $sql = 'DELETE FROM ' . LOG_TABLE . " + WHERE log_type = $log_type + $where_sql"; $db->sql_query($sql); add_log('admin', 'log_' . $mode . '_clear'); } - // Sorting $limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 364 => $user->lang['1_YEAR']); $sort_by_text = array('u' => $user->lang['SORT_USERNAME'], 't' => $user->lang['SORT_DATE'], 'i' => $user->lang['SORT_IP'], 'o' => $user->lang['SORT_ACTION']); @@ -98,6 +89,8 @@ gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $ $sql_where = ($sort_days) ? (time() - ($sort_days * 86400)) : 0; $sql_sort = $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC'); +$l_title = $user->lang[strtoupper($mode) . '_LOGS']; +$l_title_explain = $user->lang[strtoupper($mode) . '_LOGS_EXPLAIN']; // Output page adm_page_header($l_title); @@ -108,7 +101,7 @@ adm_page_header($l_title);

-
"> +"> lang['MARK_ALL']; ?> :: lang['UNMARK_ALL']; ?> 

lang['MARK_ALL']; ?> :: lang['UNMARK_ALL']; ?> 

+ echo generate_pagination("admin_viewlogs.$phpEx$SID&mode=$mode&st=$sort_days&sk=$sort_key&sd=$sort_dir", $log_count, $config['topics_per_page'], $start); + +?>