/** * @return Reference|null * @throws ReferenceRetrievalFailureException */ public function firstReference() { if (!($reference = ldap_first_reference($this->link, $this->result))) { if (0 !== ($errNo = ldap_errno($this->link))) { throw new ReferenceRetrievalFailureException(ldap_error($this->link), $errNo); } return null; } return new Reference($this->link, $reference); }
<?php require "connect.inc"; $link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version); insert_dummy_data($link, $base); ldap_add($link, "cn=userref,$base", array( "objectClass" => array("extensibleObject", "referral"), "cn" => "userref", "ref" => "cn=userA,$base", )); ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_NEVER); $result = ldap_search($link, "$base", "(cn=*)"); var_dump($ref = ldap_first_reference($link, $result)); $refs = null; ldap_parse_reference($link, $ref, $refs); var_dump($refs); ?> ===DONE=== <?php include "connect.inc"; $link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version); // Referral can only be removed with Manage DSA IT Control ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, array(array("oid" => "2.16.840.1.113730.3.4.2"))); ldap_delete($link, "cn=userref,$base"); remove_dummy_data($link, $base); ?>
<?php require "connect.inc"; $link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version); insert_dummy_data($link); ldap_add($link, "cn=userref,dc=my-domain,dc=com", array("objectClass" => array("extensibleObject", "referral"), "cn" => "userref", "ref" => "cn=userA,dc=my-domain,dc=com")); ldap_set_option($link, LDAP_OPT_DEREF, LDAP_DEREF_NEVER); $result = ldap_search($link, "dc=my-domain,dc=com", "(cn=*)"); $ref = ldap_first_reference($link, $result); $refs = null; var_dump(ldap_parse_reference($link, $ref, $refs), $refs); ?> ===DONE=== <?php include "connect.inc"; $link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version); // Referral can only be removed with Manage DSA IT Control ldap_set_option($link, LDAP_OPT_SERVER_CONTROLS, array(array("oid" => "2.16.840.1.113730.3.4.2"))); ldap_delete($link, "cn=userref,dc=my-domain,dc=com"); remove_dummy_data($link);
<?php require "connect.inc"; $link = ldap_connect($host, $port); var_dump(ldap_first_reference($link)); var_dump(ldap_first_reference($link, $link, "Additional data")); var_dump(ldap_first_reference($link, $link)); ?> ===DONE===
/** * @link http://php.net/manual/en/function.ldap-first-reference.php * @param $link * @param $result * @return resource */ public function firstReference($link, $result) { return ldap_first_reference($link, $result); }