Révision bc175c27
Ajouté par Assos Assos il y a plus de 5 ans
drupal7/sites/all/modules/ldap/ldap_servers/ldap_servers.test_form.inc | ||
---|---|---|
1 | 1 |
<?php |
2 | 2 |
|
3 |
/** |
|
4 |
* @file |
|
5 |
*/ |
|
6 |
|
|
3 | 7 |
module_load_include('inc', 'ldap_servers', 'ldap_servers.functions'); |
4 | 8 |
|
5 | 9 |
/** |
... | ... | |
87 | 91 |
'#description' => t('This is optional and used for testing this server\'s group configuration.'), |
88 | 92 |
); |
89 | 93 |
|
90 |
if ($ldap_server->bind_method == LDAP_SERVERS_BIND_METHOD_ANON_USER) {
|
|
94 |
if ($ldap_server->bind_method == LDAP_SERVERS_BIND_METHOD_ANON_USER) { |
|
91 | 95 |
$form['testing_drupal_userpw'] = array( |
92 | 96 |
'#type' => 'password', |
93 | 97 |
'#title' => t('Testing Drupal User Password'), |
... | ... | |
136 | 140 |
dpm("Drupal user entity for: $user_name"); |
137 | 141 |
dpm($user_entity); |
138 | 142 |
} |
139 |
dpm("Test Group LDAP Entry"); |
|
140 |
dpm($test_data['group_entry'][0]); |
|
143 |
if (isset($test_data['group_entry'][0])) { |
|
144 |
dpm("Test Group LDAP Entry"); |
|
145 |
dpm($test_data['group_entry'][0]); |
|
146 |
} |
|
141 | 147 |
} |
142 | 148 |
} |
143 | 149 |
} |
144 | 150 |
return $form; |
145 | 151 |
} |
146 | 152 |
|
153 |
function ldap_servers_string_binary_check($input) { |
|
154 |
if (preg_match('~[^\x20-\x7E\t\r\n]~', $input) > 0) { |
|
155 |
$truncatedString = truncate_utf8($input, 200); |
|
156 |
return t('Binary (excerpt): @excerpt', ['@excerpt' => $truncatedString]); |
|
157 |
} |
|
158 |
else { |
|
159 |
return $input; |
|
160 |
} |
|
161 |
} |
|
162 |
|
|
147 | 163 |
/** |
148 | 164 |
* Validate hook for the LDAP server form. |
149 | 165 |
*/ |
... | ... | |
186 | 202 |
|
187 | 203 |
if ($ldap_server->bind_method == LDAP_SERVERS_BIND_METHOD_SERVICE_ACCT) { |
188 | 204 |
$results_tables['basic'][] = array(t('Binding with DN for non-anonymous search (%bind_dn). Using password ', |
189 |
array('%bind_dn' => $ldap_server->binddn)) . ' ' . $bindpw_type);
|
|
205 |
array('%bind_dn' => $ldap_server->binddn)) . ' ' . $bindpw_type); |
|
190 | 206 |
} |
191 | 207 |
else { |
192 | 208 |
$results_tables['basic'][] = array(t('Binding with null DN for anonymous search.')); |
... | ... | |
215 | 231 |
|
216 | 232 |
// 3. add group |
217 | 233 |
$result = $ldap_server->groupAddGroup($group_create_test_dn, $group_create_test_attr); |
218 |
$result = ($result) ? "PASS" : 'FAIL';
|
|
234 |
$result = ($result) ? "PASS" : 'FAIL'; |
|
219 | 235 |
$attr = serialize($group_create_test_attr); |
220 | 236 |
$results_tables['group1'][] = array("LdapServer::groupAddGroup($group_create_test_dn, $attr)", $result); |
221 | 237 |
|
222 | 238 |
// 4. call to all members in an empty group returns emtpy array, not FALSE |
223 | 239 |
$result = $ldap_server->groupAllMembers($group_create_test_dn); |
224 |
$result = (is_array($result) && count($result) == 0) ? 'PASS' : 'FAIL';
|
|
240 |
$result = (is_array($result) && count($result) == 0) ? 'PASS' : 'FAIL'; |
|
225 | 241 |
$results_tables['group1'][] = array("LdapServer::groupAllMembers($group_create_test_dn) returns empty array for empty group ", $result); |
226 | 242 |
|
227 | 243 |
// 5. add member to group |
... | ... | |
243 | 259 |
|
244 | 260 |
$only_if_group_empty = TRUE; |
245 | 261 |
$result = $ldap_server->groupRemoveGroup($group_create_test_dn, $only_if_group_empty); |
246 |
$result = ($ldap_server->dnExists($group_create_test_dn, 'ldap_entry', array('cn', 'member'))) ? "FAIL" : 'PASS';
|
|
262 |
$result = ($ldap_server->dnExists($group_create_test_dn, 'ldap_entry', array('cn', 'member'))) ? "FAIL" : 'PASS'; |
|
247 | 263 |
$results_tables['group1'][] = array("LdapServer::groupRemoveGroup($group_create_test_dn, $only_if_group_empty)", $result); |
248 | 264 |
} |
249 | 265 |
|
... | ... | |
260 | 276 |
$mapping[] = "$key = " . $value[0]; |
261 | 277 |
} |
262 | 278 |
} |
263 |
$results_tables['basic'][] = array(theme_item_list(array('items' => $mapping, 'title' => t('Attributes available to anonymous search', array('%bind_dn' => $ldap_server->binddn)) , 'type' => 'ul', 'attributes' => array())));
|
|
279 |
$results_tables['basic'][] = array(theme_item_list(array('items' => $mapping, 'title' => t('Attributes available to anonymous search', array('%bind_dn' => $ldap_server->binddn)) , 'type' => 'ul', 'attributes' => array())));
|
|
264 | 280 |
} |
265 | 281 |
$results_tables['basic'][] = array(t('Binding with DN (%bind_dn). Using supplied password ', |
266 |
array('%bind_dn' => $ldap_user['dn'])));
|
|
282 |
array('%bind_dn' => $ldap_user['dn']))); |
|
267 | 283 |
$result = $ldap_server->bind($ldap_user['dn'], $values['testing_drupal_userpw'], FALSE); |
268 | 284 |
if ($result == LDAP_SUCCESS) { |
269 | 285 |
$results_tables['basic'][] = array(t('Successfully bound to server'), 'PASS'); |
... | ... | |
295 | 311 |
|
296 | 312 |
if ($ldap_server->groupUserMembershipsConfigured) { |
297 | 313 |
$groupusermembershipsfromuserattr = $ldap_server->groupUserMembershipsFromUserAttr($user, $nested); |
298 |
$count = count($groupusermembershipsfromuserattr);
|
|
314 |
$count = count($groupusermembershipsfromuserattr); |
|
299 | 315 |
$result = theme('item_list', array('items' => $groupusermembershipsfromuserattr, 'type' => 'ul')); |
300 | 316 |
} |
301 | 317 |
else { |
... | ... | |
338 | 354 |
|
339 | 355 |
$tokens = ($ldap_user && isset($ldap_user['attr'])) ? ldap_servers_token_tokenize_entry($ldap_user['attr'], 'all') : array(); |
340 | 356 |
foreach ($tokens as $key => $value) { |
341 |
$results_tables['tokens'][] = array($key, $value);
|
|
357 |
$results_tables['tokens'][] = array($key, ldap_servers_string_binary_check($value));
|
|
342 | 358 |
} |
343 | 359 |
$form_state['ldap_server_test_data'] = array( |
344 | 360 |
'username' => $values['testing_drupal_username'], |
... | ... | |
352 | 368 |
if (isset($group_entry) ) { |
353 | 369 |
$form_state['ldap_server_test_data']['group_entry'] = $group_entry; |
354 | 370 |
} |
355 |
|
|
371 |
|
|
356 | 372 |
} |
357 | 373 |
|
358 | 374 |
/** |
... | ... | |
375 | 391 |
if (!$errors) { |
376 | 392 |
$bind_result = $ldap_server->bind($ldap_server->binddn, $bindpw, FALSE); |
377 | 393 |
if ($bind_result == LDAP_SUCCESS) { |
378 |
$results_tables['basic'][] = array(t('Successfully bound to server'));
|
|
394 |
$results_tables['basic'][] = array(t('Successfully bound to server')); |
|
379 | 395 |
} |
380 | 396 |
else { |
381 | 397 |
$results_tables['basic'][] = array(t('Failed to bind to server. ldap error #') . $bind_result . ' ' . $ldap_server->errorMsg('ldap')) ; |
Formats disponibles : Unified diff
Weekly update of contrib modules