diff options
Diffstat (limited to 'phpBB/includes/auth.php')
| -rw-r--r-- | phpBB/includes/auth.php | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/phpBB/includes/auth.php b/phpBB/includes/auth.php index 02819f9e78..5564de2943 100644 --- a/phpBB/includes/auth.php +++ b/phpBB/includes/auth.php @@ -109,6 +109,7 @@ class auth  	*/  	function _fill_acl($user_permissions)  	{ +		$seq_cache = array();  		$this->acl = array();  		$user_permissions = explode("\n", $user_permissions); @@ -125,8 +126,17 @@ class auth  				while ($subseq = substr($seq, $i, 6))  				{ +					if (isset($seq_cache[$subseq])) +					{ +						$converted = $seq_cache[$subseq]; +					} +					else +					{ +						$converted = $seq_cache[$subseq] = str_pad(base_convert($subseq, 36, 2), 31, 0, STR_PAD_LEFT); +					} +  					// We put the original bitstring into the acl array -					$this->acl[$f] .= str_pad(base_convert($subseq, 36, 2), 31, 0, STR_PAD_LEFT); +					$this->acl[$f] .= $converted;  					$i += 6;  				}  			} @@ -898,7 +908,7 @@ class auth  		$method = 'login_' . $method;  		if (function_exists($method))  		{ -			$login = $method($username, $password); +			$login = $method($username, $password, $user->ip, $user->browser, $user->forwarded_for);  			// If the auth module wants us to create an empty profile do so and then treat the status as LOGIN_SUCCESS  			if ($login['status'] == LOGIN_SUCCESS_CREATE_PROFILE)  | 
