0, "canview" => 1, "canviewthreads" => 1, "canviewprofiles" => 1, "candlattachments" => 1, "canpostthreads" => 1, "canpostreplys" => 1, "canpostattachments" => 1, "canratethreads" => 1, "caneditposts" => 1, "candeleteposts" => 1, "candeletethreads" => 1, "caneditattachments" => 1, "canpostpolls" => 1, "canvotepolls" => 1, "canundovotes" => 0, "canusepms" => 1, "cansendpms" => 1, "cantrackpms" => 1, "candenypmreceipts" => 1, "pmquota" => 100, "maxpmrecipients" => 5, "cansendemail" => 1, "cansendemailoverride" => 0, "maxemails" => 4, "canviewmemberlist" => 1, "canviewcalendar" => 1, "canaddevents" => 1, "canbypasseventmod" => 0, "canmoderateevents" => 0, "canviewonline" => 1, "canviewwolinvis" => 0, "canviewonlineips" => 0, "cancp" => 0, "issupermod" => 0, "cansearch" => 1, "canusercp" => 1, "canuploadavatars" => 1, "canratemembers" => 1, "canchangename" => 0, "showforumteam" => 0, "usereputationsystem" => 1, "cangivereputations" => 1, "reputationpower" => 1, "maxreputationsday" => 5, "maxreputationsperuser" => 5, "maxreputationsperthread" => 5, "candisplaygroup" => 0, "attachquota" => 5000, "cancustomtitle" => 0, "canwarnusers" => 0, "canreceivewarnings" => 1, "maxwarningsday" => 0, "canmodcp" => 0, "showinbirthdaylist" => 0, "canoverridepm" => 0, "canusesig" => 0, "canusesigxposts" => 0, "signofollow" => 0 ); // Disallow direct access to this file for security reasons if(!defined("IN_MYBB")) { die("Direct initialization of this file is not allowed.

Please make sure IN_MYBB is defined."); } $page->add_breadcrumb_item($lang->user_groups, "index.php?module=user-groups"); if($mybb->input['action'] == "add" || !$mybb->input['action']) { $sub_tabs['manage_groups'] = array( 'title' => $lang->manage_user_groups, 'link' => "index.php?module=user-groups", 'description' => $lang->manage_user_groups_desc ); $sub_tabs['add_group'] = array( 'title' => $lang->add_user_group, 'link' => "index.php?module=user-groups&action=add", 'description' => $lang->add_user_group_desc ); } $plugins->run_hooks("admin_user_groups_begin"); if($mybb->input['action'] == "export") { $plugins->run_hooks("admin_user_groups_export_start"); // Log admin action log_admin_action(); $gidwhere = ""; if($mybb->input['gid']) { $gidwhere = "gid='".intval($mybb->input['gid'])."'"; } $xml = "settings['charset']}\"?".">\n"; $xml = "version_code}\" exported=\"".TIME_NOW."\">\n"; $query = $db->simple_select("usergroups", "*", $gidwhere, array('order_by' => 'gid', 'order_dir' => 'ASC')); while($usergroup = $db->fetch_array($query)) { $xml .= "\t\t\n"; foreach($usergroup as $key => $value) { $xml .= "\t\t\t<{$key}>\n"; } $xml .= "\t\t\n"; } $xml .= ""; $mybb->settings['bbname'] = urlencode($mybb->settings['bbname']); header("Content-disposition: filename=".$mybb->settings['bbname']."-usergroups.xml"); header("Content-Length: ".my_strlen($xml)); header("Content-type: unknown/unknown"); header("Pragma: no-cache"); header("Expires: 0"); $plugins->run_hooks("admin_user_groups_export_end"); echo $xml; exit; } if($mybb->input['action'] == "approve_join_request") { $plugins->run_hooks("admin_user_groups_approve_join_request"); $query = $db->simple_select("joinrequests", "*", "rid='".$mybb->input['rid']."'"); $request = $db->fetch_array($query); if(!$request['rid']) { flash_message($lang->error_invalid_join_request, 'error'); admin_redirect("index.php?module=user-groups"); } if(!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=user-groups&action=join_requests&gid={$request['gid']}"); } // Add the user to the group join_usergroup($request['uid'], $request['gid']); // Delete the join request $db->delete_query("joinrequests", "rid='{$request['rid']}'"); flash_message($lang->success_join_request_approved, "success"); admin_redirect("index.php?module=user-groups&action=join_requests&gid={$request['gid']}"); } if($mybb->input['action'] == "deny_join_request") { $plugins->run_hooks("admin_user_groups_deny_join_request"); $query = $db->simple_select("joinrequests", "*", "rid='".$mybb->input['rid']."'"); $request = $db->fetch_array($query); if(!$request['rid']) { flash_message($lang->error_invalid_join_request, 'error'); admin_redirect("index.php?module=user-groups"); } if(!verify_post_check($mybb->input['my_post_key'])) { flash_message($lang->invalid_post_verify_key2, 'error'); admin_redirect("index.php?module=user-groups&action=join_requests&gid={$request['gid']}"); } // Delete the join request $db->delete_query("joinrequests", "rid='{$request['rid']}'"); flash_message($lang->success_join_request_denied, "success"); admin_redirect("index.php?module=user-groups&action=join_requests&gid={$request['gid']}"); } if($mybb->input['action'] == "join_requests") { $plugins->run_hooks("admin_user_groups_join_requests_start"); $query = $db->simple_select("usergroups", "*", "gid='".intval($mybb->input['gid'])."'"); $group = $db->fetch_array($query); if(!$group['gid'] || $group['type'] != 4) { flash_message($lang->error_invalid_user_group, 'error'); admin_redirect("index.php?module=user-groups"); } if($mybb->request_method == "post" && is_array($mybb->input['users'])) { $uid_in = implode(",", array_map('intval', $mybb->input['users'])); if(isset($mybb->input['approve'])) { foreach($mybb->input['users'] as $uid) { $uid = intval($uid); join_usergroup($uid, $group['gid']); } // Log admin action log_admin_action("approve", $group['title'], $group['gid']); $message = $lang->success_selected_requests_approved; } else { // Log admin action log_admin_action("deny", $group['title'], $group['gid']); $message = $lang->success_selected_requests_denied; } $plugins->run_hooks("admin_user_groups_join_requests_commit"); // Go through and delete the join requests from the database $db->delete_query("joinrequests", "uid IN ({$uid_in}) AND gid='{$group['gid']}'"); flash_message($message, 'success'); admin_redirect("index.php?module=user-groups&action=join_requests&gid={$group['gid']}"); } $page->add_breadcrumb_item($lang->join_requests_for." {$group['title']}"); $page->output_header($lang->join_requests_for." {$group['title']}"); $sub_tabs = array(); $sub_tabs['join_requests'] = array( 'title' => $lang->group_join_requests, 'link' => "index.php?module=user-groups&action=join_requests&gid={$group['gid']}", 'description' => $lang->group_join_requests_desc ); $page->output_nav_tabs($sub_tabs, 'join_requests'); $query = $db->simple_select("joinrequests", "COUNT(*) AS num_requests", "gid='{$group['gid']}'"); $num_requests = $db->fetch_field($query, "num_requests"); $per_page = 20; if($mybb->input['page'] > 0) { $current_page = intval($mybb->input['page']); $start = ($current_page-1)*$per_page; $pages = $num_requests / $per_page; $pages = ceil($pages); if($current_page > $pages) { $start = 0; $current_page = 1; } } else { $start = 0; $current_page = 1; } // Do we need to construct the pagination? $pagination = ''; if($num_requests > $per_page) { $pagination = draw_admin_pagination($page, $per_page, $num_requests, "index.php?module=user-groups&action=join_requests&gid={$group['gid']}"); echo $pagination; } $form = new Form("index.php?module=user-groups&action=join_requests&gid={$group['gid']}", "post"); $table = new Table; $table->construct_header($form->generate_check_box("checkall", 1, "", array('class' => 'checkall')), array('width' => 1)); $table->construct_header($lang->users); $table->construct_header($lang->reason); $table->construct_header($lang->date_requested, array("class" => 'align_center', "width" => 200)); $table->construct_header($lang->controls, array("class" => "align_center", "width" => 200)); $query = $db->query(" SELECT j.*, u.username FROM ".TABLE_PREFIX."joinrequests j INNER JOIN ".TABLE_PREFIX."users u ON (u.uid=j.uid) WHERE j.gid='{$group['gid']}' ORDER BY dateline ASC LIMIT {$start}, {$per_page} "); while($request = $db->fetch_array($query)) { $table->construct_cell($form->generate_check_box("users[]", $request['uid'], "")); $table->construct_cell("".build_profile_link($request['username'], $request['uid'], "_blank").""); $table->construct_cell(htmlspecialchars_uni($request['reason'])); $table->construct_cell(my_date($mybb->settings['dateformat'].", ".$mybb->settings['timeformat'], $request['dateline']), array('class' => 'align_center')); $popup = new PopupMenu("join_{$request['rid']}", $lang->options); $popup->add_item($lang->approve, "index.php?module=user-groups&action=approve_join_request&rid={$request['rid']}&my_post_key={$mybb->post_code}"); $popup->add_item($lang->deny, "index.php?module=user-groups&action=deny_join_request&rid={$request['rid']}&my_post_key={$mybb->post_code}"); $table->construct_cell($popup->fetch(), array('class' => "align_center")); $table->construct_row(); } if($table->num_rows() == 0) { $table->construct_cell($lang->no_join_requests, array("colspan" => 6)); $table->construct_row(); } $table->output($lang->join_requests_for." {$group['title']}"); echo $pagination; $buttons[] = $form->generate_submit_button($lang->approve_selected_requests, array('name' => 'approve')); $buttons[] = $form->generate_submit_button($lang->deny_selected_requests, array('name' => 'deny')); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "add_leader" && $mybb->request_method == "post") { $plugins->run_hooks("admin_user_groups_add_leader"); $query = $db->simple_select("usergroups", "*", "gid='".intval($mybb->input['gid'])."'"); $group = $db->fetch_array($query); if(!$group['gid']) { flash_message($lang->error_invalid_user_group, 'error'); admin_redirect("index.php?module=user-group"); } $query = $db->simple_select("users", "uid, username", "LOWER(username)='".$db->escape_string(my_strtolower($mybb->input['username']))."'"); $user = $db->fetch_array($query); if(!$user['uid']) { $errors[] = $lang->error_invalid_username; } else { // Is this user already a leader of this group? $query = $db->simple_select("groupleaders", "uid", "uid='{$user['uid']}' AND gid='{$group['gid']}'"); $existing_leader = $db->fetch_field($query, "uid"); if($existing_leader) { $errors[] = $lang->error_already_leader; } } // No errors, insert if(!$errors) { $new_leader = array( "gid" => $group['gid'], "uid" => $user['uid'], "canmanagemembers" => intval($mybb->input['canmanagemembers']), "canmanagerequests" => intval($mybb->input['canmanagerequests']) ); $plugins->run_hooks("admin_user_groups_add_leader_commit"); $db->insert_query("groupleaders", $new_leader); $cache->update_groupleaders(); // Log admin action log_admin_action($user['uid'], $mybb->input['username'], $group['gid'], $group['title']); flash_message("{$user['username']} ".$lang->success_user_made_leader, 'success'); admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}"); } else { // Errors, show leaders page $mybb->input['action'] = "leaders"; } } // Show a listing of group leaders if($mybb->input['action'] == "leaders") { $plugins->run_hooks("admin_user_groups_leaders"); $query = $db->simple_select("usergroups", "*", "gid='".intval($mybb->input['gid'])."'"); $group = $db->fetch_array($query); if(!$group['gid']) { flash_message($lang->error_invalid_user_group, 'error'); admin_redirect("index.php?module=user-groups"); } $page->add_breadcrumb_item($lang->group_leaders_for." {$group['title']}"); $page->output_header($lang->group_leaders_for." {$group['title']}"); $sub_tabs = array(); $sub_tabs['group_leaders'] = array( 'title' => $lang->manage_group_leaders, 'link' => "index.php?module=user-groups&action=leaders&gid={$group['gid']}", 'description' => $lang->manage_group_leaders_desc ); $page->output_nav_tabs($sub_tabs, 'group_leaders'); $table = new Table; $table->construct_header($lang->user); $table->construct_header($lang->can_manage_members, array("class" => 'align_center', "width" => 200)); $table->construct_header($lang->can_manage_join_requests, array("class" => 'align_center', "width" => 200)); $table->construct_header($lang->controls, array("class" => "align_center", "colspan" => 2, "width" => 200)); $query = $db->query(" SELECT g.*, u.username FROM ".TABLE_PREFIX."groupleaders g INNER JOIN ".TABLE_PREFIX."users u ON (u.uid=g.uid) WHERE g.gid='{$group['gid']}' ORDER BY u.username ASC "); while($leader = $db->fetch_array($query)) { $leader['username'] = htmlspecialchars_uni($leader['username']); if($leader['canmanagemembers']) { $canmanagemembers = $lang->yes; } else { $canmanagemembers = $lang->no; } if($leader['canmanagerequests']) { $canmanagerequests = $lang->yes; } else { $canmanagerequests = $lang->no; } $table->construct_cell("".build_profile_link($leader['username'], $leader['uid'], "_blank").""); $table->construct_cell($canmanagemembers, array("class" => "align_center")); $table->construct_cell($canmanagerequests, array("class" => "align_center")); $table->construct_cell("{$lang->edit}", array("class" => "align_center")); $table->construct_cell("post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_group_leader_deletion}')\">{$lang->delete}", array("width" => 100, "class" => "align_center")); $table->construct_row(); } if($table->num_rows() == 0) { $table->construct_cell($lang->no_assigned_leaders, array("colspan" => 5)); $table->construct_row(); } $table->output($lang->group_leaders_for." {$group['title']}"); $form = new Form("index.php?module=user-groups&action=add_leader&gid={$group['gid']}", "post"); if($errors) { $page->output_inline_error($errors); } else { $mybb->input = array( "canmanagemembers" => 1, "canmanagerequests" => 1 ); } $form_container = new FormContainer($lang->add_group_leader." {$group['title']}"); $form_container->output_row($lang->username." *", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username'); $form_container->output_row($lang->can_manage_group_members, $lang->can_manage_group_members_desc, $form->generate_yes_no_radio('canmanagemembers', $mybb->input['canmanagemembers'])); $form_container->output_row($lang->can_manage_group_join_requests, $lang->can_manage_group_join_requests_desc, $form->generate_yes_no_radio('canmanagerequests', $mybb->input['canmanagerequests'])); $buttons[] = $form->generate_submit_button($lang->save_group_leader); $form_container->end(); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "delete_leader") { $plugins->run_hooks("admin_user_groups_delete_leader"); $query = $db->query(" SELECT l.*, u.username FROM ".TABLE_PREFIX."groupleaders l INNER JOIN ".TABLE_PREFIX."users u ON (u.uid=l.uid) WHERE l.lid='".intval($mybb->input['lid'])."'"); $leader = $db->fetch_array($query); if(!$leader['lid']) { flash_message($lang->error_invalid_group_leader, 'error'); admin_redirect("index.php?module=user-groups"); } $query = $db->simple_select("usergroups", "*", "gid='{$leader['gid']}'"); $group = $db->fetch_array($query); // User clicked no if($mybb->input['no']) { admin_redirect("index.php?module=user-groups"); } if($mybb->request_method == "post") { $plugins->run_hooks("admin_user_groups_delete_leader_commit"); // Delete the leader $db->delete_query("groupleaders", "lid='{$leader['lid']}'"); $cache->update_groupleaders(); // Log admin action log_admin_action($leader['lid'], $leader['username'], $group['gid'], $group['title']); flash_message($lang->success_group_leader_deleted, 'success'); admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}"); } else { $page->output_confirm_action("index.php?module=user-groups&action=delete_leader&lid={$leader['lid']}", $lang->confirm_group_leader_deletion); } } if($mybb->input['action'] == "edit_leader") { $plugins->run_hooks("admin_user_groups_edit_leader"); $query = $db->query(" SELECT l.*, u.username FROM ".TABLE_PREFIX."groupleaders l INNER JOIN ".TABLE_PREFIX."users u ON (u.uid=l.uid) WHERE l.lid='".intval($mybb->input['lid'])."' "); $leader = $db->fetch_array($query); if(!$leader['lid']) { flash_message($lang->error_invalid_group_leader, 'error'); admin_redirect("index.php?module=user-groups"); } $query = $db->simple_select("usergroups", "*", "gid='{$leader['gid']}'"); $group = $db->fetch_array($query); if($mybb->request_method == "post") { $updated_leader = array( "canmanagemembers" => intval($mybb->input['canmanagemembers']), "canmanagerequests" => intval($mybb->input['canmanagerequests']) ); $plugins->run_hooks("admin_user_groups_edit_leader_commit"); $db->update_query("groupleaders", $updated_leader, "lid={$leader['lid']}"); $cache->update_groupleaders(); // Log admin action log_admin_action($leader['lid'], $leader['username'], $group['gid'], $group['title']); flash_message($lang->success_group_leader_updated, 'success'); admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}"); } if(!$errors) { $mybb->input = $leader; } $page->add_breadcrumb_item($lang->group_leaders_for." {$group['title']}", "index.php?module=user-groups&action=leaders&gid={$group['gid']}"); $page->add_breadcrumb_item($lang->edit_leader." {$leader['username']}"); $page->output_header($lang->edit_group_leader); $sub_tabs = array(); $sub_tabs['group_leaders'] = array( 'title' => $lang->edit_group_leader, 'link' => "index.php?module=user-groups&action=edit_leader&lid={$leader['lid']}", 'description' => $lang->edit_group_leader_desc ); $page->output_nav_tabs($sub_tabs, 'group_leaders'); $form = new Form("index.php?module=user-groups&action=edit_leader&lid={$leader['lid']}'", "post"); $form_container = new FormContainer($lang->edit_group_leader); $form_container->output_row($lang->username." *", "", $leader['username']); $form_container->output_row($lang->can_manage_group_members, $lang->can_manage_group_members_desc, $form->generate_yes_no_radio('canmanagemembers', $mybb->input['canmanagemembers'])); $form_container->output_row($lang->can_manage_group_join_requests, $lang->can_manage_group_join_requests_desc, $form->generate_yes_no_radio('canmanagerequests', $mybb->input['canmanagerequests'])); $buttons[] = $form->generate_submit_button($lang->save_group_leader); $form_container->end(); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "add") { $plugins->run_hooks("admin_user_groups_add"); if($mybb->request_method == "post") { if(!trim($mybb->input['title'])) { $errors[] = $lang->error_missing_title; } if(my_strpos($mybb->input['namestyle'], "{username}") === false) { $errors[] = $lang->error_missing_namestyle_username; } if(!$errors) { if($mybb->input['stars'] < 1) { $mybb->input['stars'] = 0; } if(!$mybb->input['starimage']) { $mybb->input['starimage'] = "images/star.gif"; } $new_usergroup = array( "type" => 2, "title" => $db->escape_string($mybb->input['title']), "description" => $db->escape_string($mybb->input['description']), "namestyle" => $db->escape_string($mybb->input['namestyle']), "usertitle" => $db->escape_string($mybb->input['usertitle']), "stars" => intval($mybb->input['stars']), "starimage" => $db->escape_string($mybb->input['starimage']), "disporder" => 0 ); // Set default permissions if($mybb->input['copyfrom'] == 0) { $new_usergroup = array_merge($new_usergroup, $usergroup_permissions); } // Copying permissions from another group else { $query = $db->simple_select("usergroups", "*", "gid='".intval($mybb->input['copyfrom'])."'"); $existing_usergroup = $db->fetch_array($query); foreach(array_keys($usergroup_permissions) as $field) { $new_usergroup[$field] = $existing_usergroup[$field]; } } $plugins->run_hooks("admin_user_groups_add_commit"); $gid = $db->insert_query("usergroups", $new_usergroup); // Are we copying permissions? If so, copy all forum permissions too if($mybb->input['copyfrom'] > 0) { $query = $db->simple_select("forumpermissions", "*", "gid='".intval($mybb->input['copyfrom'])."'"); while($forum_permission = $db->fetch_array($query)) { unset($forum_permission['pid']); $forum_permission['gid'] = $gid; $db->insert_query("forumpermissions", $forum_permission); } } // Update the caches $cache->update_usergroups(); $cache->update_forumpermissions(); // Log admin action log_admin_action($gid, $mybb->input['title']); flash_message($lang->success_group_created, 'success'); admin_redirect("index.php?module=user-groups&action=edit&gid={$gid}"); } } $page->add_breadcrumb_item($lang->add_user_group); $page->output_header($lang->add_user_group); $page->output_nav_tabs($sub_tabs, 'add_group'); $form = new Form("index.php?module=user-groups&action=add", "post"); if($errors) { $page->output_inline_error($errors); } else { $mybb->input = array( "namestyle" => "{username}" ); } $form_container = new FormContainer($lang->add_user_group); $form_container->output_row($lang->title." *", "", $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); $form_container->output_row($lang->short_description, "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $form_container->output_row($lang->username_style, $lang->username_style_desc, $form->generate_text_box('namestyle', $mybb->input['namestyle'], array('id' => 'namestyle')), 'namestyle'); $form_container->output_row($lang->user_title, $lang->user_title_desc, $form->generate_text_box('usertitle', $mybb->input['usertitle'], array('id' => 'usertitle')), 'usertitle'); $options[0] = $lang->do_not_copy_permissions; $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); while($usergroup = $db->fetch_array($query)) { $options[$usergroup['gid']] = $usergroup['title']; } $form_container->output_row($lang->copy_permissions_from, $lang->copy_permissions_from_desc, $form->generate_select_box('copyfrom', $options, $mybb->input['copyfrom'], array('id' => 'copyfrom')), 'copyfrom'); $form_container->end(); $buttons[] = $form->generate_submit_button($lang->save_user_group); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "edit") { $plugins->run_hooks("admin_user_groups_edit"); $query = $db->simple_select("usergroups", "*", "gid='".intval($mybb->input['gid'])."'"); $usergroup = $db->fetch_array($query); if(!$usergroup['gid']) { flash_message($lang->error_invalid_user_group, 'error'); admin_redirect("index.php?module=user-group"); } if($mybb->request_method == "post") { if(!trim($mybb->input['title'])) { $errors[] = $lang->error_missing_title; } if(my_strpos($mybb->input['namestyle'], "{username}") === false) { $errors[] = $lang->error_missing_namestyle_username; } else { if(preg_match("#<((m[^a])|(b[^diloru>])|(s[^aemptu>]))(\s*[^>]*)>#si", $mybb->input['namestyle'])) { $errors[] = $lang->error_disallowed_namestyle_username; $mybb->input['namestyle'] = $usergroup['namestyle']; } } if(!$errors) { if($mybb->input['joinable'] == 1) { if($mybb->input['moderate'] == 1) { $mybb->input['type'] = "4"; } else { $mybb->input['type'] = "3"; } } else { $mybb->input['type'] = "2"; } if($usergroup['type'] == 1) { $mybb->input['type'] = 1; } if($mybb->input['stars'] < 1) { $mybb->input['stars'] = 0; } $updated_group = array( "type" => intval($mybb->input['type']), "title" => $db->escape_string($mybb->input['title']), "description" => $db->escape_string($mybb->input['description']), "namestyle" => $db->escape_string($mybb->input['namestyle']), "usertitle" => $db->escape_string($mybb->input['usertitle']), "stars" => intval($mybb->input['stars']), "starimage" => $db->escape_string($mybb->input['starimage']), "image" => $db->escape_string($mybb->input['image']), "isbannedgroup" => intval($mybb->input['isbannedgroup']), "canview" => intval($mybb->input['canview']), "canviewthreads" => intval($mybb->input['canviewthreads']), "canviewprofiles" => intval($mybb->input['canviewprofiles']), "candlattachments" => intval($mybb->input['candlattachments']), "canpostthreads" => intval($mybb->input['canpostthreads']), "canpostreplys" => intval($mybb->input['canpostreplys']), "canpostattachments" => intval($mybb->input['canpostattachments']), "canratethreads" => intval($mybb->input['canratethreads']), "caneditposts" => intval($mybb->input['caneditposts']), "candeleteposts" => intval($mybb->input['candeleteposts']), "candeletethreads" => intval($mybb->input['candeletethreads']), "caneditattachments" => intval($mybb->input['caneditattachments']), "canpostpolls" => intval($mybb->input['canpostpolls']), "canvotepolls" => intval($mybb->input['canvotepolls']), "canundovotes" => intval($mybb->input['canundovotes']), "canusepms" => intval($mybb->input['canusepms']), "cansendpms" => intval($mybb->input['cansendpms']), "cantrackpms" => intval($mybb->input['cantrackpms']), "candenypmreceipts" => intval($mybb->input['candenypmreceipts']), "pmquota" => intval($mybb->input['pmquota']), "maxpmrecipients" => intval($mybb->input['maxpmrecipients']), "cansendemail" => intval($mybb->input['cansendemail']), "cansendemailoverride" => intval($mybb->input['cansendemailoverride']), "maxemails" => intval($mybb->input['maxemails']), "canviewmemberlist" => intval($mybb->input['canviewmemberlist']), "canviewcalendar" => intval($mybb->input['canviewcalendar']), "canaddevents" => intval($mybb->input['canaddevents']), "canbypasseventmod" => intval($mybb->input['canbypasseventmod']), "canmoderateevents" => intval($mybb->input['canmoderateevents']), "canviewonline" => intval($mybb->input['canviewonline']), "canviewwolinvis" => intval($mybb->input['canviewwolinvis']), "canviewonlineips" => intval($mybb->input['canviewonlineips']), "cancp" => intval($mybb->input['cancp']), "issupermod" => intval($mybb->input['issupermod']), "cansearch" => intval($mybb->input['cansearch']), "canusercp" => intval($mybb->input['canusercp']), "canuploadavatars" => intval($mybb->input['canuploadavatars']), "canchangename" => intval($mybb->input['canchangename']), "showforumteam" => intval($mybb->input['showforumteam']), "usereputationsystem" => intval($mybb->input['usereputationsystem']), "cangivereputations" => intval($mybb->input['cangivereputations']), "reputationpower" => intval($mybb->input['reputationpower']), "maxreputationsday" => intval($mybb->input['maxreputationsday']), "maxreputationsperuser" => intval($mybb->input['maxreputationsperuser']), "maxreputationsperthread" => intval($mybb->input['maxreputationsperthread']), "attachquota" => intval($mybb->input['attachquota']), "cancustomtitle" => intval($mybb->input['cancustomtitle']), "canwarnusers" => intval($mybb->input['canwarnusers']), "canreceivewarnings" =>intval($mybb->input['canreceivewarnings']), "maxwarningsday" => intval($mybb->input['maxwarningsday']), "canmodcp" => intval($mybb->input['canmodcp']), "showinbirthdaylist" => intval($mybb->input['showinbirthdaylist']), "canoverridepm" => intval($mybb->input['canoverridepm']), "canusesig" => intval($mybb->input['canusesig']), "canusesigxposts" => intval($mybb->input['canusesigxposts']), "signofollow" => intval($mybb->input['signofollow']) ); // Only update the candisplaygroup setting if not a default user group if($usergroup['type'] != 1) { $updated_group['candisplaygroup'] = intval($mybb->input['candisplaygroup']); } $plugins->run_hooks("admin_user_groups_edit_commit"); $db->update_query("usergroups", $updated_group, "gid='{$usergroup['gid']}'"); // Update the caches $cache->update_usergroups(); $cache->update_forumpermissions(); // Log admin action log_admin_action($usergroup['gid'], $mybb->input['title']); flash_message($lang->success_group_updated, 'success'); admin_redirect("index.php?module=user-groups"); } } $page->add_breadcrumb_item($lang->edit_user_group); $page->output_header($lang->edit_user_group); $sub_tabs = array(); $sub_tabs['edit_group'] = array( 'title' => $lang->edit_user_group, 'description' => $lang->edit_user_group_desc ); $form = new Form("index.php?module=user-groups&action=edit&gid={$usergroup['gid']}", "post"); $page->output_nav_tabs($sub_tabs, 'edit_group'); // If we have any error messages, show them if($errors) { $page->output_inline_error($errors); } else { if($usergroup['type'] == "3") { $usergroup['joinable'] = 1; $usergroup['moderate'] = 0; } elseif($usergroup['type'] == "4") { $usergroup['joinable'] = 1; $usergroup['moderate'] = 1; } else { $usergroup['joinable'] = 0; $usergroup['moderate'] = 0; } $mybb->input = $usergroup; } $tabs = array( "general" => $lang->general, "forums_posts" => $lang->forums_posts, "users_permissions" => $lang->users_permissions, "misc" => $lang->misc ); $tabs = $plugins->run_hooks("admin_user_groups_edit_graph_tabs", $tabs); $page->output_tab_control($tabs); echo "
"; $form_container = new FormContainer($lang->general); $form_container->output_row($lang->title." *", "", $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); $form_container->output_row($lang->short_description, "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); $form_container->output_row($lang->username_style, $lang->username_style_desc, $form->generate_text_box('namestyle', $mybb->input['namestyle'], array('id' => 'namestyle')), 'namestyle'); $form_container->output_row($lang->user_title, $lang->user_title_desc, $form->generate_text_box('usertitle', $mybb->input['usertitle'], array('id' => 'usertitle')), 'usertitle'); $stars = ""; $stars .= "
".$form->generate_text_box('stars', $mybb->input['stars'], array('class' => 'field50', 'id' => 'stars'))."".$form->generate_text_box('starimage', $mybb->input['starimage'], array('id' => 'starimage'))."
{$lang->stars}{$lang->star_image}
"; $form_container->output_row($lang->user_stars, $lang->user_stars_desc, $stars, "stars"); $form_container->output_row($lang->group_image, $lang->group_image_desc, $form->generate_text_box('image', $mybb->input['image'], array('id' => 'image')), 'image'); $general_options = array(); if($usergroup['gid'] != "1" && $usergroup['gid'] != "5") { $general_options[] = $form->generate_check_box("showforumteam", 1, $lang->forum_team, array("checked" => $mybb->input['showforumteam'])); } $general_options[] = $form->generate_check_box("isbannedgroup", 1, $lang->is_banned_group, array("checked" => $mybb->input['isbannedgroup'])); $form_container->output_row($lang->general_options, "", "
".implode("
", $general_options)."
"); if($usergroup['type'] != 1) { $public_options = array( $form->generate_check_box("joinable", 1, $lang->user_joinable, array("checked" => $mybb->input['joinable'])), $form->generate_check_box("moderate", 1, $lang->moderate_join_requests, array("checked" => $mybb->input['moderate'])), $form->generate_check_box("candisplaygroup", 1, $lang->can_set_as_display_group, array("checked" => $mybb->input['candisplaygroup'])), ); $form_container->output_row($lang->publicly_joinable_options, "", "
".implode("
", $public_options)."
"); } $admin_options = array( $form->generate_check_box("issupermod", 1, $lang->is_super_mod, array("checked" => $mybb->input['issupermod'])), $form->generate_check_box("canmodcp", 1, $lang->can_access_mod_cp, array("checked" => $mybb->input['canmodcp'])), $form->generate_check_box("cancp", 1, $lang->can_access_admin_cp, array("checked" => $mybb->input['cancp'])) ); $form_container->output_row($lang->moderation_administration_options, "", "
".implode("
", $admin_options)."
"); $form_container->end(); echo "
"; // // FORUMS AND POSTS // echo "
"; $form_container = new FormContainer($lang->forums_posts); $viewing_options = array( $form->generate_check_box("canview", 1, $lang->can_view_board, array("checked" => $mybb->input['canview'])), $form->generate_check_box("canviewthreads", 1, $lang->can_view_threads, array("checked" => $mybb->input['canviewthreads'])), $form->generate_check_box("cansearch", 1, $lang->can_search_forums, array("checked" => $mybb->input['cansearch'])), $form->generate_check_box("canviewprofiles", 1, $lang->can_view_profiles, array("checked" => $mybb->input['canviewprofiles'])), $form->generate_check_box("candlattachments", 1, $lang->can_download_attachments, array("checked" => $mybb->input['candlattachments'])), ); $form_container->output_row($lang->viewing_options, "", "
".implode("
", $viewing_options)."
"); $posting_options = array( $form->generate_check_box("canpostthreads", 1, $lang->can_post_threads, array("checked" => $mybb->input['canpostthreads'])), $form->generate_check_box("canpostreplys", 1, $lang->can_post_replies, array("checked" => $mybb->input['canpostreplys'])), $form->generate_check_box("canratethreads", 1, $lang->can_rate_threads, array("checked" => $mybb->input['canratethreads'])) ); $form_container->output_row($lang->posting_rating_options, "", "
".implode("
", $posting_options)."
"); $poll_options = array( $form->generate_check_box("canpostpolls", 1, $lang->can_post_polls, array("checked" => $mybb->input['canpostpolls'])), $form->generate_check_box("canvotepolls", 1, $lang->can_vote_polls, array("checked" => $mybb->input['canvotepolls'])), $form->generate_check_box("canundovotes", 1, $lang->can_undo_votes, array("checked" => $mybb->input['canundovotes'])) ); $form_container->output_row($lang->poll_options, "", "
".implode("
", $poll_options)."
"); $attachment_options = array( $form->generate_check_box("canpostattachments", 1, $lang->can_post_attachments, array("checked" => $mybb->input['canpostattachments'])), "{$lang->attach_quota}
{$lang->attach_quota_desc}
".$form->generate_text_box('attachquota', $mybb->input['attachquota'], array('id' => 'attachquota', 'class' => 'field50')). "KB" ); $form_container->output_row($lang->attachment_options, "", "
".implode("
", $attachment_options)."
"); $editing_options = array( $form->generate_check_box("caneditposts", 1, $lang->can_edit_posts, array("checked" => $mybb->input['caneditposts'])), $form->generate_check_box("candeleteposts", 1, $lang->can_delete_posts, array("checked" => $mybb->input['candeleteposts'])), $form->generate_check_box("candeletethreads", 1, $lang->can_delete_threads, array("checked" => $mybb->input['candeletethreads'])), $form->generate_check_box("caneditattachments", 1, $lang->can_edit_attachments, array("checked" => $mybb->input['caneditattachments'])) ); $form_container->output_row($lang->editing_deleting_options, "", "
".implode("
", $editing_options)."
"); $form_container->end(); echo "
"; // // USERS AND PERMISSIONS // echo "
"; $form_container = new FormContainer($lang->users_permissions); $account_options = array( $form->generate_check_box("canusercp", 1, $lang->can_access_usercp, array("checked" => $mybb->input['canusercp'])), $form->generate_check_box("canchangename", 1, $lang->can_change_username, array("checked" => $mybb->input['canchangename'])), $form->generate_check_box("cancustomtitle", 1, $lang->can_use_usertitles, array("checked" => $mybb->input['cancustomtitle'])), $form->generate_check_box("canuploadavatars", 1, $lang->can_upload_avatars, array("checked" => $mybb->input['canuploadavatars'])), $form->generate_check_box("canusesig", 1, $lang->can_use_signature, array("checked" => $mybb->input['canusesig'])), $form->generate_check_box("signofollow", 1, $lang->uses_no_follow, array("checked" => $mybb->input['signofollow'])), "{$lang->required_posts}
{$lang->required_posts_desc}
".$form->generate_text_box('canusesigxposts', $mybb->input['canusesigxposts'], array('id' => 'canusesigxposts', 'class' => 'field50')) ); $form_container->output_row($lang->account_management, "", "
".implode("
", $account_options)."
"); $reputation_options = array( $form->generate_check_box("usereputationsystem", 1, $lang->show_reputations, array("checked" => $mybb->input['usereputationsystem'])), $form->generate_check_box("cangivereputations", 1, $lang->can_give_reputation, array("checked" => $mybb->input['cangivereputations'])), "{$lang->points_to_award_take}
{$lang->points_to_award_take_desc}
".$form->generate_text_box('reputationpower', $mybb->input['reputationpower'], array('id' => 'reputationpower', 'class' => 'field50')), "{$lang->max_reputations_perthread}
{$lang->max_reputations_perthread_desc}
".$form->generate_text_box('maxreputationsperthread', $mybb->input['maxreputationsperthread'], array('id' => 'maxreputationsperthread', 'class' => 'field50')), "{$lang->max_reputations_daily}
{$lang->max_reputations_daily_desc}
".$form->generate_text_box('maxreputationsday', $mybb->input['maxreputationsday'], array('id' => 'maxreputationsday', 'class' => 'field50')) ); $form_container->output_row($lang->reputation_system, "", "
".implode("
", $reputation_options)."
"); $warning_options = array( $form->generate_check_box("canwarnusers", 1, $lang->can_send_warnings, array("checked" => $mybb->input['canwarnusers'])), $form->generate_check_box("canreceivewarnings", 1, $lang->can_receive_warnings, array("checked" => $mybb->input['canreceivewarnings'])), "{$lang->warnings_per_day}
".$form->generate_text_box('maxwarningsday', $mybb->input['maxwarningsday'], array('id' => 'maxwarningsday', 'class' => 'field50')) ); $form_container->output_row($lang->warning_system, "", "
".implode("
", $warning_options)."
"); $pm_options = array( $form->generate_check_box("canusepms", 1, $lang->can_use_pms, array("checked" => $mybb->input['canusepms'])), $form->generate_check_box("cansendpms", 1, $lang->can_send_pms, array("checked" => $mybb->input['cansendpms'])), $form->generate_check_box("canoverridepm", 1, $lang->can_override_pms, array("checked" => $mybb->input['canoverridepm'])), $form->generate_check_box("cantrackpms", 1, $lang->can_track_pms, array("checked" => $mybb->input['cantrackpms'])), $form->generate_check_box("candenypmreceipts", 1, $lang->can_deny_reciept, array("checked" => $mybb->input['candenypmreceipts'])), "{$lang->message_quota}
{$lang->message_quota_desc}
".$form->generate_text_box('pmquota', $mybb->input['pmquota'], array('id' => 'pmquota', 'class' => 'field50')), "{$lang->max_recipients}
{$lang->max_recipients_desc}
".$form->generate_text_box('maxpmrecipients', $mybb->input['maxpmrecipients'], array('id' => 'maxpmrecipients', 'class' => 'field50')) ); $form_container->output_row($lang->private_messaging, "", "
".implode("
", $pm_options)."
"); $form_container->end(); echo "
"; // // MISC // echo "
"; $form_container = new FormContainer($lang->misc); $calendar_options = array( $form->generate_check_box("canviewcalendar", 1, $lang->can_view_calendar, array("checked" => $mybb->input['canviewcalendar'])), $form->generate_check_box("canaddevents", 1, $lang->can_post_events, array("checked" => $mybb->input['canaddevents'])), $form->generate_check_box("canbypasseventmod", 1, $lang->can_bypass_event_moderation, array("checked" => $mybb->input['canbypasseventmod'])), $form->generate_check_box("canmoderateevents", 1, $lang->can_moderate_events, array("checked" => $mybb->input['canmoderateevents'])) ); $form_container->output_row($lang->calendar, "", "
".implode("
", $calendar_options)."
"); $wol_options = array( $form->generate_check_box("canviewonline", 1, $lang->can_view_whos_online, array("checked" => $mybb->input['canviewonline'])), $form->generate_check_box("canviewwolinvis", 1, $lang->can_view_invisible, array("checked" => $mybb->input['canviewwolinvis'])), $form->generate_check_box("canviewonlineips", 1, $lang->can_view_ips, array("checked" => $mybb->input['canviewonlineips'])) ); $form_container->output_row($lang->whos_online, "", "
".implode("
", $wol_options)."
"); $misc_options = array( $form->generate_check_box("canviewmemberlist", 1, $lang->can_view_member_list, array("checked" => $mybb->input['canviewmemberlist'])), $form->generate_check_box("showinbirthdaylist", 1, $lang->show_in_birthday_list, array("checked" => $mybb->input['showinbirthdaylist'])), $form->generate_check_box("cansendemail", 1, $lang->can_email_users, array("checked" => $mybb->input['cansendemail'])), $form->generate_check_box("cansendemailoverride", 1, $lang->can_email_users_override, array("checked" => $mybb->input['cansendemailoverride'])), "{$lang->max_emails_per_day}
{$lang->max_emails_per_day_desc}
".$form->generate_text_box('maxemails', $mybb->input['maxemails'], array('id' => 'maxemails', 'class' => 'field50')) ); $form_container->output_row($lang->misc, "", "
".implode("
", $misc_options)."
"); $form_container->end(); echo "
"; $plugins->run_hooks("admin_user_groups_edit_graph"); $buttons[] = $form->generate_submit_button($lang->save_user_group); $form->output_submit_wrapper($buttons); $form->end(); $page->output_footer(); } if($mybb->input['action'] == "delete") { $plugins->run_hooks("admin_user_groups_delete"); $query = $db->simple_select("usergroups", "*", "gid='".intval($mybb->input['gid'])."'"); $usergroup = $db->fetch_array($query); if(!$usergroup['gid']) { flash_message($lang->error_invalid_user_group, 'error'); admin_redirect("index.php?module=user-groups"); } if($usergroup['type'] == 1) { flash_message($lang->error_default_group_delete, 'error'); admin_redirect("index.php?module=user-groups"); } // User clicked no if($mybb->input['no']) { admin_redirect("index.php?module=user-groups"); } if($mybb->request_method == "post") { // Move any users back to the registered group $updated_users = array("usergroup" => 2); $db->update_query("users", $updated_users, "usergroup='{$usergroup['gid']}'"); $updated_users = array("displaygroup" => "usergroup"); $plugins->run_hooks("admin_user_groups_delete_commit"); $db->update_query("users", $updated_users, "displaygroup='{$usergroup['gid']}'", "", true); // No quotes = displaygroup=usergroup switch($db->type) { case "pgsql": case "sqlite": $query = $db->simple_select("users", "uid", "','||additionalgroups||',' LIKE '%,{$usergroup['gid']},%'"); break; default: $query = $db->simple_select("users", "uid", "CONCAT(',',additionalgroups,',') LIKE '%,{$usergroup['gid']},%'"); } while($user = $db->fetch_array($query)) { leave_usergroup($user['uid'], $usergroup['gid']); } $db->delete_query("groupleaders", "gid='{$usergroup['gid']}'"); $db->delete_query("usergroups", "gid='{$usergroup['gid']}'"); $cache->update_groupleaders(); $cache->update_moderators(); $cache->update_usergroups(); $cache->update_forumpermissions(); // Log admin action log_admin_action($usergroup['gid'], $usergroup['title']); flash_message($lang->success_group_deleted, 'success'); admin_redirect("index.php?module=user-groups"); } else { $page->output_confirm_action("index.php?module=user-groups&action=delete&gid={$usergroup['gid']}", $lang->confirm_group_deletion); } } if($mybb->input['action'] == "disporder" && $mybb->request_method == "post") { $plugins->run_hooks("admin_user_groups_disporder"); foreach($mybb->input['disporder'] as $gid=>$order) { $gid = intval($gid); $order = intval($order); if($gid != 0 && $order != 0) { $sql_array = array( 'disporder' => $order, ); $db->update_query('usergroups', $sql_array, "gid = '{$gid}'"); } } // Log admin action log_admin_action(); $plugins->run_hooks("admin_user_groups_disporder_commit"); flash_message($lang->success_group_disporders_updated, 'success'); admin_redirect("index.php?module=user-groups"); } if(!$mybb->input['action']) { $plugins->run_hooks("admin_user_groups_start"); if($mybb->request_method == "post") { if(!empty($mybb->input['disporder'])) { foreach($mybb->input['disporder'] as $gid => $order) { $db->update_query("usergroups", array('disporder' => intval($order)), "gid='".intval($gid)."'"); } $plugins->run_hooks("admin_user_groups_start_commit"); $cache->update_usergroups(); flash_message($lang->success_groups_disporder_updated, 'success'); admin_redirect("index.php?module=user-groups"); } } $page->output_header($lang->manage_user_groups); $page->output_nav_tabs($sub_tabs, 'manage_groups'); $form = new Form("index.php?module=user-groups", "post", "groups"); $query = $db->query(" SELECT g.gid, COUNT(u.uid) AS users FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup) GROUP BY g.gid "); while($groupcount = $db->fetch_array($query)) { $primaryusers[$groupcount['gid']] = $groupcount['users']; } switch($db->type) { case "pgsql": case "sqlite": $query = $db->query(" SELECT g.gid, COUNT(u.uid) AS users FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (','|| u.additionalgroups|| ',' LIKE '%,'|| g.gid|| ',%') WHERE g.gid != '0' AND g.gid is not NULL GROUP BY g.gid "); break; default: $query = $db->query(" SELECT g.gid, COUNT(u.uid) AS users FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (CONCAT(',', u.additionalgroups, ',') LIKE CONCAT('%,', g.gid, ',%')) WHERE g.gid != '0' AND g.gid is not NULL GROUP BY g.gid "); } while($groupcount = $db->fetch_array($query)) { $secondaryusers[$groupcount['gid']] = $groupcount['users']; } $query = $db->query(" SELECT g.gid, COUNT(r.uid) AS users FROM ".TABLE_PREFIX."joinrequests r LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=r.gid) GROUP BY g.gid "); while($joinrequest = $db->fetch_array($query)) { $joinrequests[$joinrequest['gid']] = $joinrequest['users']; } // Fetch group leaders $leaders = array(); $query = $db->query(" SELECT u.username, u.uid, l.gid FROM ".TABLE_PREFIX."groupleaders l INNER JOIN ".TABLE_PREFIX."users u ON (u.uid=l.uid) ORDER BY u.username ASC "); while($leader = $db->fetch_array($query)) { $leaders[$leader['gid']][] = build_profile_link($leader['username'], $leader['uid'], "_blank"); } $form_container = new FormContainer($lang->user_groups); $form_container->output_row_header($lang->group); $form_container->output_row_header($lang->number_of_users, array("class" => "align_center", 'width' => '75')); $form_container->output_row_header($lang->order, array("class" => "align_center", 'width' => '5%')); $form_container->output_row_header($lang->controls, array("class" => "align_center")); $query = $db->simple_select("usergroups", "*", "", array('order_by' => 'disporder')); while($usergroup = $db->fetch_array($query)) { if($usergroup['type'] > 1) { $icon = "\"{$lang-custom_user_group}\" style=\"vertical-align: middle;\" />"; } else { $icon = "\"{$lang-default_user_group}\" style=\"vertical-align: middle;\" />"; } $leaders_list = ''; if(isset($leaders[$usergroup['gid']])) { $leaders_list = "
{$lang->group_leaders}: ".implode(", ", $leaders[$usergroup['gid']]); } $join_requests = ''; if($joinrequests[$usergroup['gid']] > 1) { $join_requests = " ({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})"; } else if($joinrequests[$usergroup['gid']] == 1) { $join_requests = " ({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})"; } $form_container->output_cell("
{$icon}
{$usergroup['title']}{$join_requests}
{$usergroup['description']}{$leaders_list}
"); if(!$primaryusers[$usergroup['gid']]) { $primaryusers[$usergroup['gid']] = 0; } $numusers = $primaryusers[$usergroup['gid']]; $numusers += $secondaryusers[$usergroup['gid']]; $form_container->output_cell(my_number_format($numusers), array("class" => "align_center")); if($usergroup['showforumteam'] == 1) { $form_container->output_cell("", array("class" => "align_center")); } else { $form_container->output_cell(" ", array("class" => "align_center")); } $popup = new PopupMenu("usergroup_{$usergroup['gid']}", $lang->options); $popup->add_item($lang->edit_group, "index.php?module=user-groups&action=edit&gid={$usergroup['gid']}"); $popup->add_item($lang->list_users, "index.php?module=user-users&action=search&results=1&conditions[usergroup]={$usergroup['gid']}"); if($joinrequests[$usergroup['gid']] > 0) { $popup->add_item($lang->join_requests, "index.php?module=user-groups&action=join_requests&gid={$usergroup['gid']}"); } $popup->add_item($lang->group_leaders, "index.php?module=user-groups&action=leaders&gid={$usergroup['gid']}"); if($usergroup['type'] > 1) { $popup->add_item($lang->delete_group, "index.php?module=user-groups&action=delete&gid={$usergroup['gid']}&my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->confirm_group_deletion}')"); } $form_container->output_cell($popup->fetch(), array("class" => "align_center")); $form_container->construct_row(); } if($form_container->num_rows() == 0) { $form_container->output_cell($lang->no_groups, array('colspan' => 4)); $form_container->construct_row(); } $form_container->end(); $buttons = array(); $buttons[] = $form->generate_submit_button($lang->update_groups_order); $form->output_submit_wrapper($buttons); $form->end(); echo <<
{$lang->legend} {$lang->custom_user_group} {$lang->custom_user_group}
{$lang->default_user_group} {$lang->default_user_group}
LEGEND; $page->output_footer(); } ?>