Vergleich admin/modules/user/groups.php - 1.8.4 - 1.8.36

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 28Zeile 28
	"candeleteposts" => 1,
"candeletethreads" => 1,
"caneditattachments" => 1,

	"candeleteposts" => 1,
"candeletethreads" => 1,
"caneditattachments" => 1,

 
	"canviewdeletionnotice" => 1,

	"canpostpolls" => 1,
"canvotepolls" => 1,
"canundovotes" => 0,

	"canpostpolls" => 1,
"canvotepolls" => 1,
"canundovotes" => 0,

Zeile 56Zeile 57
	"canuploadavatars" => 1,
"canratemembers" => 1,
"canchangename" => 0,

	"canuploadavatars" => 1,
"canratemembers" => 1,
"canchangename" => 0,

 
	"canbeinvisible" => 1,

	"canbereported" => 0,
"canchangewebsite" => 1,
"showforumteam" => 0,

	"canbereported" => 0,
"canchangewebsite" => 1,
"showforumteam" => 0,

Zeile 64Zeile 66
	"candeletereputations" => 1,
"reputationpower" => 1,
"maxreputationsday" => 5,

	"candeletereputations" => 1,
"reputationpower" => 1,
"maxreputationsday" => 5,

	"maxreputationsperuser" => 5,
"maxreputationsperthread" => 5,

	"maxreputationsperuser" => 0,
"maxreputationsperthread" => 0,

	"candisplaygroup" => 0,
"attachquota" => 5000,
"cancustomtitle" => 0,

	"candisplaygroup" => 0,
"attachquota" => 5000,
"cancustomtitle" => 0,

Zeile 126Zeile 128
		admin_redirect("index.php?module=user-groups");
}


		admin_redirect("index.php?module=user-groups");
}


	if(!verify_post_check($mybb->input['my_post_key']))

	if(!verify_post_check($mybb->get_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']}");

	{
flash_message($lang->invalid_post_verify_key2, 'error');
admin_redirect("index.php?module=user-groups&action=join_requests&gid={$request['gid']}");

Zeile 157Zeile 159
		admin_redirect("index.php?module=user-groups");
}


		admin_redirect("index.php?module=user-groups");
}


	if(!verify_post_check($mybb->input['my_post_key']))

	if(!verify_post_check($mybb->get_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']}");

	{
flash_message($lang->invalid_post_verify_key2, 'error');
admin_redirect("index.php?module=user-groups&action=join_requests&gid={$request['gid']}");

Zeile 199Zeile 201
				join_usergroup($uid, $group['gid']);
}
// Log admin action

				join_usergroup($uid, $group['gid']);
}
// Log admin action

			log_admin_action("approve", htmlspecialchars_uni($group['title']), $group['gid']);

			log_admin_action("approve", $group['title'], $group['gid']);

			$message = $lang->success_selected_requests_approved;
}
else
{
// Log admin action

			$message = $lang->success_selected_requests_approved;
}
else
{
// Log admin action

			log_admin_action("deny", htmlspecialchars_uni($group['title']), $group['gid']);

			log_admin_action("deny", $group['title'], $group['gid']);

			$message = $lang->success_selected_requests_denied;
}


			$message = $lang->success_selected_requests_denied;
}


Zeile 236Zeile 238
	$num_requests = $db->fetch_field($query, "num_requests");

$per_page = 20;

	$num_requests = $db->fetch_field($query, "num_requests");

$per_page = 20;


if($mybb->input['page'] > 0)

	$pagenum = $mybb->get_input('page', MyBB::INPUT_INT);
if($pagenum)

	{

	{

		$current_page = $mybb->get_input('page', MyBB::INPUT_INT);
$start = ($current_page-1)*$per_page;
$pages = $num_requests / $per_page;
$pages = ceil($pages);
if($current_page > $pages)

		$start = ($pagenum - 1) * $per_page;
$pages = ceil($num_requests / $per_page);
if($pagenum > $pages)



		{
$start = 0;

		{
$start = 0;

			$current_page = 1;

			$pagenum = 1;

		}
}
else
{
$start = 0;

		}
}
else
{
$start = 0;

		$current_page = 1;

		$pagenum = 1;

	}

// Do we need to construct the pagination?
$pagination = '';
if($num_requests > $per_page)
{

	}

// 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']}");

		$pagination = draw_admin_pagination($pagenum, $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;

		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($form->generate_check_box("allbox", 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->users);
$table->construct_header($lang->reason);
$table->construct_header($lang->date_requested, array("class" => 'align_center', "width" => 200));

Zeile 283Zeile 283
	while($request = $db->fetch_array($query))
{
$table->construct_cell($form->generate_check_box("users[]", $request['uid'], ""));

	while($request = $db->fetch_array($query))
{
$table->construct_cell($form->generate_check_box("users[]", $request['uid'], ""));

		$table->construct_cell("<strong>".build_profile_link($request['username'], $request['uid'], "_blank")."</strong>");

		$table->construct_cell("<strong>".build_profile_link(htmlspecialchars_uni($request['username']), $request['uid'], "_blank")."</strong>");

		$table->construct_cell(htmlspecialchars_uni($request['reason']));
$table->construct_cell(my_date('relative', $request['dateline']), array('class' => 'align_center'));


		$table->construct_cell(htmlspecialchars_uni($request['reason']));
$table->construct_cell(my_date('relative', $request['dateline']), array('class' => 'align_center'));


Zeile 320Zeile 320
	{
flash_message($lang->error_invalid_user_group, 'error');
admin_redirect("index.php?module=user-group");

	{
flash_message($lang->error_invalid_user_group, 'error');
admin_redirect("index.php?module=user-group");

	}

$plugins->run_hooks("admin_user_groups_add_leader");


	}

$plugins->run_hooks("admin_user_groups_add_leader");


	$user = get_user_by_username($mybb->input['username'], array('fields' => 'username'));

	$user = get_user_by_username($mybb->input['username'], array('fields' => 'username'));

	if(!$user['uid'])
{

	if(empty($user['uid']))
{

		$errors[] = $lang->error_invalid_username;
}
else

		$errors[] = $lang->error_invalid_username;
}
else

Zeile 337Zeile 337
		if($existing_leader)
{
$errors[] = $lang->error_already_leader;

		if($existing_leader)
{
$errors[] = $lang->error_already_leader;

		}

		}

	}

	}





	// No errors, insert
if(!$errors)
{

	// No errors, insert
if(!$errors)
{

Zeile 350Zeile 350
			"canmanagerequests" => $mybb->get_input('canmanagerequests', MyBB::INPUT_INT),
"caninvitemembers" => $mybb->get_input('caninvitemembers', MyBB::INPUT_INT)
);

			"canmanagerequests" => $mybb->get_input('canmanagerequests', MyBB::INPUT_INT),
"caninvitemembers" => $mybb->get_input('caninvitemembers', MyBB::INPUT_INT)
);

 

$makeleadermember = $mybb->get_input('makeleadermember', MyBB::INPUT_INT);
if($makeleadermember == 1)
{
join_usergroup($user['uid'], $group['gid']);
}


$plugins->run_hooks("admin_user_groups_add_leader_commit");



$plugins->run_hooks("admin_user_groups_add_leader_commit");


Zeile 358Zeile 364
		$cache->update_groupleaders();

// Log admin action

		$cache->update_groupleaders();

// Log admin action

		log_admin_action($user['uid'], $mybb->input['username'], $group['gid'], htmlspecialchars_uni($group['title']));

		log_admin_action($user['uid'], $user['username'], $group['gid'], $group['title']);





		flash_message("{$user['username']} ".$lang->success_user_made_leader, 'success');


		$username = htmlspecialchars_uni($user['username']);
flash_message("{$username} ".$lang->success_user_made_leader, 'success');

		admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}");
}
else

		admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}");
}
else

Zeile 468Zeile 475
		$mybb->input = array_merge($mybb->input, array(
"canmanagemembers" => 1,
"canmanagerequests" => 1,

		$mybb->input = array_merge($mybb->input, array(
"canmanagemembers" => 1,
"canmanagerequests" => 1,

				"caninvitemembers" => 1


				"caninvitemembers" => 1,
"makeleadermember" => 0

			)
);
}

$form_container = new FormContainer($lang->add_group_leader.' '.htmlspecialchars_uni($group['title']));

			)
);
}

$form_container = new FormContainer($lang->add_group_leader.' '.htmlspecialchars_uni($group['title']));

	$form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', $mybb->input['username'], array('id' => 'username')), 'username');

	$form_container->output_row($lang->username." <em>*</em>", "", $form->generate_text_box('username', htmlspecialchars_uni($mybb->get_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']));
$form_container->output_row($lang->can_invite_group_members, $lang->can_invite_group_members_desc, $form->generate_yes_no_radio('caninvitemembers', $mybb->input['caninvitemembers']));

	$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']));
$form_container->output_row($lang->can_invite_group_members, $lang->can_invite_group_members_desc, $form->generate_yes_no_radio('caninvitemembers', $mybb->input['caninvitemembers']));

	$buttons[] = $form->generate_submit_button($lang->save_group_leader);


	$form_container->output_row($lang->make_user_member, $lang->make_user_member_desc, $form->generate_yes_no_radio('makeleadermember', $mybb->input['makeleadermember']));


	$form_container->end();

	$form_container->end();

 

// Autocompletion for usernames
echo '
<link rel="stylesheet" href="../jscripts/select2/select2.css">
<script type="text/javascript" src="../jscripts/select2/select2.min.js?ver=1804"></script>
<script type="text/javascript">
<!--
$("#username").select2({
placeholder: "'.$lang->search_for_a_user.'",
minimumInputLength: 2,
multiple: false,
ajax: { // instead of writing the function to execute the request we use Select2\'s convenient helper
url: "../xmlhttp.php?action=get_users",
dataType: \'json\',
data: function (term, page) {
return {
query: term // search term
};
},
results: function (data, page) { // parse the results into the format expected by Select2.
// since we are using custom formatting functions we do not need to alter remote JSON data
return {results: data};
}
},
initSelection: function(element, callback) {
var query = $(element).val();
if (query !== "") {
$.ajax("../xmlhttp.php?action=get_users&getone=1", {
data: {
query: query
},
dataType: "json"
}).done(function(data) { callback(data); });
}
}
});
// -->
</script>';

$buttons[] = $form->generate_submit_button($lang->save_group_leader);

	$form->output_submit_wrapper($buttons);
$form->end();


	$form->output_submit_wrapper($buttons);
$form->end();


Zeile 506Zeile 553
	$group = $db->fetch_array($query);

// User clicked no

	$group = $db->fetch_array($query);

// User clicked no

	if($mybb->input['no'])

	if($mybb->get_input('no'))

	{
admin_redirect("index.php?module=user-groups");
}

	{
admin_redirect("index.php?module=user-groups");
}

Zeile 525Zeile 572
		$cache->update_groupleaders();

// Log admin action

		$cache->update_groupleaders();

// Log admin action

		log_admin_action($leader['lid'], $leader['username'], $group['gid'], htmlspecialchars_uni($group['title']));

		log_admin_action($leader['uid'], $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']}");


flash_message($lang->success_group_leader_deleted, 'success');
admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}");

Zeile 572Zeile 619
		$cache->update_groupleaders();

// Log admin action

		$cache->update_groupleaders();

// Log admin action

		log_admin_action($leader['lid'], $leader['username'], $group['gid'], htmlspecialchars_uni($group['title']));

		log_admin_action($leader['uid'], $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']}");


flash_message($lang->success_group_leader_updated, 'success');
admin_redirect("index.php?module=user-groups&action=leaders&gid={$group['gid']}");

Zeile 584Zeile 631
	}

$page->add_breadcrumb_item($lang->group_leaders_for.' '.htmlspecialchars_uni($group['title']), "index.php?module=user-groups&action=leaders&gid={$group['gid']}");

	}

$page->add_breadcrumb_item($lang->group_leaders_for.' '.htmlspecialchars_uni($group['title']), "index.php?module=user-groups&action=leaders&gid={$group['gid']}");

 
	$leader['username'] = htmlspecialchars_uni($leader['username']);

	$page->add_breadcrumb_item($lang->edit_leader." {$leader['username']}");

$page->output_header($lang->edit_group_leader);

	$page->add_breadcrumb_item($lang->edit_leader." {$leader['username']}");

$page->output_header($lang->edit_group_leader);

Zeile 632Zeile 680

if(!$errors)
{


if(!$errors)
{

			if($mybb->input['stars'] < 1)

			if($mybb->get_input('stars') < 1)

			{
$mybb->input['stars'] = 0;
}


			{
$mybb->input['stars'] = 0;
}


			if(!$mybb->input['starimage'])

			if(!$mybb->get_input('starimage'))

			{
$mybb->input['starimage'] = "images/star.png";
}

			{
$mybb->input['starimage'] = "images/star.png";
}

Zeile 692Zeile 740
			$cache->update_forumpermissions();

// Log admin action

			$cache->update_forumpermissions();

// Log admin action

			log_admin_action($gid, htmlspecialchars_uni($mybb->input['title']));

			log_admin_action($gid, $mybb->input['title']);





			flash_message($lang->success_group_created, 'success');










			$groups = $cache->read('usergroups');
$grouptitles = array_column($groups, 'title');

$message = $lang->success_group_created;
if(in_array($mybb->input['title'], $grouptitles) && count(array_keys($grouptitles, $mybb->input['title'])) > 1)
{
$message = $lang->sprintf($lang->success_group_created_duplicate_title, htmlspecialchars_uni($mybb->input['title']));
}

flash_message($message, 'success');

			admin_redirect("index.php?module=user-groups&action=edit&gid={$gid}");
}
}

			admin_redirect("index.php?module=user-groups&action=edit&gid={$gid}");
}
}

Zeile 708Zeile 765
	if($errors)
{
$page->output_inline_error($errors);

	if($errors)
{
$page->output_inline_error($errors);

	}

	}

	else
{
$mybb->input = array_merge($mybb->input, array(
"namestyle" => "{username}"
)
);

	else
{
$mybb->input = array_merge($mybb->input, array(
"namestyle" => "{username}"
)
);

	}


	}


	$form_container = new FormContainer($lang->add_user_group);

	$form_container = new FormContainer($lang->add_user_group);

	$form_container->output_row($lang->title." <em>*</em>", "", $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');

	$form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->get_input('title'), array('id' => 'title')), 'title');
$form_container->output_row($lang->short_description, "", $form->generate_text_box('description', $mybb->get_input('description'), array('id' => 'description')), 'description');
$form_container->output_row($lang->username_style, $lang->username_style_desc, $form->generate_text_box('namestyle', $mybb->get_input('namestyle'), array('id' => 'namestyle')), 'namestyle');
$form_container->output_row($lang->user_title, $lang->user_title_desc, $form->generate_text_box('usertitle', $mybb->get_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']] = htmlspecialchars_uni($usergroup['title']);


$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']] = htmlspecialchars_uni($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->output_row($lang->copy_permissions_from, $lang->copy_permissions_from_desc, $form->generate_select_box('copyfrom', $options, $mybb->get_input('copyfrom'), array('id' => 'copyfrom')), 'copyfrom');


	$form_container->end();
$buttons[] = $form->generate_submit_button($lang->save_user_group);
$form->output_submit_wrapper($buttons);

	$form_container->end();
$buttons[] = $form->generate_submit_button($lang->save_user_group);
$form->output_submit_wrapper($buttons);

Zeile 751Zeile 808
	}
else
{

	}
else
{

		if(preg_match("#<((m[^a])|(b[^diloru>])|(s[^aemptu>]))(\s*[^>]*)>#si", $mybb->input['namestyle']))

		if(preg_match("#<((m[^a])|(b[^diloru>])|(s[^aemptu >]))(\s*[^>]*)>#si", $mybb->get_input('namestyle')))

		{
$errors[] = $lang->error_disallowed_namestyle_username;
$mybb->input['namestyle'] = $usergroup['namestyle'];
}
}

		{
$errors[] = $lang->error_disallowed_namestyle_username;
$mybb->input['namestyle'] = $usergroup['namestyle'];
}
}





	$plugins->run_hooks("admin_user_groups_edit");

	$plugins->run_hooks("admin_user_groups_edit");





	if($mybb->request_method == "post")
{

	if($mybb->request_method == "post")
{

		if(!trim($mybb->input['title']))

		if(!trim($mybb->get_input('title')))

		{
$errors[] = $lang->error_missing_title;
}


		{
$errors[] = $lang->error_missing_title;
}


		if(my_strpos($mybb->input['namestyle'], "{username}") === false)

		if(my_strpos($mybb->get_input('namestyle'), "{username}") === false)

		{
$errors[] = $lang->error_missing_namestyle_username;
}


		{
$errors[] = $lang->error_missing_namestyle_username;
}


		if($mybb->input['moderate'] == 1 && $mybb->input['invite'] == 1)

		if($mybb->get_input('moderate') == 1 && $mybb->get_input('invite') == 1)

		{
$errors[] = $lang->error_cannot_have_both_types;
}

if(!$errors)
{

		{
$errors[] = $lang->error_cannot_have_both_types;
}

if(!$errors)
{

			if($mybb->input['joinable'] == 1)

			if($mybb->get_input('joinable') == 1)

			{

			{

				if($mybb->input['moderate'] == 1)

				if($mybb->get_input('moderate') == 1)

				{
$mybb->input['type'] = "4";
}

				{
$mybb->input['type'] = "4";
}

				elseif($mybb->input['invite'] == 1)

				elseif($mybb->get_input('invite') == 1)

				{
$mybb->input['type'] = "5";
}

				{
$mybb->input['type'] = "5";
}

Zeile 804Zeile 861
				$mybb->input['type'] = 1;
}


				$mybb->input['type'] = 1;
}


			if($mybb->input['stars'] < 1)

			if($mybb->get_input('stars') < 1)

			{
$mybb->input['stars'] = 0;
}

			{
$mybb->input['stars'] = 0;
}

Zeile 836Zeile 893
				"candeleteposts" => $mybb->get_input('candeleteposts', MyBB::INPUT_INT),
"candeletethreads" => $mybb->get_input('candeletethreads', MyBB::INPUT_INT),
"caneditattachments" => $mybb->get_input('caneditattachments', MyBB::INPUT_INT),

				"candeleteposts" => $mybb->get_input('candeleteposts', MyBB::INPUT_INT),
"candeletethreads" => $mybb->get_input('candeletethreads', MyBB::INPUT_INT),
"caneditattachments" => $mybb->get_input('caneditattachments', MyBB::INPUT_INT),

 
				"canviewdeletionnotice" => $mybb->get_input('canviewdeletionnotice', MyBB::INPUT_INT),

				"canpostpolls" => $mybb->get_input('canpostpolls', MyBB::INPUT_INT),
"canvotepolls" => $mybb->get_input('canvotepolls', MyBB::INPUT_INT),
"canundovotes" => $mybb->get_input('canundovotes', MyBB::INPUT_INT),

				"canpostpolls" => $mybb->get_input('canpostpolls', MyBB::INPUT_INT),
"canvotepolls" => $mybb->get_input('canvotepolls', MyBB::INPUT_INT),
"canundovotes" => $mybb->get_input('canundovotes', MyBB::INPUT_INT),

Zeile 864Zeile 922
				"canuploadavatars" => $mybb->get_input('canuploadavatars', MyBB::INPUT_INT),
"canchangename" => $mybb->get_input('canchangename', MyBB::INPUT_INT),
"canbereported" => $mybb->get_input('canbereported', MyBB::INPUT_INT),

				"canuploadavatars" => $mybb->get_input('canuploadavatars', MyBB::INPUT_INT),
"canchangename" => $mybb->get_input('canchangename', MyBB::INPUT_INT),
"canbereported" => $mybb->get_input('canbereported', MyBB::INPUT_INT),

 
				"canbeinvisible" => $mybb->get_input('canbeinvisible', MyBB::INPUT_INT),

				"canchangewebsite" => $mybb->get_input('canchangewebsite', MyBB::INPUT_INT),
"showforumteam" => $mybb->get_input('showforumteam', MyBB::INPUT_INT),
"usereputationsystem" => $mybb->get_input('usereputationsystem', MyBB::INPUT_INT),

				"canchangewebsite" => $mybb->get_input('canchangewebsite', MyBB::INPUT_INT),
"showforumteam" => $mybb->get_input('showforumteam', MyBB::INPUT_INT),
"usereputationsystem" => $mybb->get_input('usereputationsystem', MyBB::INPUT_INT),

Zeile 912Zeile 971
			$cache->update_forumpermissions();

// Log admin action

			$cache->update_forumpermissions();

// Log admin action

			log_admin_action($usergroup['gid'], htmlspecialchars_uni($mybb->input['title']));

			log_admin_action($usergroup['gid'], $mybb->input['title']);





			flash_message($lang->success_group_updated, 'success');










			$groups = $cache->read('usergroups');
$grouptitles = array_column($groups, 'title');

$message = $lang->success_group_updated;
if(in_array($mybb->input['title'], $grouptitles) && count(array_keys($grouptitles, $mybb->input['title'])) > 1)
{
$message = $lang->sprintf($lang->success_group_updated_duplicate_title, htmlspecialchars_uni($mybb->input['title']));
}

flash_message($message, 'success');

			admin_redirect("index.php?module=user-groups");
}
}

			admin_redirect("index.php?module=user-groups");
}
}

Zeile 926Zeile 994
	$sub_tabs['edit_group'] = array(
'title' => $lang->edit_user_group,
'description' => $lang->edit_user_group_desc

	$sub_tabs['edit_group'] = array(
'title' => $lang->edit_user_group,
'description' => $lang->edit_user_group_desc

	);

$form = new Form("index.php?module=user-groups&amp;action=edit&amp;gid={$usergroup['gid']}", "post");


	);

$form = new Form("index.php?module=user-groups&amp;action=edit&amp;gid={$usergroup['gid']}", "post");


	$page->output_nav_tabs($sub_tabs, 'edit_group');

// If we have any error messages, show them

	$page->output_nav_tabs($sub_tabs, 'edit_group');

// If we have any error messages, show them

Zeile 940Zeile 1008
	else
{
if($usergroup['type'] == "3")

	else
{
if($usergroup['type'] == "3")

		{
$usergroup['joinable'] = 1;
$usergroup['moderate'] = 0;
$usergroup['invite'] = 0;
}

		{
$usergroup['joinable'] = 1;
$usergroup['moderate'] = 0;
$usergroup['invite'] = 0;
}

		elseif($usergroup['type'] == "4")
{
$usergroup['joinable'] = 1;

		elseif($usergroup['type'] == "4")
{
$usergroup['joinable'] = 1;

Zeile 952Zeile 1020
			$usergroup['invite'] = 0;
}
elseif($usergroup['type'] == "5")

			$usergroup['invite'] = 0;
}
elseif($usergroup['type'] == "5")

		{

		{

			$usergroup['joinable'] = 1;
$usergroup['moderate'] = 0;
$usergroup['invite'] = 1;

			$usergroup['joinable'] = 1;
$usergroup['moderate'] = 0;
$usergroup['invite'] = 1;

Zeile 975Zeile 1043
	$tabs = $plugins->run_hooks("admin_user_groups_edit_graph_tabs", $tabs);
$page->output_tab_control($tabs);


	$tabs = $plugins->run_hooks("admin_user_groups_edit_graph_tabs", $tabs);
$page->output_tab_control($tabs);


	echo "<div id=\"tab_general\">";













	echo "<div id=\"tab_general\">
<script type=\"text/javascript\">
$(function(){
$('input[name=\"moderate\"]').parents(\".group_settings_bit\").addClass(\"joinable_dependent\");
$('input[name=\"invite\"]').parents(\".group_settings_bit\").addClass(\"joinable_dependent\");
if($('input[name=\"joinable\"]').prop(\"checked\") == false){
$(\".joinable_dependent\").hide();
}
$('input[name=\"joinable\"]').on('change', function() {
$(\".joinable_dependent\").slideToggle();
})
});
</script>";

	$form_container = new FormContainer($lang->general);
$form_container->output_row($lang->title." <em>*</em>", "", $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 = new FormContainer($lang->general);
$form_container->output_row($lang->title." <em>*</em>", "", $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');

Zeile 1064Zeile 1144
	);
$form_container->output_row($lang->attachment_options, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $attachment_options)."</div>");


	);
$form_container->output_row($lang->attachment_options, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $attachment_options)."</div>");


	$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'])),
"{$lang->edit_time_limit}<br /><small class=\"input\">{$lang->edit_time_limit_desc}</small><br />".$form->generate_numeric_field('edittimelimit', $mybb->input['edittimelimit'], array('id' => 'edittimelimit', 'class' => 'field50', 'min' => 0))
);
$form_container->output_row($lang->editing_deleting_options, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $editing_options)."</div>");

$form_container->end();
echo "</div>";







	// Remove these options if the group being editied is Guest (GID=1)
if($usergroup['gid'] != 1)
{
$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->generate_check_box("canviewdeletionnotice", 1, $lang->can_view_deletion_notices, array("checked" => $mybb->input['canviewdeletionnotice'])),
"{$lang->edit_time_limit}<br /><small class=\"input\">{$lang->edit_time_limit_desc}</small><br />".$form->generate_numeric_field('edittimelimit', $mybb->input['edittimelimit'], array('id' => 'edittimelimit', 'class' => 'field50', 'min' => 0))
);
$form_container->output_row($lang->editing_deleting_options, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $editing_options)."</div>");
}

$form_container->end();
echo "</div>";


	//
// USERS AND PERMISSIONS
//

	//
// USERS AND PERMISSIONS
//

Zeile 1084Zeile 1169

$account_options = array(
$form->generate_check_box("canbereported", 1, $lang->can_be_reported, array("checked" => $mybb->input['canbereported'])),


$account_options = array(
$form->generate_check_box("canbereported", 1, $lang->can_be_reported, array("checked" => $mybb->input['canbereported'])),

 
		$form->generate_check_box("canbeinvisible", 1, $lang->can_be_invisible, array("checked" => $mybb->input['canbeinvisible'])),

		$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("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'])),

Zeile 1101Zeile 1187
		$form->generate_check_box("candeletereputations", 1, $lang->can_delete_own_reputation, array("checked" => $mybb->input['candeletereputations'])),
"{$lang->points_to_award_take}<br /><small class=\"input\">{$lang->points_to_award_take_desc}</small><br />".$form->generate_numeric_field('reputationpower', $mybb->input['reputationpower'], array('id' => 'reputationpower', 'class' => 'field50', 'min' => 0)),
"{$lang->max_reputations_perthread}<br /><small class=\"input\">{$lang->max_reputations_perthread_desc}</small><br />".$form->generate_numeric_field('maxreputationsperthread', $mybb->input['maxreputationsperthread'], array('id' => 'maxreputationsperthread', 'class' => 'field50', 'min' => 0)),

		$form->generate_check_box("candeletereputations", 1, $lang->can_delete_own_reputation, array("checked" => $mybb->input['candeletereputations'])),
"{$lang->points_to_award_take}<br /><small class=\"input\">{$lang->points_to_award_take_desc}</small><br />".$form->generate_numeric_field('reputationpower', $mybb->input['reputationpower'], array('id' => 'reputationpower', 'class' => 'field50', 'min' => 0)),
"{$lang->max_reputations_perthread}<br /><small class=\"input\">{$lang->max_reputations_perthread_desc}</small><br />".$form->generate_numeric_field('maxreputationsperthread', $mybb->input['maxreputationsperthread'], array('id' => 'maxreputationsperthread', 'class' => 'field50', 'min' => 0)),

 
		"{$lang->max_reputations_peruser}<br /><small class=\"input\">{$lang->max_reputations_peruser_desc}</small><br />".$form->generate_numeric_field('maxreputationsperuser', $mybb->input['maxreputationsperuser'], array('id' => 'maxreputationsperuser', 'class' => 'field50', 'min' => 0)),

		"{$lang->max_reputations_daily}<br /><small class=\"input\">{$lang->max_reputations_daily_desc}</small><br />".$form->generate_numeric_field('maxreputationsday', $mybb->input['maxreputationsday'], array('id' => 'maxreputationsday', 'class' => 'field50', 'min' => 0))

		"{$lang->max_reputations_daily}<br /><small class=\"input\">{$lang->max_reputations_daily_desc}</small><br />".$form->generate_numeric_field('maxreputationsday', $mybb->input['maxreputationsday'], array('id' => 'maxreputationsday', 'class' => 'field50', 'min' => 0))

	);

	);

	$form_container->output_row($lang->reputation_system, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $reputation_options)."</div>");

$warning_options = array(

	$form_container->output_row($lang->reputation_system, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $reputation_options)."</div>");

$warning_options = array(

Zeile 1123Zeile 1210
	);
$form_container->output_row($lang->private_messaging, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $pm_options)."</div>");


	);
$form_container->output_row($lang->private_messaging, "", "<div class=\"group_settings_bit\">".implode("</div><div class=\"group_settings_bit\">", $pm_options)."</div>");


	$form_container->end();
echo "</div>";


	$form_container->end();
echo "</div>";


	//
// MISC
//

	//
// MISC
//

Zeile 1211Zeile 1298
	}

// User clicked no

	}

// User clicked no

	if($mybb->input['no'])
{
admin_redirect("index.php?module=user-groups");
}


	if($mybb->get_input('no'))
{
admin_redirect("index.php?module=user-groups");
}


	$plugins->run_hooks("admin_user_groups_delete");

	$plugins->run_hooks("admin_user_groups_delete");





	if($mybb->request_method == "post")
{

	if($mybb->request_method == "post")
{

		// Move any users back to the registered group
$updated_users = array("usergroup" => 2);










		if($usergroup['isbannedgroup'] == 1)
{
// If banned group, move users to default banned group
$updated_users = array("usergroup" => 7);
}
else
{
// 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");

		$db->update_query("users", $updated_users, "usergroup='{$usergroup['gid']}'");

$updated_users = array("displaygroup" => "usergroup");

Zeile 1243Zeile 1339
			leave_usergroup($user['uid'], $usergroup['gid']);
}


			leave_usergroup($user['uid'], $usergroup['gid']);
}


 
		$db->update_query("banned", array("gid" => 7), "gid='{$usergroup['gid']}'");
$db->update_query("banned", array("oldgroup" => 2), "oldgroup='{$usergroup['gid']}'");
$db->update_query("banned", array("olddisplaygroup" => "oldgroup"), "olddisplaygroup='{$usergroup['gid']}'", "", true); // No quotes = displaygroup=usergroup

$db->delete_query("forumpermissions", "gid='{$usergroup['gid']}'");
$db->delete_query("calendarpermissions", "gid='{$usergroup['gid']}'");
$db->delete_query("joinrequests", "gid='{$usergroup['gid']}'");
$db->delete_query("moderators", "id='{$usergroup['gid']}' AND isgroup='1'");

		$db->delete_query("groupleaders", "gid='{$usergroup['gid']}'");
$db->delete_query("usergroups", "gid='{$usergroup['gid']}'");

		$db->delete_query("groupleaders", "gid='{$usergroup['gid']}'");
$db->delete_query("usergroups", "gid='{$usergroup['gid']}'");





		$plugins->run_hooks("admin_user_groups_delete_commit_end");

$cache->update_groupleaders();
$cache->update_moderators();
$cache->update_usergroups();
$cache->update_forumpermissions();

		$plugins->run_hooks("admin_user_groups_delete_commit_end");

$cache->update_groupleaders();
$cache->update_moderators();
$cache->update_usergroups();
$cache->update_forumpermissions();





		// Log admin action

		// Log admin action

		log_admin_action($usergroup['gid'], htmlspecialchars_uni($usergroup['title']));

		log_admin_action($usergroup['gid'], $usergroup['title']);


flash_message($lang->success_group_deleted, 'success');
admin_redirect("index.php?module=user-groups");


flash_message($lang->success_group_deleted, 'success');
admin_redirect("index.php?module=user-groups");

	}

	}

	else
{
$page->output_confirm_action("index.php?module=user-groups&amp;action=delete&amp;gid={$usergroup['gid']}", $lang->confirm_group_deletion);
}
}

	else
{
$page->output_confirm_action("index.php?module=user-groups&amp;action=delete&amp;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)

if($mybb->input['action'] == "disporder" && $mybb->request_method == "post")
{
$plugins->run_hooks("admin_user_groups_disporder");

foreach($mybb->input['disporder'] as $gid=>$order)

	{

	{

		$gid = (int)$gid;
$order = (int)$order;
if($gid != 0 && $order != 0)

		$gid = (int)$gid;
$order = (int)$order;
if($gid != 0 && $order != 0)

Zeile 1317Zeile 1421
	$page->output_nav_tabs($sub_tabs, 'manage_groups');

$form = new Form("index.php?module=user-groups", "post", "groups");

	$page->output_nav_tabs($sub_tabs, 'manage_groups');

$form = new Form("index.php?module=user-groups", "post", "groups");

 

$primaryusers = $secondaryusers = array();


$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)


$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
");

		GROUP BY g.gid
");

	while($groupcount = $db->fetch_array($query))
{
$primaryusers[$groupcount['gid']] = $groupcount['users'];

	while($groupcount = $db->fetch_array($query))
{
$primaryusers[$groupcount['gid']] = $groupcount['users'];

Zeile 1358Zeile 1464
		FROM ".TABLE_PREFIX."joinrequests r
LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=r.gid)
GROUP BY g.gid

		FROM ".TABLE_PREFIX."joinrequests r
LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=r.gid)
GROUP BY g.gid

	");


	");


	$joinrequests = array();
while($joinrequest = $db->fetch_array($query))
{

	$joinrequests = array();
while($joinrequest = $db->fetch_array($query))
{

Zeile 1376Zeile 1482
	");
while($leader = $db->fetch_array($query))
{

	");
while($leader = $db->fetch_array($query))
{

		$leaders[$leader['gid']][] = build_profile_link($leader['username'], $leader['uid'], "_blank");

		$leaders[$leader['gid']][] = build_profile_link(htmlspecialchars_uni($leader['username']), $leader['uid'], "_blank");

	}

$form_container = new FormContainer($lang->user_groups);

	}

$form_container = new FormContainer($lang->user_groups);

Zeile 1395Zeile 1501
		else
{
$icon = "<img src=\"styles/default/images/icons/default.png\" alt=\"{$lang->default_user_group}\" style=\"vertical-align: middle;\" />";

		else
{
$icon = "<img src=\"styles/default/images/icons/default.png\" alt=\"{$lang->default_user_group}\" style=\"vertical-align: middle;\" />";

		}

		}


$leaders_list = '';
if(isset($leaders[$usergroup['gid']]))


$leaders_list = '';
if(isset($leaders[$usergroup['gid']]))

		{
$leaders_list = "<br />{$lang->group_leaders}: ".implode(", ", $leaders[$usergroup['gid']]);
}

		{
$leaders_list = "<br />{$lang->group_leaders}: ".implode($lang->comma, $leaders[$usergroup['gid']]);
}


$join_requests = '';


$join_requests = '';

		if($joinrequests[$usergroup['gid']] > 1 && $usergroup['type'] == 4)
{
$join_requests = " <small><a href=\"index.php?module=user-groups&amp;action=join_requests&amp;gid={$usergroup['gid']}\"><span style=\"color: red;\">({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})</span></a></small>";
}
else if($joinrequests[$usergroup['gid']] == 1 && $usergroup['type'] == 4)
{

		if(isset($joinrequests[$usergroup['gid']]) && $joinrequests[$usergroup['gid']] > 1 && $usergroup['type'] == 4)
{
$join_requests = " <small><a href=\"index.php?module=user-groups&amp;action=join_requests&amp;gid={$usergroup['gid']}\"><span style=\"color: red;\">({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})</span></a></small>";
}
else if(isset($joinrequests[$usergroup['gid']]) && $joinrequests[$usergroup['gid']] == 1 && $usergroup['type'] == 4)
{

			$join_requests = " <small><a href=\"index.php?module=user-groups&amp;action=join_requests&amp;gid={$usergroup['gid']}\"><span style=\"color: red;\">({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})</span></a></small>";
}

			$join_requests = " <small><a href=\"index.php?module=user-groups&amp;action=join_requests&amp;gid={$usergroup['gid']}\"><span style=\"color: red;\">({$joinrequests[$usergroup['gid']]} {$lang->outstanding_join_request})</span></a></small>";
}


$form_container->output_cell("<div class=\"float_right\">{$icon}</div><div><strong><a href=\"index.php?module=user-groups&amp;action=edit&amp;gid={$usergroup['gid']}\">".htmlspecialchars_uni($usergroup['title'])."</a></strong>{$join_requests}<br /><small>".htmlspecialchars_uni($usergroup['description'])."{$leaders_list}</small></div>");

if(!$primaryusers[$usergroup['gid']])
{


$form_container->output_cell("<div class=\"float_right\">{$icon}</div><div><strong><a href=\"index.php?module=user-groups&amp;action=edit&amp;gid={$usergroup['gid']}\">".format_name(htmlspecialchars_uni($usergroup['title']), $usergroup['gid'])."</a></strong>{$join_requests}<br /><small>".htmlspecialchars_uni($usergroup['description'])."{$leaders_list}</small></div>");

if(!isset($primaryusers[$usergroup['gid']]))
{

			$primaryusers[$usergroup['gid']] = 0;

			$primaryusers[$usergroup['gid']] = 0;

 
		}
if(!isset($secondaryusers[$usergroup['gid']]))
{
$secondaryusers[$usergroup['gid']] = 0;

		}
$numusers = $primaryusers[$usergroup['gid']];
$numusers += $secondaryusers[$usergroup['gid']];

		}
$numusers = $primaryusers[$usergroup['gid']];
$numusers += $secondaryusers[$usergroup['gid']];

Zeile 1426Zeile 1536

if($usergroup['showforumteam'] == 1)
{


if($usergroup['showforumteam'] == 1)
{

			$form_container->output_cell("<input type=\"text\" name=\"disporder[{$usergroup['gid']}]\" value=\"{$usergroup['disporder']}\" class=\"text_input align_center\" style=\"width: 80%;\" />", array("class" => "align_center"));

			$form_container->output_cell($form->generate_numeric_field("disporder[{$usergroup['gid']}]", "{$usergroup['disporder']}", array('class' => 'align_center', 'style' => 'width:80%')), array("class" => "align_center"));

		}
else
{

		}
else
{

Zeile 1436Zeile 1546
		$popup = new PopupMenu("usergroup_{$usergroup['gid']}", $lang->options);
$popup->add_item($lang->edit_group, "index.php?module=user-groups&amp;action=edit&amp;gid={$usergroup['gid']}");
$popup->add_item($lang->list_users, "index.php?module=user-users&amp;action=search&amp;results=1&amp;conditions[usergroup]={$usergroup['gid']}");

		$popup = new PopupMenu("usergroup_{$usergroup['gid']}", $lang->options);
$popup->add_item($lang->edit_group, "index.php?module=user-groups&amp;action=edit&amp;gid={$usergroup['gid']}");
$popup->add_item($lang->list_users, "index.php?module=user-users&amp;action=search&amp;results=1&amp;conditions[usergroup]={$usergroup['gid']}");

		if($joinrequests[$usergroup['gid']] > 0 && $usergroup['type'] == 4)

		if(isset($joinrequests[$usergroup['gid']]) && $joinrequests[$usergroup['gid']] > 0 && $usergroup['type'] == 4)

		{
$popup->add_item($lang->join_requests, "index.php?module=user-groups&amp;action=join_requests&amp;gid={$usergroup['gid']}");
}

		{
$popup->add_item($lang->join_requests, "index.php?module=user-groups&amp;action=join_requests&amp;gid={$usergroup['gid']}");
}