Reverts the conversion done by escapeDNValue().
Any escape sequence starting with a baskslash - hexpair or special
character - will be transformed back to the corresponding character.
public static unescapeDNValue ( array $values ) : array | ||
$values | array | DN values. |
Résultat | array | Unescaped DN values. |
/** * Test unescapeDNValue() */ public function testUnescapeDNValue() { $dnval = '\\20\\20\\16\\20t\\,e\\+s \\"t\\,\\\\v\\<a\\>l\\;u\\#e\\=!\\20\\20\\20\\20'; $expected = ' ' . chr(22) . ' t,e+s "t,\\v<a>l;u#e=! '; // String call. $this->assertEquals(array($expected), Horde_Ldap_Util::unescapeDNValue($dnval)); // Array call. $this->assertEquals(array($expected), Horde_Ldap_Util::unescapeDNValue(array($dnval))); // Multiple arrays. $this->assertEquals(array($expected, $expected, $expected), Horde_Ldap_Util::unescapeDNValue(array($dnval, $dnval, $dnval))); }
/** * Test adding a person with two common names. * * @return NULL */ public function testAddDoubleCnPerson() { foreach ($this->servers as $server) { $person = $this->assertAdd($server, $this->objects[5], array()); $cn_result = $server->uidForCn($this->objects[5]['Cn'][0]); $this->assertNoError($cn_result); $dn_parts = Horde_Ldap_Util::explodeDN($cn_result, array('casefold' => 'lower')); $dnpart = Horde_Ldap_Util::unescapeDNValue($dn_parts[0]); $this->assertContains('Cn' . '=' . $this->objects[5]['Cn'][0], $dnpart[0]); } }