|
|
|
|
@ -1085,12 +1085,18 @@ class Access extends LDAPUtility implements user\IUserTools { |
|
|
|
|
/** |
|
|
|
|
* escapes (user provided) parts for LDAP filter |
|
|
|
|
* @param string $input, the provided value |
|
|
|
|
* @param bool $allowAsterisk wether in * at the beginning should be preserved |
|
|
|
|
* @return string the escaped string |
|
|
|
|
*/ |
|
|
|
|
public function escapeFilterPart($input) { |
|
|
|
|
public function escapeFilterPart($input, $allowAsterisk = false) { |
|
|
|
|
$asterisk = ''; |
|
|
|
|
if($allowAsterisk && strlen($input) > 0 && $input[0] === '*') { |
|
|
|
|
$asterisk = '*'; |
|
|
|
|
$input = mb_substr($input, 1, null, 'UTF-8'); |
|
|
|
|
} |
|
|
|
|
$search = array('*', '\\', '(', ')'); |
|
|
|
|
$replace = array('\\*', '\\\\', '\\(', '\\)'); |
|
|
|
|
return str_replace($search, $replace, $input); |
|
|
|
|
return $asterisk . str_replace($search, $replace, $input); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|