MyBB Community Forums

Full Version: problem locking page to usergroups
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am using the Page Manager plugin to create a banned users page.
I was able to get it working just fine. Now I only want to allow Admins, Mods, and Super-Mods to view the page. I added some validation code and now I keep getting the "You do not have permission to access this page..." error. I am logged in as an Admin. I see no problems with the code...

Here is my code:
<?php

global $headerinclude, $header, $theme, $footer, $lang;

if($mybb->user['usergroup'] != "4" || $mybb->user['usergroup'] != "3" || $mybb->user['usergroup'] != "6")
{
error_no_permission();
} 


$lang->load('modcp');

$bannedquery = $db->simple_select("banned", "uid, admin, reason, dateline, lifted", "", array("order_by" => 'dateline', "order_dir" => 'DESC'));

if ($db->num_rows($bannedquery) > 0)
{
	$bannedtablerows = "";
	while ($ban = $db->fetch_array($bannedquery))
	{
		$banneduser = get_user($ban['uid']);
		$banby = get_user($ban['admin']);

		if ($ban['lifted'] > 0)
			$unbandate = my_date($mybb->settings['dateformat'], $ban['lifted']);
		else
			$unbandate = $lang->never;

		$bannedtablerows .= '<tr>
		<td class="trow1">'. build_profile_link($banneduser['username'], $banneduser['uid']). '</td>
		<td class="trow1">'. $ban['reason']. '</td>
		<td class="trow1">'. build_profile_link($banby['username'], $banby['uid']). '</td>
		<td class="trow1">'. my_date($mybb->settings['dateformat'], $ban['dateline']) .'</td>
		<td class="trow1">'. $unbandate .'</td>
		</tr>';
	}
}
else
{
	$bannedtablerows = '<tr><td class="trow1" colspan="5" align="center">'. $lang->no_banned .'</td></tr>';
}

$template='<html>
<head>
<title>'.$pages['name'].'</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<tr><td class="thead" colspan="5"><strong>{$lang->ban_banned}</strong></td></tr>
<tr>
<td class="tcat"><span class="smalltext"><strong>{$lang->username}</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>{$lang->reason}</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>{$lang->ban_bannedby}</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>{$lang->start_date}</strong></span></td>
<td class="tcat"><span class="smalltext"><strong>{$lang->end_date}</strong></span></td>
</tr>
{$bannedtablerows}
</table>
{$footer}
</body>
</html>';

$template=str_replace("\'", "'", addslashes($template));

add_breadcrumb($pages['name']);

eval("\$page=\"".$template."\";");

output_page($page);

?>

Could someone help me out here. There is simply something wrong with the if...then loop. 400+ views and not ONE comment. Wow...
There is , you have the admin group "4" blocked , thats why u get an error message when logged in as admin.

That code is blocking Admin, super mods and mods

Usergroup:

Guest= 1
Banned= 7
Awaiting Activation= 5

Admin= 4
Reg User= 2
Supermods= 3
Mod= 6
You'd need to change the || to &&, otherwise it's going to fail when you check group 3 or group 6.

$mybb->user['usergroup'] != "3"
$mybb->user['usergroup'] != "6"

These will evaluate true and execute the if statement code.

Or, you can do this:

if(!in_array($mybb->user['usergroup'], array('3','4','6')))
I prefer this type of code:

$groupcheck = array('3','4','6');
if(!in_array($mybb->user['usergroup'], $groupcheck))

The $groupcheck is then the online line you edit and it's easily readable. Plus if you want to get fancy simply add a manual setting in admincp then alter that line to reflect the setting. You may have to explode it too.

$groupcheck = explode(",", $mybb->settings['bangroupcheck']);
if(!in_array($mybb->user['usergroup'], $groupcheck))
Thank you all for your great help. I was able to get it to work.

[OffTopic]
To lbrocca: "I know this may seem weird, but thank you for banning me from HF, That gave me a bunch of free time to get this site done. BTW, my name is PAGMAN on HF incase you were wondering."
[/OffTopic]