$rule_swap = $db->query_first("\n SELECT ruleid, displayorder\n FROM " . TABLE_PREFIX . "userscleanup\n WHERE displayorder " . $comp . $rule_orig['displayorder'] . "\n ORDER BY displayorder {$sort}, title ASC\n LIMIT 1"); if ($comp and $sort and $rule_swap) { $db->query_write("\n UPDATE " . TABLE_PREFIX . "userscleanup\n SET displayorder = CASE ruleid\n WHEN {$rule_orig['ruleid']} THEN {$rule_swap['displayorder']}\n WHEN {$rule_swap['ruleid']} THEN {$rule_orig['displayorder']}\n ELSE displayorder END\n WHERE ruleid IN({$rule_orig['ruleid']}, {$rule_swap['ruleid']})"); } } } $_REQUEST['do'] = 'list'; } // ############################################################################# // test one rule if ($_REQUEST['do'] == 'test') { $vbulletin->input->clean_array_gpc('p', array('criteria' => TYPE_ARRAY)); $criteria = array(); if ($vbulletin->GPC['ruleid'] > 0 and empty($vbulletin->GPC['criteria'])) { // run test from rule manager $criteria = uc_get_cleanup_criterias($vbulletin->GPC['ruleid']); } else { // run test from add/edit form foreach ($vbulletin->GPC['criteria'] as $criteria_id => $criteria_res) { if ($criteria_res['active']) { $criteria[$criteria_id] = $criteria_res; } } } if (empty($criteria)) { print_stop_message('uc_no_users_cleanup_criteria_active'); } $users = uc_get_users($criteria); if (empty($users)) { // no users found! print_stop_message('no_users_matched_your_query');
// ######################## SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); if (!is_object($vbulletin->db)) { exit; } // ############################# REQUIRE ################################## require_once DIR . '/includes/functions.php'; require_once DIR . '/includes/adminfunctions.php'; require_once DIR . '/includes/functions_users_cleanup.php'; // ######################################################################## // ######################### START MAIN SCRIPT ############################ // ######################################################################## $db =& $vbulletin->db; $res = $db->query("\n SELECT *\n FROM " . TABLE_PREFIX . "userscleanup\n WHERE `active` = '1'\n ORDER BY displayorder\n "); while ($rule = $db->fetch_array($res)) { $criterias = uc_get_cleanup_criterias($rule['ruleid']); $users = uc_get_users($criterias); foreach ($users as $user) { // check user is not set in the $undeletable users string if (!is_unalterable_user($user['userid'])) { $info = fetch_userinfo($user['userid']); if ($info) { $userdm =& datamanager_init('User', $vbulletin, ERRTYPE_CP); $userdm->set_existing($info); $userdm->delete(); unset($userdm); } } } $db->free_result($users); }