/**
 * Remove a user from a bunch of projects
 *
 * @param $record_set
 */
function removeProjectUserSet($record_set)
{
    $record = array();
    $record_count = count($record_set);
    for ($record_index = 0; $record_index < $record_count; $record_index++) {
        $record[$record_index] = explode(',', $record_set[$record_index]);
    }
    for ($record_index = 0; $record_index < $record_count; $record_index++) {
        project_remove_user($record[$record_index][1], $record[$record_index][0]);
    }
}
Пример #2
0
require_api('html_api.php');
require_api('lang_api.php');
require_api('print_api.php');
require_api('project_api.php');
require_api('user_api.php');
form_security_validate('manage_proj_user_remove');
auth_reauthenticate();
$f_project_id = gpc_get_int('project_id');
$f_user_id = gpc_get_int('user_id', 0);
# We should check both since we are in the project section and an
#  admin might raise the first threshold and not realize they need
#  to raise the second
access_ensure_project_level(config_get('manage_project_threshold'), $f_project_id);
access_ensure_project_level(config_get('project_user_threshold'), $f_project_id);
if (0 == $f_user_id) {
    # Confirm with the user
    helper_ensure_confirmed(lang_get('remove_all_users_sure_msg'), lang_get('remove_all_users_button'));
    project_remove_all_users($f_project_id, access_get_project_level($f_project_id));
} else {
    # Don't allow removal of users from the project who have a higher access level than the current user
    access_ensure_project_level(access_get_project_level($f_project_id, $f_user_id), $f_project_id);
    $t_user = user_get_row($f_user_id);
    # Confirm with the user
    helper_ensure_confirmed(lang_get('remove_user_sure_msg') . '<br/>' . lang_get('username_label') . lang_get('word_separator') . $t_user['username'], lang_get('remove_user_button'));
    project_remove_user($f_project_id, $f_user_id);
}
form_security_purge('manage_proj_user_remove');
$t_redirect_url = 'manage_proj_edit_page.php?project_id=' . $f_project_id;
html_page_top(null, $t_redirect_url);
html_operation_successful($t_redirect_url);
html_page_bottom();
} elseif ($_POST['confirm'] == 'Yes') {
    switch ($_POST['confirm_f']) {
        case "delete_release":
            admin_release_delete($_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "delete_build":
            admin_build_delete($_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "delete_testset":
            admin_testset_delete($_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "remove_user_from_project":
            project_remove_user($_POST['confirm_project_id'], $_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "remove_area_tested_from_project":
            project_remove_area_tested($_POST['confirm_project_id'], $_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "remove_machine_from_project":
            project_remove_machine($_POST['confirm_project_id'], $_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "remove_testtype_from_project":
            project_remove_testtype($_POST['confirm_project_id'], $_POST['confirm_id']);
            $delete_successful = true;
            break;
        case "remove_man_doc_type_from_project":