a performance improvement

git-svn-id: file:///svn/phpbb/trunk@7177 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Nils Adermann 2007-03-12 18:05:43 +00:00
parent 9d78487f96
commit c64e48a372

View file

@ -537,26 +537,28 @@ class auth
'SELECT' => 'ug.user_id, ao.auth_option, a.forum_id, a.auth_setting, a.auth_role_id, r.auth_setting as role_auth_setting', 'SELECT' => 'ug.user_id, ao.auth_option, a.forum_id, a.auth_setting, a.auth_role_id, r.auth_setting as role_auth_setting',
'FROM' => array( 'FROM' => array(
USER_GROUP_TABLE => 'ug', ACL_GROUPS_TABLE => 'a',
ACL_OPTIONS_TABLE => 'ao',
ACL_GROUPS_TABLE => 'a'
), ),
'LEFT_JOIN' => array( 'LEFT_JOIN' => array(
array(
'FROM' => array(USER_GROUP_TABLE => 'ug'),
'ON' => 'a.group_id = ug.group_id'
),
array( array(
'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'), 'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'),
'ON' => 'a.auth_role_id = r.role_id' 'ON' => 'a.auth_role_id = r.role_id'
) ),
array(
'FROM' => array(ACL_OPTIONS_TABLE => 'ao'),
'ON' => '(ao.auth_option_id = a.auth_option_id OR ao.auth_option_id = r.auth_option_id)'
),
), ),
'WHERE' => '(ao.auth_option_id = a.auth_option_id OR ao.auth_option_id = r.auth_option_id) 'WHERE' => 'ug.user_pending = 0
AND a.group_id = ug.group_id
AND ug.user_pending = 0
' . (($sql_user) ? 'AND ug.' . $sql_user : '') . " ' . (($sql_user) ? 'AND ug.' . $sql_user : '') . "
$sql_forum $sql_forum
$sql_opts", $sql_opts",
'ORDER_BY' => 'a.forum_id, ao.auth_option'
)); ));
$result = $db->sql_query($sql); $result = $db->sql_query($sql);