aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/session.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r--phpBB/includes/session.php24
1 files changed, 14 insertions, 10 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index d6ba64cd57..88d02d342d 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -386,21 +386,21 @@ class acl
if ( !($this->founder = $userdata['user_founder']) )
{
- $and_sql = "ao.auth_option LIKE 'list'";
+ $and_sql = "ao.auth_value LIKE 'forum_list'";
if ( $extra_options )
{
$tmp_ary = explode(',', $extra_options);
foreach ( $tmp_ary as $option )
{
- $and_sql .= " OR ao.auth_option LIKE '" . trim($option) . "'";
+ $and_sql .= " OR ao.auth_value LIKE '" . trim($option) . "'";
}
}
- $and_sql = ( !$forum_id ) ? $and_sql : "( a.forum_id = $forum_id ) OR ( a.forum_id <> $forum_id AND ( ao.auth_option LIKE 'list' OR ao.auth_type LIKE 'mod' ) )";
- $and_sql .= " OR ao.auth_type LIKE 'admin'";
+ $and_sql = ( !$forum_id ) ? $and_sql : "( a.forum_id = $forum_id ) OR ( a.forum_id <> $forum_id AND ( ao.auth_value LIKE 'forum_list' OR ao.auth_value LIKE 'mod_%' ) )";
+ $and_sql .= " OR ao.auth_value LIKE 'admin_%'";
- $sql = "SELECT a.forum_id, a.auth_allow_deny, ao.auth_type, ao.auth_option
+ $sql = "SELECT a.forum_id, a.auth_allow_deny, ao.auth_value
FROM " . ACL_GROUPS_TABLE . " a, " . ACL_OPTIONS_TABLE . " ao, " . USER_GROUP_TABLE . " ug
WHERE ug.user_id = " . $userdata['user_id'] . "
AND a.group_id = ug.group_id
@@ -412,21 +412,23 @@ class acl
{
do
{
- switch ( $this->acl[$row['forum_id']][$row['auth_type']][$row['auth_option']] )
+ list($type, $option) = explode('_', $row['auth_value']);
+
+ switch ( $this->acl[$row['forum_id']][$type][$option] )
{
case ACL_PERMIT:
case ACL_DENY:
case ACL_PREVENT:
break;
default:
- $this->acl[$row['forum_id']][$row['auth_type']][$row['auth_option']] = $row['auth_allow_deny'];
+ $this->acl[$row['forum_id']][$type][$option] = $row['auth_allow_deny'];
}
}
while ( $row = $db->sql_fetchrow($result) );
}
$db->sql_freeresult($result);
- $sql = "SELECT a.forum_id, a.auth_allow_deny, ao.auth_type, ao.auth_option
+ $sql = "SELECT a.forum_id, a.auth_allow_deny, ao.auth_value
FROM " . ACL_USERS_TABLE . " a, " . ACL_OPTIONS_TABLE . " ao
WHERE a.user_id = " . $userdata['user_id'] . "
AND ao.auth_option_id = a.auth_option_id
@@ -437,13 +439,15 @@ class acl
{
do
{
- switch ( $this->acl[$row['forum_id']][$row['auth_type']][$row['auth_option']] )
+ list($type, $option) = explode('_', $row['auth_value']);
+
+ switch ( $this->acl[$row['forum_id']][$type][$option] )
{
case ACL_PERMIT:
case ACL_PREVENT:
break;
default:
- $this->acl[$row['forum_id']][$row['auth_type']][$row['auth_option']] = $row['auth_allow_deny'];
+ $this->acl[$row['forum_id']][$type][$option] = $row['auth_allow_deny'];
break;
}
}