Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 73c3f38

Browse files
committed
Revamp LDAP options with nested definition
1 parent 620094a commit 73c3f38

File tree

2 files changed

+12
-23
lines changed

2 files changed

+12
-23
lines changed

src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -93,31 +93,17 @@ protected function configureOptions(OptionsResolver $resolver)
9393
$resolver->setAllowedTypes('debug', 'bool');
9494
$resolver->setDefault('referrals', false);
9595
$resolver->setAllowedTypes('referrals', 'bool');
96+
$resolver->setDefault('options', function (OptionsResolver $options, Options $parent) {
97+
$options->setDefined(array_map('strtolower', array_keys((new \ReflectionClass(ConnectionOptions::class))->getConstants())));
9698

97-
$resolver->setNormalizer('options', function (Options $options, $value) {
98-
if (true === $options['debug']) {
99-
$value['debug_level'] = 7;
99+
if (true === $parent['debug']) {
100+
$options->setDefault('debug_level', 7);
100101
}
101102

102-
if (!isset($value['protocol_version'])) {
103-
$value['protocol_version'] = $options['version'];
104-
}
105-
106-
if (!isset($value['referrals'])) {
107-
$value['referrals'] = $options['referrals'];
108-
}
109-
110-
return $value;
111-
});
112-
113-
$resolver->setAllowedValues('options', function (array $values) {
114-
foreach ($values as $name => $value) {
115-
if (!ConnectionOptions::isOption($name)) {
116-
return false;
117-
}
118-
}
119-
120-
return true;
103+
$options->setDefaults([
104+
'protocol_version' => $parent['version'],
105+
'referrals' => $parent['referrals'],
106+
]);
121107
});
122108
}
123109

src/Symfony/Component/Ldap/composer.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@
1717
],
1818
"require": {
1919
"php": "^7.1.3",
20-
"symfony/options-resolver": "~3.4|~4.0",
20+
"symfony/options-resolver": "~4.2",
2121
"ext-ldap": "*"
2222
},
23+
"conflict": {
24+
"symfony/options-resolver": "<4.2"
25+
},
2326
"autoload": {
2427
"psr-4": { "Symfony\\Component\\Ldap\\": "" },
2528
"exclude-from-classmap": [

0 commit comments

Comments
 (0)