$PHORUM["DATA"]["ERROR"] = $PHORUM["DATA"]["LANG"]["UserNotFoundGroup"]; } } // if changing the existing members of the group if (isset($_REQUEST["status"])) { foreach ($_REQUEST["status"] as $userid => $status) { // load the user's groups, make the change, then save again $groups = phorum_api_user_check_group_access(PHORUM_USER_GROUP_SUSPENDED, PHORUM_ACCESS_LIST, $userid); // we can't set someone to be a moderator from here if ($status != PHORUM_USER_GROUP_MODERATOR) { $groups[$group_id] = $status; } if ($status == "remove") { unset($groups[$group_id]); } phorum_api_user_save_groups($userid, $groups); } $PHORUM["DATA"]["OKMSG"] = $PHORUM["DATA"]["LANG"]["ChangesSaved"]; } $group = phorum_db_get_groups($group_id); $PHORUM["DATA"]["GROUP"]["id"] = $group_id; $PHORUM["DATA"]["GROUP"]["name"] = $group[$group_id]["name"]; $PHORUM["DATA"]["USERS"] = array(); $PHORUM["DATA"]["GROUP"]["URL"]["VIEW"] = phorum_get_url(PHORUM_CONTROLCENTER_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $group_id); $PHORUM["DATA"]["FILTER"] = array(); $PHORUM["DATA"]["FILTER"][] = array("name" => $PHORUM["DATA"]["LANG"]["ShowAll"], "enable" => $filter == "all", "url" => phorum_get_url(PHORUM_CONTROLCENTER_ACTION_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $group_id), "id" => "all"); $PHORUM["DATA"]["FILTER"][] = array("name" => $PHORUM["DATA"]["LANG"]["ShowApproved"], "enable" => $filter == PHORUM_USER_GROUP_APPROVED, "url" => phorum_get_url(PHORUM_CONTROLCENTER_ACTION_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $group_id, "filter=" . PHORUM_USER_GROUP_APPROVED), "id" => PHORUM_USER_GROUP_APPROVED); $PHORUM["DATA"]["FILTER"][] = array("name" => $PHORUM["DATA"]["LANG"]["ShowGroupModerator"], "enable" => $filter == PHORUM_USER_GROUP_MODERATOR, "url" => phorum_get_url(PHORUM_CONTROLCENTER_ACTION_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $group_id, "filter=" . PHORUM_USER_GROUP_MODERATOR), "id" => PHORUM_USER_GROUP_MODERATOR); $PHORUM["DATA"]["FILTER"][] = array("name" => $PHORUM["DATA"]["LANG"]["ShowSuspended"], "enable" => $filter == PHORUM_USER_GROUP_SUSPENDED, "url" => phorum_get_url(PHORUM_CONTROLCENTER_ACTION_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $group_id, "filter=" . PHORUM_USER_GROUP_SUSPENDED), "id" => PHORUM_USER_GROUP_SUSPENDED); $PHORUM["DATA"]["FILTER"][] = array("name" => $PHORUM["DATA"]["LANG"]["ShowUnapproved"], "enable" => $filter != "all" && $filter == PHORUM_USER_GROUP_UNAPPROVED, "url" => phorum_get_url(PHORUM_CONTROLCENTER_ACTION_URL, "panel=" . PHORUM_CC_GROUP_MODERATION, "group=" . $group_id, "filter=" . PHORUM_USER_GROUP_UNAPPROVED), "id" => PHORUM_USER_GROUP_UNAPPROVED); $PHORUM["DATA"]["STATUS_OPTIONS"] = array();
$groupdata = array(); if ($_POST["new_group"]) { // set the new group permission to approved $groupdata[$_POST["new_group"]] = PHORUM_USER_GROUP_APPROVED; unset($user_data['new_group']); } if (isset($_POST["group_perm"])) { foreach ($_POST["group_perm"] as $group_id => $perm) { // as long as we aren't removing them from the group, accept other values if ($perm != "remove") { $groupdata[$group_id] = $perm; } } unset($user_data['group_perm']); } phorum_api_user_save_groups($_POST["user_id"], $groupdata); unset($user_data["new_group"]); break; } if (isset($_POST['password1']) && !empty($_POST['password1']) && !empty($_POST['password2']) && $_POST['password1'] != $_POST['password2']) { $error = "Passwords don't match!"; } elseif (!empty($_POST['password1']) && !empty($_POST['password2'])) { $user_data['password'] = $_POST['password1']; $user_data['password_temp'] = $_POST['password1']; } // clean up unset($user_data["module"]); unset($user_data["section"]); unset($user_data["password1"]); unset($user_data["password2"]); unset($user_data["submit"]);
// if we have a request to join a group, try and do it if (isset($_POST["joingroup"]) && $_POST["joingroup"] > 0) { // get the group, and the group list of the user trying to join $usergroups = phorum_api_user_check_group_access(PHORUM_USER_GROUP_SUSPENDED, PHORUM_ACCESS_LIST); // Get all available groups. $group = phorum_db_get_groups($_POST["joingroup"]); // The user can't already be a member of the group, // and the group must allow join requests. if (!isset($usergroups[$_POST["joingroup"]])) { if ($group[$_POST["joingroup"]]["open"] == PHORUM_GROUP_OPEN) { $usergroups[$_POST["joingroup"]] = PHORUM_USER_GROUP_APPROVED; phorum_api_user_save_groups($PHORUM["user"]["user_id"], $usergroups); $PHORUM['DATA']['OKMSG'] = $PHORUM['DATA']['LANG']['GroupJoinSuccess']; } elseif ($group[$_POST["joingroup"]]["open"] == PHORUM_GROUP_REQUIRE_APPROVAL) { $usergroups[$_POST["joingroup"]] = PHORUM_USER_GROUP_UNAPPROVED; phorum_api_user_save_groups($PHORUM["user"]["user_id"], $usergroups); $PHORUM['DATA']['OKMSG'] = $PHORUM['DATA']['LANG']['GroupJoinSuccessModerated']; } else { $PHORUM['DATA']['ERROR'] = $PHORUM['DATA']['LANG']['GroupJoinFail']; } } else { $PHORUM['DATA']['ERROR'] = $PHORUM['DATA']['LANG']['GroupJoinFail']; } } $template = "cc_groups"; $PHORUM['DATA']['Groups'] = phorum_readable_groups(); $PHORUM['DATA']['JOINGROUP'] = phorum_joinable_groups(); $PHORUM["DATA"]["GROUP"]["url"] = phorum_get_url(PHORUM_CONTROLCENTER_ACTION_URL, "panel=" . PHORUM_CC_GROUP_MEMBERSHIP); $PHORUM["DATA"]["HEADING"] = $PHORUM["DATA"]["LANG"]["ViewJoinGroups"]; /* --------------------------------------------------------------- */ function phorum_readable_groups()