diff options
author | Steve Clay <steve@mrclay.org> | 2012-09-17 17:41:15 -0400 |
---|---|---|
committer | Steve Clay <steve@mrclay.org> | 2012-11-14 21:09:42 -0500 |
commit | 3048db0f3f1ade31d6f3a2cdd3268e978a3e3cf3 (patch) | |
tree | 1c21fd8f55bebeeedf4790aaa0e5e2f76e3a93eb /engine/classes | |
parent | 7c6e3578ca8ab3e703852629e82b478265833d29 (diff) | |
download | elgg-3048db0f3f1ade31d6f3a2cdd3268e978a3e3cf3.tar.gz elgg-3048db0f3f1ade31d6f3a2cdd3268e978a3e3cf3.tar.bz2 |
Fixes #4861: allow lazy-loading for static method callbacks, allow more callables
Diffstat (limited to 'engine/classes')
-rw-r--r-- | engine/classes/ElggPAM.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engine/classes/ElggPAM.php b/engine/classes/ElggPAM.php index 0681a909b..f07095fc1 100644 --- a/engine/classes/ElggPAM.php +++ b/engine/classes/ElggPAM.php @@ -53,11 +53,17 @@ class ElggPAM { foreach ($_PAM_HANDLERS[$this->policy] as $k => $v) { $handler = $v->handler; + if (!is_callable($handler)) { + continue; + } + /* @var callable $handler */ + $importance = $v->importance; try { // Execute the handler - $result = $handler($credentials); + // @todo don't assume $handler is a global function + $result = call_user_func($handler, $credentials); if ($result) { $authenticated = true; } elseif ($result === false) { |