Ignore:
Timestamp:
Mar 31, 2010, 6:32:40 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Aktualizace fóra.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/forum/includes/auth.php

    r400 r702  
    33*
    44* @package phpBB3
    5 * @version $Id: auth.php 8985 2008-10-09 13:18:38Z acydburn $
     5* @version $Id$
    66* @copyright (c) 2005 phpBB Group
    77* @license http://opensource.org/licenses/gpl-license.php GNU Public License
     
    6565
    6666                        $cache->put('_acl_options', $this->acl_options);
    67                         $this->acl_cache($userdata);
    68                 }
    69                 else if (!trim($userdata['user_permissions']))
     67                }
     68
     69                if (!trim($userdata['user_permissions']))
    7070                {
    7171                        $this->acl_cache($userdata);
     
    609609                // Now grab group settings - non-role specific...
    610610                $sql_ary[] = 'SELECT ug.user_id, a.forum_id, a.auth_setting, a.auth_option_id' . $sql_opts_select . '
    611                         FROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug' . $sql_opts_from . '
     611                        FROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g' . $sql_opts_from . '
    612612                        WHERE a.auth_role_id = 0 ' .
    613613                                (($sql_opts_from) ? 'AND a.auth_option_id = ao.auth_option_id ' : '') . '
    614614                                AND a.group_id = ug.group_id
     615                                AND g.group_id = ug.group_id
    615616                                AND ug.user_pending = 0
     617                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
    616618                                ' . (($sql_user) ? 'AND ug.' . $sql_user : '') . "
    617619                                $sql_forum
     
    620622                // Now grab group settings - role specific...
    621623                $sql_ary[] = 'SELECT ug.user_id, a.forum_id, r.auth_setting, r.auth_option_id' . $sql_opts_select . '
    622                         FROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug, ' . ACL_ROLES_DATA_TABLE . ' r' . $sql_opts_from . '
     624                        FROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g, ' . ACL_ROLES_DATA_TABLE . ' r' . $sql_opts_from . '
    623625                        WHERE a.auth_role_id = r.role_id ' .
    624626                                (($sql_opts_from) ? 'AND r.auth_option_id = ao.auth_option_id ' : '') . '
    625627                                AND a.group_id = ug.group_id
     628                                AND g.group_id = ug.group_id
    626629                                AND ug.user_pending = 0
     630                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
    627631                                ' . (($sql_user) ? 'AND ug.' . $sql_user : '') . "
    628632                                $sql_forum
     
    826830                // Now grab group-specific permission settings
    827831                $sql = 'SELECT a.forum_id, a.auth_option_id, a.auth_role_id, a.auth_setting
    828                         FROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug
     832                        FROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
    829833                        WHERE a.group_id = ug.group_id
     834                                AND g.group_id = ug.group_id
    830835                                AND ug.user_pending = 0
     836                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
    831837                                AND ug.user_id = ' . $user_id;
    832838                $result = $db->sql_query($sql);
Note: See TracChangeset for help on using the changeset viewer.