diff options
Diffstat (limited to 'engine/classes/ElggPAM.php')
| -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) {  | 
