コード例 #1
0
            $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');
コード例 #2
0
// ######################## 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);
}