diff options
author | Igor Wiedler <igor@wiedler.ch> | 2012-04-07 18:27:30 +0200 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2012-04-07 18:27:30 +0200 |
commit | 24daef1aafb0a733c3428122d740fea17d4f34a0 (patch) | |
tree | 19338a7c549089437f2f9cb708f6afb8a26e733a /phpBB/includes/functions_module.php | |
parent | 3963b39634225a68687cf1b817a47ae1eeb6ac79 (diff) | |
parent | 713e7129e2dfb1039f5198c03c8808c8410f434a (diff) | |
download | forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar.gz forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar.bz2 forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar.xz forums-24daef1aafb0a733c3428122d740fea17d4f34a0.zip |
Merge branch 'develop' into feature/avatars
* develop: (335 commits)
[ticket/10575] Adding public visibility to the methods.
[ticket/10575] Fixing non-static access to static functions get_instance
[ticket/10547] User is not logged in as admin after installation
[ticket/10650] Revert merge of 'rahulr92/ticket/10650' into develop
[ticket/10650] Added checking for empty subjects
[ticket/10650] Corrected intendation
[ticket/10650]Added permission checking and utf8 functions
[ticket/10650] Cropped subject and inserted newline
[ticket/10650] Corrected space before true
[ticket/10650] Changed language files and forumlist
[ticket/10650] Added static sql files
[ticket/10650] Displaying last topic on forum list
[ticket/10760] Fix numbering in php fun facts.
[ticket/10760] Value must be quoted as it might be two words.
[ticket/10760] PHP is great. This commit is the proof.
[ticket/10760] Catch both versions of parse error output in php.
[ticket/10607] Added 'Powered by' translation string.
[ticket/10760] Account for display_errors=stderr in pre-commit hook.
[ticket/10760] Quote PHP_BIN when using it.
[ticket/10760] Use echo -e only if echo understands -e.
...
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) . ');'); |