diff options
author | Vjacheslav Trushkin <arty@phpbb.com> | 2012-03-29 22:38:07 +0300 |
---|---|---|
committer | Vjacheslav Trushkin <arty@phpbb.com> | 2012-03-29 22:38:07 +0300 |
commit | ba431def5d951ca3df28a1f872d3fa05a9caad54 (patch) | |
tree | 1425c92d5bc8fda8858ff9a2ab817a26ce901550 /phpBB/includes/functions_module.php | |
parent | d25b607ca16bfd240f3b9cb9da7e4567b426ec26 (diff) | |
parent | ae824aef1255f7bd4da502fc1d9d0e85219ce32a (diff) | |
download | forums-ba431def5d951ca3df28a1f872d3fa05a9caad54.tar forums-ba431def5d951ca3df28a1f872d3fa05a9caad54.tar.gz forums-ba431def5d951ca3df28a1f872d3fa05a9caad54.tar.bz2 forums-ba431def5d951ca3df28a1f872d3fa05a9caad54.tar.xz forums-ba431def5d951ca3df28a1f872d3fa05a9caad54.zip |
Merge remote-tracking branch 'upstream/develop' into feature/merging-style-components
* upstream/develop: (65 commits)
[ticket/10730] Added label tag around "select" text in post splitting UI
[ticket/10732] Add config_dev.php and config_test.php to .gitignore
[ticket/10586] Added space in if statement
[ticket/10586] Tidy up comments
[task/php5.3] Updated range of tested PHP versions
[task/php5.3] Looks like I missed a few places that needed PHP 5.2 changed to PHP 5.3.2
[task/php5.3] Changed minimum PHP requirement for Ascraeus to 5.3.2
[ticket/10723] Stop Travis running all tests on sqlite
[ticket/10703] Added a condition to check if ext directory exists
[task/travis] Refactor php version check for dbunit install
[task/travis] Exclude functional and slow tests
[ticket/10719] Revert "Skip functional tests on PHP 5.2"
[task/travis-develop2] Update version from 5.3 to 5.3.2
[task/travis] Dropping support for 5.2 in develop branch
[task/travis] Some more small travis fixes
[task/travis] Rename travis phpunit config files
[task/travis] Fixing some travis issues
[ticket/10684] Adjust function and parameter name, minor changes.
[task/travis] Add automated testing to readme
[task/travis] Removing development information
...
Conflicts:
phpBB/install/database_update.php
Diffstat (limited to 'phpBB/includes/functions_module.php')
-rw-r--r-- | phpBB/includes/functions_module.php | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/phpBB/includes/functions_module.php b/phpBB/includes/functions_module.php index db7defdc48..ad76be9f2f 100644 --- a/phpBB/includes/functions_module.php +++ b/phpBB/includes/functions_module.php @@ -128,7 +128,7 @@ class p_master foreach ($this->module_cache['modules'] as $key => $row) { // Not allowed to view module? - if (!$this->module_auth($row['module_auth'])) + if (!$this->module_auth_self($row['module_auth'])) { unset($this->module_cache['modules'][$key]); continue; @@ -315,9 +315,23 @@ class p_master } /** - * Check module authorisation + * Check module authorisation. + * + * This is a non-static version that uses $this->acl_forum_id + * for the forum id. + */ + function module_auth_self($module_auth) + { + return self::module_auth($module_auth, $this->acl_forum_id); + } + + /** + * Check module authorisation. + * + * This is a static version, it must be given $forum_id. + * See also module_auth_self. */ - function module_auth($module_auth, $forum_id = false) + static function module_auth($module_auth, $forum_id) { global $auth, $config; global $request; @@ -362,11 +376,9 @@ class p_master $module_auth = implode(' ', $tokens); - // Make sure $id seperation is working fine + // Make sure $id separation is working fine $module_auth = str_replace(' , ', ',', $module_auth); - $forum_id = ($forum_id === false) ? $this->acl_forum_id : $forum_id; - $is_auth = false; eval('$is_auth = (int) (' . preg_replace(array('#acl_([a-z0-9_]+)(,\$id)?#', '#\$id#', '#aclf_([a-z0-9_]+)#', '#cfg_([a-z0-9_]+)#', '#request_([a-zA-Z0-9_]+)#'), array('(int) $auth->acl_get(\'\\1\'\\2)', '(int) $forum_id', '(int) $auth->acl_getf_global(\'\\1\')', '(int) $config[\'\\1\']', '$request->variable(\'\\1\', false)'), $module_auth) . ');'); |