function change_role_ajax() { global $bp; if (bp_gtm_change_user_role($_GET['user'], $_GET['role'], $bp->groups->current_group->id)) { echo '1'; } else { echo '0'; } die; }
function bp_gtm_import_users() { global $wpdb, $bp; // get all groups to work with $groups = $wpdb->get_results($wpdb->prepare("SELECT id FROM {$bp->groups->table_name}")); // get all users for all groups, group them according to their roles foreach ($groups as $group) { $admins[$group->id] = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_admin = 1 AND is_banned = 0", $group->id)); $mods[$group->id] = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_mod = 1 AND is_banned = 0", $group->id)); $members[$group->id] = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_mod = 0 AND is_admin = 0 AND is_banned = 0", $group->id)); } // import all admins foreach ((array) $admins as $group_id => $users) { if (empty($users)) { $done_admins = true; continue; } foreach ($users as $user) { if (empty($user)) { continue; } $done_admins = bp_gtm_change_user_role($user->user_id, $_POST['import_group_admins'], $group_id, $importer = true); } } // import all mods foreach ((array) $mods as $group_id => $users) { if (empty($users)) { $done_mods = true; continue; } foreach ($users as $user) { if (empty($user)) { continue; } $done_mods = bp_gtm_change_user_role($user->user_id, $_POST['import_group_mods'], $group_id, $importer = true); } } // import all usual members foreach ((array) $members as $group_id => $users) { if (empty($users)) { $done_members = true; continue; } foreach ($users as $user) { if (empty($user)) { continue; } $done_members = bp_gtm_change_user_role($user->user_id, $_POST['import_group_members'], $group_id, $importer = true); } } // display appropriate message if ($done_admins && $done_mods && $done_members) { echo "<div id='message' class='updated fade'><p>" . __('All users from all groups were successfully imported', 'bp_gtm') . "</p></div>"; } else { echo "<div id='message' class='error'><p>" . __('Some error occured while importing users. Perhaps, you have already imported all of them?', 'bp_gtm') . "</p></div>"; } }
function bp_gtm_change_user_group_role($resps, $id, $task_id = 0) { global $wpdb, $bp; $group_id = bp_get_current_group_id(); bp_gtm_save_g_resps($task_id, $id, $group_id, $resps); foreach ($resps as $value) { $resp_id = bp_core_get_userid($value); $exist = $wpdb->query($wpdb->prepare("\n SELECT id\n FROM {$bp->gtm->table_roles_caps}\n WHERE `group_id` = {$group_id} AND `user_id` = {$resp_id}")); if (!$exist) { bp_gtm_change_user_role($resp_id, 3, $_POST['project_group']); } } }