AUTH_VIEW, "auth_read" => AUTH_READ, "auth_post" => AUTH_POST, "auth_reply" => AUTH_REPLY, "auth_edit" => AUTH_EDIT, "auth_delete" => AUTH_DELETE, "auth_vote" => AUTH_VOTE, "auth_votecreate" => AUTH_VOTECREATE, "auth_attachments" => AUTH_ATTACH ); $forum_auth_fields = array("auth_view", "auth_read", "auth_post", "auth_reply", "auth_edit", "auth_delete", "auth_votecreate", "auth_vote", "auth_attachments"); ?> phpBB - auth testing

User Authorisation Control

sql_query($sql); $forum_fields = $db->sql_fetchrow($f_result); $sql = "SELECT aa.*, g.group_name, u.user_id, u.username, u.user_level, f.forum_name FROM ".AUTH_ACCESS_TABLE." aa, ".GROUPS_TABLE." g, ".USER_GROUP_TABLE." ug, ".USERS_TABLE." u, ".FORUMS_TABLE." f WHERE f.forum_id = $forum_id AND aa.forum_id = f.forum_id AND ug.group_id = aa.group_id AND g.group_id = ug.group_id AND u.user_id = ug.user_id ORDER BY u.user_id, aa.group_id"; $aa_result = $db->sql_query($sql); $user_list = $db->sql_fetchrowset($aa_result); for($i = 0; $i < count($user_list); $i++) { $user_id = $user_list[$i]['user_id']; $userinfo[$user_id]['username'] = $user_list[$i]['username']; $is_admin = ($user_list[$i]['user_level'] == ADMIN) ? 1 : 0; for($j = 0; $j < count($forum_field_name); $j++) { $this_field = $forum_field_name[$j]; $is_auth[$this_field][$user_id] = auth_check_user($forum_fields[$this_field], $this_field, $user_list[$i], $is_admin); } } echo "

Forum: ".$forum_fields['forum_name']."

\n"; ?>
\n"; echo "\t\t\n"; reset($is_auth); $user_auth_ary = $is_auth[$forum_field_name[$i]]; if($forum_fields[$forum_field_name[$i]] == AUTH_ALL || $forum_fields[$forum_field_name[$i]] == AUTH_REG) { if($forum_fields[$forum_field_name[$i]] == AUTH_ALL) { echo "\t\t"; } else { echo "\t\t"; } } else { echo "\t\t\n"; } echo "\t\n"; } ?>
Forum Auth Field Users with Access
" . $forum_field_name[$i] . " All Users  Registered Users      
sql_query($sql); $f_access = $db->sql_fetchrowset($af_result); $sql = "SELECT user_id, username, user_level FROM " . USERS_TABLE . " WHERE user_id = $user_id"; $u_result = $db->sql_query($sql); $userinf = $db->sql_fetchrow($u_result); $sql = "SELECT aa.forum_id, aa.auth_view, aa.auth_read, aa.auth_post, aa.auth_reply, aa.auth_edit, aa.auth_delete, aa.auth_votecreate, aa.auth_vote, aa.auth_attachments, aa.auth_mod, g.group_single_user FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE. " g WHERE ug.user_id = $user_id AND g.group_id = ug.group_id AND aa.group_id = ug.group_id"; $au_result = $db->sql_query($sql); $num_u_access = $db->sql_numrows($au_result); if($num_u_access) { $u_access = $db->sql_fetchrowset($au_result); } $is_admin = ($userinf['user_level'] == ADMIN) ? 1 : 0; for($i = 0; $i < count($f_access); $i++) { $f_forum_id = $f_access[$i]['forum_id']; $is_forum_restricted[$f_forum_id] = 0; for($j = 0; $j < count($forum_auth_fields); $j++) { $key = $forum_auth_fields[$j]; $value = $f_access[$i][$key]; if($user_id == ANONYMOUS) { $auth_user[$f_forum_id][$key] = ($value == AUTH_ALL) ? 1 : 0; if($value == AUTH_ACL || $value == AUTH_MOD || $value == AUTH_ADMIN) { $is_forum_restricted[$f_forum_id] = 1; } } else if(!$num_u_access) { $auth_user[$f_forum_id][$key] = ($value == AUTH_ALL || $value == AUTH_REG) ? 1 : 0; if($value == AUTH_ACL || $value == AUTH_MOD || $value == AUTH_ADMIN) { $is_forum_restricted[$f_forum_id] = 1; } } else { switch($value) { case AUTH_ALL: $auth_user[$f_forum_id][$key] = 1; break; case AUTH_REG: $auth_user[$f_forum_id][$key] = 1; break; case AUTH_ACL: $auth_user[$f_forum_id][$key] = auth_check_user(AUTH_ACL, $key, $u_access, $is_admin); $is_forum_restricted[$f_forum_id] = 1; break; case AUTH_MOD: $auth_user[$f_forum_id][$key] = auth_check_user(AUTH_MOD, $key, $u_access, $is_admin); $is_forum_restricted[$f_forum_id] = 1; break; case AUTH_ADMIN: $auth_user[$f_forum_id][$key] = $is_admin; $is_forum_restricted[$f_forum_id] = 1; break; default: $auth_user[$f_forum_id][$key] = 0; break; } } } // // Is user a moderator? // $auth_user[$f_forum_id]['auth_mod'] = auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin); } ?>

Restricted forums

".preg_replace("/auth_/", "", $forum_auth_fields[$j])."\n"; } echo "\t\n"; echo "\n"; $i = 0; while(list($forumkey, $user_ary) = each($auth_user)) { if($is_forum_restricted[$forumkey]) { echo "\n"; echo "\t\n"; while(list($fieldkey, $value) = each($user_ary)) { $can_they = ($auth_user[$forumkey][$fieldkey]) ? "Yes" : "No"; echo "\t\n"; } echo "\n"; } $i++; } reset($auth_user); ?>
Forum Name Moderator
".$f_access[$i]['forum_name']."$can_they

Forums with general (public or registered) access

The following forums are set to be generally accessible to most users, either everyone or just registered users. To limit these forums (or certain fields) to specific users you need to change the forum authorisation type via the Forum Authorisation Admin panel.

".preg_replace("/auth_/", "", $forum_auth_fields[$j])."\n"; } echo "\t\n"; echo "\n"; $i = 0; while(list($forumkey, $user_ary) = each($auth_user)) { if(!$is_forum_restricted[$forumkey]) { echo "\n"; echo "\t\n"; while(list($fieldkey, $value) = each($user_ary)) { $can_they = ($auth_user[$forumkey][$fieldkey]) ? "Yes" : "No"; echo "\t\n"; } echo "\n"; } $i++; } reset($auth_user); ?>
Forum Name Moderator
".$f_access[$i]['forum_name']."$can_they
sql_query($sql); $user_list = $db->sql_fetchrowset($u_result); ?>
Select a User
   

Forum Authorisation Admin

Powered By phpBB 2.0
Copyright © 2001 phpBB Group, All Rights Reserved