1--TEST--
2ldap_modify_batch() - modification array contains references
3--EXTENSIONS--
4ldap
5--FILE--
6<?php
7
8/* We are assuming 3333 is not connectable */
9$ldap = ldap_connect('ldap://127.0.0.1:3333');
10$valid_dn = "cn=userA,something";
11
12$attrib = "attrib1";
13$r =& $attrib;
14$modification_attrib_reference_string = [
15    [
16        "attrib"  => $r,
17        "modtype" => LDAP_MODIFY_BATCH_ADD,
18        "values"  => ["value1"],
19    ],
20];
21try {
22    var_dump(ldap_modify_batch($ldap, $valid_dn, $modification_attrib_reference_string));
23} catch (Throwable $e) {
24    echo $e::class, ': ', $e->getMessage(), PHP_EOL;
25}
26
27$modtype = LDAP_MODIFY_BATCH_ADD;
28$r =& $modtype;
29$modification_modtype_reference_int = [
30    [
31        "attrib"  => "attrib1",
32        "modtype" => $r,
33        "values"  => ["value1"],
34    ],
35];
36try {
37    var_dump(ldap_modify_batch($ldap, $valid_dn, $modification_modtype_reference_int));
38} catch (Throwable $e) {
39    echo $e::class, ': ', $e->getMessage(), PHP_EOL;
40}
41
42
43$values = ["value1"];
44$r =& $values;
45$modification_values_reference_array = [
46    [
47        "attrib"  => "attrib1",
48        "modtype" => LDAP_MODIFY_BATCH_ADD,
49        "values"  => $r,
50    ],
51];
52try {
53    var_dump(ldap_modify_batch($ldap, $valid_dn, $modification_values_reference_array));
54} catch (Throwable $e) {
55    echo $e::class, ': ', $e->getMessage(), PHP_EOL;
56}
57
58?>
59--EXPECTF--
60Warning: ldap_modify_batch(): Batch Modify: Can't contact LDAP server in %s on line %d
61bool(false)
62
63Warning: ldap_modify_batch(): Batch Modify: Can't contact LDAP server in %s on line %d
64bool(false)
65
66Warning: ldap_modify_batch(): Batch Modify: Can't contact LDAP server in %s on line %d
67bool(false)
68