|
|
@@ -0,0 +1,2332 @@
|
|
|
+<sect1 id="zend.ldap.api">
|
|
|
+ <title>API overview</title>
|
|
|
+ <sect2 id="zend.ldap.api.configuration">
|
|
|
+ <title>Configuration / options</title>
|
|
|
+ <para>
|
|
|
+ The <code>Zend_Ldap</code> component accepts an array of options either supplied to the constructor or
|
|
|
+ through the <code>setOptions()</code> method. The permitted options are as follows:</para>
|
|
|
+ <table id="zend.ldap.api.configuration.table">
|
|
|
+ <title>Zend_Ldap Options</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Name</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>host</entry>
|
|
|
+ <entry>
|
|
|
+ The default hostname of LDAP server if not supplied to <code>connect()</code> (also may be
|
|
|
+ used when trying to canonicalize usernames in <code>bind()</code>).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>port</entry>
|
|
|
+ <entry>
|
|
|
+ Default port of LDAP server if not supplied to <code>connect()</code>.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>useStartTls</entry>
|
|
|
+ <entry>
|
|
|
+ Whether or not the LDAP client should use TLS (aka SSLv2) encrypted transport. A value of
|
|
|
+ <code>true</code> is strongly favored in production environments to prevent passwords from
|
|
|
+ be transmitted in clear text. The default value is <code>false</code>, as servers
|
|
|
+ frequently require that a certificate be installed separately after installation.
|
|
|
+ The <code>useSsl</code> and <code>useStartTls</code> options are mutually exclusive.
|
|
|
+ The <code>useStartTls</code> option should be favored over <code>useSsl</code> but
|
|
|
+ not all servers support this newer mechanism.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>useSsl</entry>
|
|
|
+ <entry>
|
|
|
+ Whether or not the LDAP client should use SSL encrypted transport. The <code>useSsl</code>
|
|
|
+ and <code>useStartTls</code> options are mutually exclusive.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>username</entry>
|
|
|
+ <entry>
|
|
|
+ The default credentials username. Some servers require that this be in DN form. This must be given in DN form if the LDAP server requires a DN to bind and binding should be possible with simple usernames.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>password</entry>
|
|
|
+ <entry>
|
|
|
+ The default credentials password (used only with username above).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>bindRequiresDn</entry>
|
|
|
+ <entry>
|
|
|
+ If <code>true</code>, this instructs <code>Zend_Ldap</code> to retrieve the DN for the
|
|
|
+ account used to bind if the username is not already in DN form. The default value is
|
|
|
+ <code>false</code>.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>baseDn</entry>
|
|
|
+ <entry>
|
|
|
+ The default base DN used for searching (e.g., for accounts). This option is required for
|
|
|
+ most account related operations and should indicate the DN under which accounts are
|
|
|
+ located.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>accountCanonicalForm</entry>
|
|
|
+ <entry>
|
|
|
+ A small integer indicating the form to which account names should be canonicalized. See the <link linkend="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">
|
|
|
+ <emphasis>Account Name Canonicalization</emphasis>
|
|
|
+ </link>
|
|
|
+ section below.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>accountDomainName</entry>
|
|
|
+ <entry>
|
|
|
+ The FQDN domain for which the target LDAP server is an authority (e.g., example.com).
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>accountDomainNameShort</entry>
|
|
|
+ <entry>
|
|
|
+ The 'short' domain for which the target LDAP server is an authority. This is usually used
|
|
|
+ to specify the NetBIOS domain name for Windows networks but may also be used by non-AD
|
|
|
+ servers.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>accountFilterFormat</entry>
|
|
|
+ <entry>
|
|
|
+ The LDAP search filter used to search for accounts. This string is a
|
|
|
+ <ulink url="http://php.net/sprintf">
|
|
|
+ <code>sprintf()</code>
|
|
|
+ </ulink> style expression that must
|
|
|
+ contain one '<code>%s</code>' to accommodate the username. The default value is
|
|
|
+ '<code>(&(objectClass=user)(sAMAccountName=%s))</code>' unless
|
|
|
+ <code>bindRequiresDn</code> is set to <code>true</code>, in which case the default is
|
|
|
+ '<code>(&(objectClass=posixAccount)(uid=%s))</code>'. Users of custom schemas may need
|
|
|
+ to change this option.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>allowEmptyPassword</entry>
|
|
|
+ <entry>
|
|
|
+ Some LDAP servers can be configured to accept an empty string
|
|
|
+ password as an anonymous bind. This behavior is almost always
|
|
|
+ undesirable. For this reason, empty passwords are explicitly
|
|
|
+ disallowed. Set this value to <code>true</code> to allow an
|
|
|
+ empty string password to be submitted during the bind.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>optReferrals</entry>
|
|
|
+ <entry>
|
|
|
+ If set to <code>true</code>, this option indicates to the LDAP client that referrals should
|
|
|
+ be followed. The default value is <code>false</code>.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>tryUsernameSplit</entry>
|
|
|
+ <entry>
|
|
|
+ If set to <code>false</code>, this option indicates that the given username should not be split at the first <code>@</code> or <code>\</code> character to seperate the username from the domain during the binding-procedure. This allows the user to use usernames that contain an <code>@</code> or <code>\</code> character that do not inherit some domain-information, e.g. using email-addresses for binding. The default value is <code>true</code>.
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect2>
|
|
|
+ <sect2 id="zend.ldap.api.reference">
|
|
|
+ <title>API Reference</title>
|
|
|
+ <note>
|
|
|
+ <para>Method names in <emphasis>italics</emphasis> are static methods.</para>
|
|
|
+ </note>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap">
|
|
|
+ <title>Zend_Ldap</title>
|
|
|
+ <para>
|
|
|
+ <code>Zend_Ldap</code> is the base interface into a LDAP server. It provides connection and binding methods as well as methods to operate on the LDAP tree.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap.table">
|
|
|
+ <title>Zend_Ldap API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string filterEscape(string $str)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Escapes a value to be used in a LDAP filter according to RFC 2254. This method is <emphasis>deprecated</emphasis>, please use <code>Zend_Ldap_Filter_Abstract::escapeValue()</code> instead.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>boolean explodeDn($dn, array &$keys = null, array &$vals = null)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if a given DN <code>$dn</code> is malformed. If <code>$keys</code> or <code>$keys</code> and <code>$vals</code> are given, these arrays will be filled with the appropriate DN keys and values. This method is <emphasis>deprecated</emphasis>, please use <code>Zend_Ldap_Dn::checkDn()</code> instead.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>__construct($options)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Constructor. The <code>$options</code> parameter is optional and can be set to an array or a <code>Zend_Config</code> instance. If no options are provided at instantiation, the connection parameters must be passed to the instance using <code>Zend_Ldap::setOptions()</code>. The allowed options are specified in <link linkend="zend.ldap.using.theory-of-operation.options.table">Zend_Ldap Options</link>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>resource getResource()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the raw LDAP extension (ext/ldap) resource.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer getLastErrorCode()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the LDAP error number of the last LDAP command.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getLastError(integer &$errorCode, array &$errorMessages)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the LDAP error message of the last LDAP command. The optional <code>$errorCode</code> parameter is set to the LDAP error number when given. The optional <code>$errorMessages</code> array will be filled with the raw error messages when given. The various LDAP error retrieval functions can return different things, so they are all collected if <code>$errorMessages</code> is given.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap setOptions($options)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the LDAP connection and binding parameters. <code>$options</code> can be an array or an instance of <code>Zend_Config</code>. The allowed options are specified in <link linkend="zend.ldap.using.theory-of-operation.options.table">Zend_Ldap Options</link>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getOptions()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the current connection and binding parameters.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getBaseDn()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the base DN this LDAP connection is bound to.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getCanonicalAccountName(string $acctname, integer $form)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the canonical account name of the given account name <code>$acctname</code>. <code>$form</code> specifies the <link linkend="zend.ldap.using.theory-of-operation.account-name-canonicalization.table">format</link> into which the account name is canonicalized. See <link linkend="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">Account Name Canonicalization</link> for more details.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap disconnect()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Disconnects the Zend_Ldap instance from the LDAP server.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap connect(string $host, integer $port, boolean $useSsl, boolean $useStartTls)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Connects the Zend_Ldap instance to the given LDAP server. All parameters are optional and will be taken from the LDAP connection and binding parameters passed to the instance via the construtor or via <code>Zend_Ldap::setOptions()</code> when set to <code>null</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap bind(string $username, string $password)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Authenticates <code>$username</code> with <code>$password</code> at the LDAP server. If both paramaters are omitted the binding will be carried out with the credentials given in the connection and binding parameters. If no credentials are given in the connection and binding parameters an anonymous bind will be performed. Note that this requires anonymous binds to be allowed on the LDAP server. An empty string <code>''</code> can be passed as <code>$password</code> together with a username if, and only if, <code>allowEmptyPassword</code> is set to <code>true</code> in the connection and binding parameters.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Collection search(string|Zend_Ldap_Filter_Abstract $filter, string|Zend_Ldap_Dn $basedn, integer $scope, array $attributes, string $sort, string $collectionClass)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Searches the LDAP tree with the given <code>$filter</code> and the given search parameters.
|
|
|
+ <variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>string|Zend_Ldap_Filter_Abstract $filter</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The filter string to be used in the search, e.g. <code>(objectClass=posixAccount)</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>string|Zend_Ldap_Dn $basedn</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The search base for the search. If omitted or <code>null</code>, the <code>baseDn</code> from the connection and binding parameters is used.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>integer $scope</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The search scope. <code>Zend_Ldap::SEARCH_SCOPE_SUB</code> searches the complete subtree including the <code>$baseDn</code> node. <code>Zend_Ldap::SEARCH_SCOPE_ONE</code> restricts search to one level below <code>$baseDn</code>. <code>Zend_Ldap::SEARCH_SCOPE_BASE</code> restricts search to the <code>$baseDn</code> itself; this can be used to efficiently retrieve a single entry by its DN. The default value is <code>Zend_Ldap::SEARCH_SCOPE_SUB</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>array $attributes</code>
|
|
|
+ </term>
|
|
|
+ <listitem>Specifies the attributes contained in the returned entries. To include all possible attributes (ACL restrictions can disallow certain attribute to be retrieved by a given user) pass either an empty array <code>array()</code> or <code>array('*')</code> to the method. On some LDAP servers you can retrieve special internal attributes by passing <code>array('*', '+')</code> to the method.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>string $sort</code>
|
|
|
+ </term>
|
|
|
+ <listitem>If given the result collection will be sorted after the attribute <code>$sort</code>. Results can only be sorted after one single attribute as this parameter uses the ext/ldap function <code>ldap_sort()</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>string $collectionClass</code>
|
|
|
+ </term>
|
|
|
+ <listitem>If given the result will be wrapped in an object of type <code>$collectionClass</code>. By default an object of type <code>Zend_Ldap_Collection</code> will be returned. The custom class must extend <code>Zend_Ldap_Collection</code> and will be passed a <code>Zend_Ldap_Collection_Iterator_Default</code> on instantiation.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer count(string|Zend_Ldap_Filter_Abstract $filter, string|Zend_Ldap_Dn $basedn, integer $scope)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Counts the elements returned by the given search parameters. See <code>Zend_Ldap::search()</code> for a detailed description of the method parameters.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer countChildren(string|Zend_Ldap_Dn $dn)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Counts the direct descendants (children) of the entry identified by the given <code>$dn</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean exists(string|Zend_Ldap_Dn $dn)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks whether the entry identified by the given <code>$dn</code> exists.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array searchEntries(string|Zend_Ldap_Filter_Abstract $filter, string|Zend_Ldap_Dn $basedn, integer $scope, array $attributes, string $sort)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Performs a search operation and returns the result as an PHP array. This is essentially the same method as <code>Zend_Ldap::search()</code> except for the return type. See <code>Zend_Ldap::search()</code> for a detailed description of the method parameters.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getEntry(string|Zend_Ldap_Dn $dn, array $attributes, boolean $throwOnNotFound)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Retrieves the LDAP entry identified by <code>$dn</code> with the attributes specified in <code>$attributes</code>. If <code>$attributes</code> is ommitted, all attributes (<code>array()</code>) are included in the result. <code>$throwOnNotFound</code> is <code>false</code> by default, so the method will return <code>null</code> if the specified entry cannot be found. If set to <code>true</code>, a <code>Zend_Ldap_Exception</code> will be thrown instead.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void prepareLdapEntryArray(array &$entry)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Prepare an array for the use in LDAP modification operations. This method does not need to be called by the end-user as it's implicitly called on every data modification method.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap add(string|Zend_Ldap_Dn $dn, array $entry)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Adds the entry identified by <code>$dn</code> with its attributes <code>$entry</code> to the LDAP tree. Throws a <code>Zend_Ldap_Exception</code> if the entry could not be added.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap update(string|Zend_Ldap_Dn $dn, array $entry)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Updates the entry identified by <code>$dn</code> with its attributes <code>$entry</code> to the LDAP tree. Throws a <code>Zend_Ldap_Exception</code> if the entry could not be modified.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap save(string|Zend_Ldap_Dn $dn, array $entry)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Saves the entry identified by <code>$dn</code> with its attributes <code>$entry</code> to the LDAP tree. Throws a <code>Zend_Ldap_Exception</code> if the entry could not be saved. This method decides by querying the LDAP tree if the entry will be added or updated.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap delete(string|Zend_Ldap_Dn $dn, boolean $recursively)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Deletes the entry identified by <code>$dn</code> from the LDAP tree. Throws a <code>Zend_Ldap_Exception</code> if the entry could not be deleted. <code>$recursively</code> is <code>false</code> by default. If set to <code>true</code> the deletion will be carried out recursively and will effectively delete a complete subtree. Deletion will fail if <code>$recursively</code> is <code>false</code> and the entry <code>$dn</code> is not a leaf entry.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap moveToSubtree(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to, boolean $recursively, boolean $alwaysEmulate)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Moves the entry identified by <code>$from</code> to a location below <code>$to</code> keeping its RDN unchanged. <code>$recursively</code> specifies if the operation will be carried out recursively (<code>false</code> by default) so that the entry <code>$from</code> and all its descendants will be moved. Moving will fail if <code>$recursively</code> is <code>false</code> and the entry <code>$from</code> is not a leaf entry. <code>$alwaysEmulate</code> controls whether the ext/ldap function <code>ldap_rename()</code> should be used if available. This can only work for leaf entries and for servers and for ext/ldap supporting this function. Set to <code>true</code> to always use an emulated rename operation.
|
|
|
+ <note>
|
|
|
+ <para>All move-operations are carried out by copying and then deleting the corresponding entries in the LDAP tree. These operations are not <emphasis>atomic</emphasis> so that failures during the operation will result in an <emphasis>inconsistent</emphasis> state on the LDAP server. The same is true for all recursive operations. They also are by no means atomic. Please keep this in mind.</para>
|
|
|
+ </note>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap move(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to, boolean $recursively, boolean $alwaysEmulate)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>This is an alias for <code>Zend_Ldap::rename()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap rename(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to, boolean $recursively, boolean $alwaysEmulate)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Renames the entry identified by <code>$from</code> to <code>$to</code>. <code>$recursively</code> specifies if the operation will be carried out recursively (<code>false</code> by default) so that the entry <code>$from</code> and all its descendants will be moved. Moving will fail if <code>$recursively</code> is <code>false</code> and the entry <code>$from</code> is not a leaf entry. <code>$alwaysEmulate</code> controls whether the ext/ldap function <code>ldap_rename()</code> should be used if available. This can only work for leaf entries and for servers and for ext/ldap supporting this function. Set to <code>true</code> to always use an emulated rename operation.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap copyToSubtree(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to, boolean $recursively)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Copies the entry identified by <code>$from</code> to a location below <code>$to</code> keeping its RDN unchanged. <code>$recursively</code> specifies if the operation will be carried out recursively (<code>false</code> by default) so that the entry <code>$from</code> and all its descendants will be copied. Copying will fail if <code>$recursively</code> is <code>false</code> and the entry <code>$from</code> is not a leaf entry.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap copy(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to, boolean $recursively)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Copies the entry identified by <code>$from</code> to <code>$to</code>. <code>$recursively</code> specifies if the operation will be carried out recursively (<code>false</code> by default) so that the entry <code>$from</code> and all its descendants will be copied. Copying will fail if <code>$recursively</code> is <code>false</code> and the entry <code>$from</code> is not a leaf entry.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node getNode(string|Zend_Ldap_Dn $dn)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the entry <code>$dn</code> wrapped in a <code>Zend_Ldap_Node</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node getBaseNode()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the entry for the base DN <code>$baseDn</code> wrapped in a <code>Zend_Ldap_Node</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_RootDse getRootDse()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the RootDSE for the current server.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_Schema getSchema()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the LDAP schema for the current server.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <sect4 id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection">
|
|
|
+ <title>Zend_Ldap_Collection</title>
|
|
|
+ <para>
|
|
|
+ <code>Zend_Ldap_Collection</code> implements <code>Iterator</code> to allow for item traversal using <code>foreach()</code> and <code>Countable</code> to be able to respond to <code>count()</code>. With its protected <code>_createEntry()</code> method it provides a simple extension point for developers needing custom result objects.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-collection.table">
|
|
|
+ <title>Zend_Ldap_Collection API</title>
|
|
|
+ <tgroup cols="2">zend.ldap.api.reference.zend-ldap.zend-ldap-collection
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>__construct(Zend_Ldap_Collection_Iterator_Interface $iterator)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Constructor. The constrcutor must be provided by a <code>Zend_Ldap_Collection_Iterator_Interface</code> which does the real result iteration. <code>Zend_Ldap_Collection_Iterator_Default</code> is the default implementation for iterating ext/ldap results.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean close()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Closes the internal iterator. This is also called in the destructor.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array toArray()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns all entries as an array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getFirst()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the first entry in the collection or <code>null</code> if the collection is empty.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect4>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-attribute">
|
|
|
+ <title>Zend_Ldap_Attribute</title>
|
|
|
+ <para>
|
|
|
+ <code>Zend_Ldap_Attribute</code> is a helper class providing only static methods to manipulate arrays suitable to the structure used in <code>Zend_Ldap</code> data modification methods and to the data format required by the LDAP server. PHP data types are converted the following way:</para>
|
|
|
+ <variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>string</code>
|
|
|
+ </term>
|
|
|
+ <listitem>No conversion will be done.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>integer</code> and <code>float</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The value will be converted to a string.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>boolean</code>
|
|
|
+ </term>
|
|
|
+ <listitem>
|
|
|
+ <code>true</code> will be converted to <code>'TRUE'</code> and <code>false</code> to <code>'FALSE'</code>
|
|
|
+ </listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>object</code> and <code>array</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The value will be converted to a string by using <code>serialize()</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>resource</code>
|
|
|
+ </term>
|
|
|
+ <listitem>If a <code>stream</code> resource is given, the data will be fetched by calling <code>stream_get_contents()</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>others</term>
|
|
|
+ <listitem>All other data types (namely non-stream resources) will be ommitted.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+ <para>On reading attribute values the following conversion will take place:</para>
|
|
|
+ <variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>'TRUE'</code>
|
|
|
+ </term>
|
|
|
+ <listitem>Converted to <code>true</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>'FALSE'</code>
|
|
|
+ </term>
|
|
|
+ <listitem>Converted to <code>false</code>.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>others</term>
|
|
|
+ <listitem>All other strings won't be automatically converted and are passed as they are.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-attribute">
|
|
|
+ <title>Zend_Ldap_Attribute API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void setAttribute(array &$data, string $attribName, mixed $value, boolean $append)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the attribute <code>$attribName</code> in <code>$data</code> to the value <code>$value</code>. If <code>$append</code> is <code>true</code> (<code>false</code> by default) <code>$value</code> will be appended to the attribute. <code>$value</code> can be a scalar value or an array of scalar values. Conversion will take place.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>array|mixed getAttribute(array $data, string $attribName, integer|null $index)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the attribute <code>$attribName</code> from <code>$data</code>. If <code>$index</code> is <code>null</code> (default) an array will be returned containing all the values for the given attribute. An empty array will be returned if the attribute does not exist in the given array. If an integer index is specified the corresponding value at the given index will be returned. If the index is out of bounds, <code>null</code> will be returned. Conversion will take place.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>boolean attributeHasValue(array &$data, string $attribName, mixed|array $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if the attribute <code>$attribName</code> in <code>$data</code> has the value(s) given in <code>$value</code>. The method returns <code>true</code> only if all values in <code>$value</code> are present in the attribute. Comparison is done strictly (respecting the data type).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void removeDuplicatesFromAttribute(array &$data, string $attribName)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Removes all duplicates from the attribute <code>$attribName</code> in <code>$data</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void removeFromAttribute(array &$data, string $attribName, mixed|array $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Removes the the value(s) given in <code>$value</code> from the attribute <code>$attribName</code> in <code>$data</code>. </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string|null convertToLdapValue(mixed $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Converts a PHP data type into its LDAP representation. See introduction for details.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>mixed convertFromLdapValue(string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Converts an LDAP value into its PHP data type. See introduction for details.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string|null convertToLdapDateTimeValue(integer $value, boolean $utc)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Converts a timestamp into its LDAP date/time representation. If <code>$utc</code> is <code>true</code> (<code>false</code> by default) the resulting LDAP date/time string will be in UTC, otherwise a local date/time string will be returned.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>integer|null convertFromLdapDateTimeValue(string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Converts LDAP date/time representation into a timestamp. The method returns <code>null</code> if <code>$value</code> can not be converted back into a PHP timestamp.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void setPassword(array &$data, string $password, string $hashType, string $attribName)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets a LDAP password for the the attribute <code>$attribName</code> in <code>$data</code>. <code>$attribName</code> defaults to <code>'userPassword'</code> which is the standard password attribute. The password hash can be specified with <code>$hashType</code>. The default value here is <code>Zend_Ldap_Attribute::PASSWORD_HASH_MD5</code> with <code>Zend_Ldap_Attribute::PASSWORD_HASH_SHA</code> as the other possibilty.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string createPassword(string $password, string $hashType)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates a LDAP password. The password hash can be specified with <code>$hashType</code>. The default value here is <code>Zend_Ldap_Attribute::PASSWORD_HASH_MD5</code> with <code>Zend_Ldap_Attribute::PASSWORD_HASH_SHA</code> as the other possibilty.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void setDateTimeAttribute(array &$data, string $attribName, integer|array $value, boolean $utc, boolean $append)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the attribute <code>$attribName</code> in <code>$data</code> to the date/time value <code>$value</code>. If <code>$append</code> is <code>true</code> (<code>false</code> by default) <code>$value</code> will be appended to the attribute. <code>$value</code> can be an integer value or an array of integers. Date-time-conversion according to <code>Zend_Ldap_Attribute::convertToLdapDateTimeValue()</code> will take place.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>array|integer getDateTimeAttribute(array $data, string $attribName, integer|null $index)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the date/time attribute <code>$attribName</code> from <code>$data</code>. If <code>$index</code> is <code>null</code> (default) an array will be returned containing all the date/time values for the given attribute. An empty array will be returned if the attribute does not exist in the given array. If an integer index is specified the corresponding date/time value at the given index will be returned. If the index is out of bounds, <code>null</code> will be returned. Date-time-conversion according to <code>Zend_Ldap_Attribute::convertFromLdapDateTimeValue()</code> will take place.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-dn">
|
|
|
+ <title>Zend_Ldap_Dn</title>
|
|
|
+ <para>
|
|
|
+ <code>Zend_Ldap_Dn</code> provides an object-oriented interface to manipulating LDAP distinguished names (DN). The parameter <code>$caseFold</code> that is used in several methods determines the way DN attributes are handled regarding their case. Allowed values for this paraneter are:</para>
|
|
|
+ <variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</code>
|
|
|
+ </term>
|
|
|
+ <listitem>No case-folding will be done.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER</code>
|
|
|
+ </term>
|
|
|
+ <listitem>All attributes will be converted to upper-case.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER</code>
|
|
|
+ </term>
|
|
|
+ <listitem>All attributes will be converted to lower-case.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+ <para>The default case-folding is <code>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</code> and can be set with <code>Zend_Ldap_Dn::setDefaultCaseFold()</code>. Each instance of <code>Zend_Ldap_Dn</code> can have its own case-folding-setting. If the <code>$caseFold</code> parameter is ommitted in method-calls it defaults to the instance's case-folding setting.</para>
|
|
|
+ <para>The class implements <code>ArrayAccess</code> to allow indexer-access to the different parts of the DN. The <code>ArrayAccess</code>-methods proxy to <code>Zend_Ldap_Dn::get($offset, 1, null)</code> for <code>offsetGet(integer $offset)</code>, to <code>Zend_Ldap_Dn::set($offset, $value)</code> for <code>offsetSet()</code> and to <code>Zend_Ldap_Dn::remove($offset, 1)</code> for <code>offsetUnset()</code>. <code>offsetExists()</code> simply checks if the index is within the bounds.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-dn">
|
|
|
+ <title>Zend_Ldap_Dn API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Dn factory(string|array $dn, string|null $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates a <code>Zend_Ldap_Dn</code> instance from an array or a string. The array must conform to the array structure detailed under <code>Zend_Ldap_Dn::implodeDn()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Dn fromString(string $dn, string|null $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates a <code>Zend_Ldap_Dn</code> instance from a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Dn fromArray(array $dn, string|null $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates a <code>Zend_Ldap_Dn</code> instance from an array. The array must conform to the array structure detailed under <code>Zend_Ldap_Dn::implodeDn()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getRdn(string|null $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current DN. The return value is an array with the RDN attribute names its keys and the RDN attribute values.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getRdnString(string|null $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current DN. The return value is a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn getParentDn(integer $levelUp)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current DN's ancestor <code>$levelUp</code> levels up the tree. <code>$levelUp</code> defaults to <code>1</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array get(integer $index, integer $length, string|null $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a slice of the current DN determined by <code>$index</code> and <code>$length</code>. <code>$index</code> starts with <code>0</code> on the DN part from the left.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn set(integer $index, array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Replaces a DN part in the current DN. This operation manipulates the current instance.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn remove(integer $index, integer $length)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Removes a DN part from the current DN. This operation manipulates the current instance. <code>$length</code> defaults to <code>1</code>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn append(array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Appends a DN part to the current DN. This operation manipulates the current instance.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn prepend(array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Prepends a DN part to the current DN. This operation manipulates the current instance.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn insert(integer $index, array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Inserts a DN part after the index <code>$index</code> to the current DN. This operation manipulates the current instance.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>void setCaseFold(string|null $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the case-folding option to the current DN instance. If <code>$caseFold</code> is null the default case-folding setting (<code>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</code> by default or set via <code>Zend_Ldap_Dn::setDefaultCaseFold()</code> will be set for the current instance.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toString(string|null $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns DN as a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array toArray(string|null $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns DN as an array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string __toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns DN as a string - proxies to <code>Zend_Ldap_Dn::toString(null)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>void setDefaultCaseFold(string $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the default case-folding option used by all instances on creation by default. Already existing instances are not affected by this setting.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>array escapeValue(string|array $values)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Escapes a DN value according to RFC 2253.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>array unescapeValue(string|array $values)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Undoes the conversion done by <code>Zend_Ldap_Dn::escapeValue()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>array explodeDn(string $dn, array &$keys, array &$vals, string|null $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Explodes the DN <code>$dn</code> into an array containing all parts of the given DN. <code>$keys</code> optinally receive DN keys (e.g. CN, OU, DC, ...). <code>$vals</code> optionally receive DN values. The resulting array will be of type
|
|
|
+ <programlisting role="php"><![CDATA[
|
|
|
+array(
|
|
|
+ array("cn" => "name1", "uid" => "user"),
|
|
|
+ array("cn" => "name2"),
|
|
|
+ array("dc" => "example"),
|
|
|
+ array("dc" => "org")
|
|
|
+)
|
|
|
+]]></programlisting> for a DN of <code>cn=name1+uid=user,cn=name2,dc=example,dc=org</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>boolean checkDn(string $dn, array &$keys, array &$vals, string|null $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if a given DN <code>$dn</code> is malformed. If <code>$keys</code> or <code>$keys</code> and <code>$vals</code> are given, these arrays will be filled with the appropriate DN keys and values.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string implodeRdn(array $part, string|null $caseFold)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a DN part in the form <code>$attribute=$value</code>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string implodeDn(array $dnArray, string|null $caseFold, string $separator)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Implodes an array in the form delivered by <code>Zend_Ldap_Dn::explodeDn()</code> to a DN string. <code>$separator</code> defaults to <code>','</code> but some LDAP servers also understand <code>';'</code>. <code>$dnArray</code> must of type
|
|
|
+ <programlisting role="php"><![CDATA[
|
|
|
+array(
|
|
|
+ array("cn" => "name1", "uid" => "user"),
|
|
|
+ array("cn" => "name2"),
|
|
|
+ array("dc" => "example"),
|
|
|
+ array("dc" => "org")
|
|
|
+)
|
|
|
+]]></programlisting>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>boolean isChildOf(string|Zend_Ldap_Dn $childDn, string|Zend_Ldap_Dn $parentDn)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if given <code>$childDn</code> is beneath <code>$parentDn</code> subtree.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-filter">
|
|
|
+ <title>Zend_Ldap_Filter</title>
|
|
|
+ <table id="zend.ldap.api.reference.zend-filter.table">
|
|
|
+ <title>Zend_Ldap_Filter API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter equals(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'equals' filter: <code>(attr=value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter begins(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'begins with' filter: <code>(attr=value*)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter ends(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'ends with' filter: <code>(attr=*value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter contains(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'contains' filter: <code>(attr=*value*)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter greater(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'greater' filter: <code>(attr>value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter greaterOrEqual(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'greater or equal' filter: <code>(attr>=value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter less(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'less' filter: <code>(attr<value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter lessOrEqual(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'less or equal' filter: <code>(attr<=value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter approx(string $attr, string $value)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'approx' filter: <code>(attr~=value)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter any(string $attr)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'any' filter: <code>(attr=*)</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter string(string $filter)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates a simple custom string filter. The user is responsible for all value-escaping as the filter is used as is.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter mask(string $mask, string $value,...)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates a filter from a string mask. All <code>$value</code> parameters will be escaped and substituted into <code>$mask</code> by using <ulink url="http://php.net/sprintf">
|
|
|
+ <code>sprintf()</code>
|
|
|
+ </ulink>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter andFilter(Zend_Ldap_Filter_Abstract $filter,...)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'and' filter from all arguments given.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Filter orFilter(Zend_Ldap_Filter_Abstract $filter,...)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'or' filter from all arguments given.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>__construct(string $attr, string $value, string $filtertype, string|null $prepend, string|null $append)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Constructor. Creates an arbitrary filter according to the parameters supplied. The resulting filter will be a concatenation <code>$attr . $filtertype . $prepend . $value . $append</code>. Normally this constructor is not needed as all filters can be created by using the apprpriate factory methods.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a string representation of the filter.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string __toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a string representation of the filter. Proxies to <code>Zend_Ldap_Filter::toString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Filter_Abstract negate()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Negates the current filter.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Filter_Abstract addAnd(Zend_Ldap_Filter_Abstract $filter,...)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'and' filter from the current filter and all filters passed in as the arguments.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Filter_Abstract addOr(Zend_Ldap_Filter_Abstract $filter,...)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Creates an 'or' filter from the current filter and all filters passed in as the arguments.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string|array escapeValue(string|array $values)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Escapes the given <code>$values</code> according to RFC 2254 so that they can be safely used in LDAP filters. If a single string is given, a string is returned - otherwise an array is returned. Any control characters with an ACII code < 32 as well as the characters with special meaning in LDAP filters "*", "(", ")", and "\" (the backslash) are converted into the representation of a backslash followed by two hex digits representing the hexadecimal value of the character.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string|array unescapeValue(string|array $values)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Undoes the conversion done by <code>Zend_Ldap_Filter::escapeValue()</code>. Converts any sequences of a backslash followed by two hex digits into the corresponding character.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-node">
|
|
|
+ <title>Zend_Ldap_Node</title>
|
|
|
+ <para>
|
|
|
+ <code>Zend_Ldap_Node</code> includes the magic propery accessors <code>__set()</code>, <code>__get()</code>, <code>__unset()</code> and <code>__isset()</code> to access the attributes by their name. They proxy to <code>Zend_Ldap_Node::setAttribute()</code>, <code>Zend_Ldap_Node::getAttribute()</code>, <code>Zend_Ldap_Node::deleteAttribute()</code> and <code>Zend_Ldap_Node::existsAttribute()</code> respectively. Furthermore the class implements <code>ArrayAccess</code> for array-style-access to the attributes. <code>Zend_Ldap_Node</code> also implements <code>Iterator</code> and <code>RecursiveIterato</code> to allow for recursive tree-traversal.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node.table">
|
|
|
+ <title>Zend_Ldap_Node API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap getLdap()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the current LDAP connection. Throws <code>Zend_Ldap_Exception</code> if current node is in detached mode (not connected to a <code>Zend_Ldap</code> instance).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node attachLdap(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Attach the current node to the <code>$ldap</code>
|
|
|
+ <code>Zend_Ldap</code> instance. Throws <code>Zend_Ldap_Exception</code> if <code>$ldap</code> is not responsible for the current node (node is not a child of the <code>$ldap</code> base DN).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node detachLdap()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Detach node from LDAP connection.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean isAttached()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if the current node is attached to a LDAP connection.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Node create(string|array|Zend_Ldap_Dn $dn, array $objectClass)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Factory method to create a new detached <code>Zend_Ldap_Node</code> for a given DN. Creates a new <code>Zend_Ldap_Node</code> with the DN <code>$dn</code> and the object-classes <code>$objectClass</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Node fromLdap(string|array|Zend_Ldap_Dn $dn, Zend_Ldap $ldap)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Factory method to create an attached <code>Zend_Ldap_Node</code> for a given DN. Loads an existing <code>Zend_Ldap_Node</code> with the DN <code>$dn</code> from the LDAP connection <code>$ldap</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Node fromArray((array $data, boolean $fromDataSource)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Factory method to create a detached <code>Zend_Ldap_Node</code> from array data <code>$data</code>. If <code>$fromDataSource</code> is <code>true</code> (<code>false</code> by default), the data is treated as beeing present in a LDAP tree.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean isNew()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Tells if the node is consiedered as new (not present on the server). Please note, that this doesn't tell if the node is really present on the server. Use <code>Zend_Ldap_Node::exists()</code> to see if a node is already there.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean willBeDeleted()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Tells if this node is going to be deleted once <code>Zend_Ldap_Node::update()</code> is called.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node delete()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Marks this node as to be deleted. Node will be deleted on calling <code>Zend_Ldap_Node::update()</code> if <code>Zend_Ldap_Node::willBeDeleted()</code> is true.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean willBeMoved()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Tells if this node is going to be moved once <code>Zend_Ldap_Node::update()</code> is called.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node update(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sends all pending changes to the LDAP server. If <code>$ldap</code> is omitted the current LDAP connection is used. If the current node is detached from a LDAP connection a <code>Zend_Ldap_Exception</code> will be thrown. If <code>$ldap</code> is provided the current node will be attached to the given LDAP connection.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn getCurrentDn()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the current DN of the current node as a Zend_Ldap_Dn. This does not reflect possible rename-operations.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn getDn()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the original DN of the current node as a Zend_Ldap_Dn. This reflects possible rename-operations.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getDnString(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the original DN of the current node as a string. This reflects possible rename-operations.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getDnArray(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the original DN of the current node as an array. This reflects possible rename-operations.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getRdnString(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current node as a string. This reflects possible rename-operations.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getRdnArray(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current node as an array. This reflects possible rename-operations.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node setDn(Zend_Ldap_Dn|string|array $newDn)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the new DN for this node effectively moving the node once <code>Zend_Ldap_Node::update()</code> is called.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node move(Zend_Ldap_Dn|string|array $newDn)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>This is an alias for <code>Zend_Ldap_Node::setDn()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node rename(Zend_Ldap_Dn|string|array $newDn)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>This is an alias for <code>Zend_Ldap_Node::setDn()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getObjectClass()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the objectClass of the node.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node setObjectClass(array|string $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets the objectClass attribute.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node appendObjectClass(array|string $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Appends to the objectClass attribute.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toLdif(array $options)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a LDIF representation of the current node. <code>$options</code> will be passed to the <code>Zend_Ldap_Ldif_Encoder</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getChangedData()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets changed node data. The array contains all changed attributes. This format can be used in <code>Zend_Ldap::add()</code> and <code>Zend_Ldap::update()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getChanges()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns all changes made.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the DN of the current node - proxies to <code>Zend_Ldap_Dn::getDnString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string __toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Casts to string representation - proxies to <code>Zend_Ldap_Dn::toString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array toArray(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns an array representation of the current node. If <code>$includeSystemAttributes</code> is <code>false</code> (defaults to <code>true</code>) the system specific attributes are stripped from the array. Unlike <code>Zend_Ldap_Node::getAttributes()</code> the resulting array contains the DN with key <code>'dn'</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toJson(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a JSON representation of the current node using <code>Zend_Ldap_Node::toArray()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getData(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the node's attributes. The array contains all attributes in its internal format (no conversion).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks whether a given attribute exists. If <code>$emptyExists</code> is <code>false</code> empty attributes (containing only array()) are treated as non-existent returning <code>false</code>. If <code>$emptyExists</code> is true empty attributes are treated as existent returning <code>true</code>. In this case teh method returns <code>false</code> only if the attribute name is missing in the key-collection.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if the given value(s) exist in the attribute. The method returns <code>true</code> only if all values in <code>$value</code> are present in the attribute. Comparison is done strictly (respecting the data type).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer count()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the number of attributes in the node. Implements Countable.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>mixed getAttribute(string $name, integer|null $index)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets a LDAP attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::getAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getAttributes(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets all attributes of node. If <code>$includeSystemAttributes</code> is <code>false</code> (defaults to <code>true</code>) the system specific attributes are stripped from the array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node setAttribute(string $name, mixed $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets a LDAP attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::setAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node appendToAttribute(string $name, mixed $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Appends to a LDAP attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::setAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array|integer getDateTimeAttribute(string $name, integer|null $index)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets a LDAP date/time attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::getDateTimeAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node setDateTimeAttribute(string $name, integer|array $value, boolean $utc)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets a LDAP date/time attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::setDateTimeAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node appendToDateTimeAttribute(string $name, integer|array $value, boolean $utc)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Appends to a LDAP date/time attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::setDateTimeAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node setPasswordAttribute(string $password, string $hashType, string $attribName)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Sets a LDAP password on <code>$attribName</code> (defaults to <code>'userPassword'</code>) to <code>$password</code> with the hash type <code>$hashType</code> (defaults to <code>Zend_Ldap_Attribute::PASSWORD_HASH_MD5</code>).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node deleteAttribute(string $name)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Deletes a LDAP attribute.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>void removeDuplicatesFromAttribute(string $name)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Removes duplicate values from a LDAP attribute.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>void removeFromAttribute(string $attribName, mixed|array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Removes the given values from a LDAP attribute.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean exists(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if the current node exists on the given LDAP server (current server is used if <code>null</code> is passed).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node reload(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Reloads the current node's attributes from the given LDAP server (current server is used if <code>null</code> is passed).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_Collection searchSubtree(string|Zend_Ldap_Filter_Abstract $filter, integer $scope, string $sort)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Searches the nodes's subtree with the given <code>$filter</code> and the given search parameters. See <code>Zend_Ldap::search()</code> for details on the parameters <code>$scope</code> and <code>$sort</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer countSubtree(string|Zend_Ldap_Filter_Abstract $filter, integer $scope)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Count the nodes's subtree items matching the the given <code>$filter</code> and the given search scope. See <code>Zend_Ldap::search()</code> for details on the <code>$scope</code> parameter.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer countChildren()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Count the nodes's children.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_Collection searchChildren(string|Zend_Ldap_Filter_Abstract $filter, string $sort)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Searches the nodes's children matching the given <code>$filter</code>. See <code>Zend_Ldap::search()</code> for details on the <code>$sort</code> parameter.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean hasChildren()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns whether the current node has children.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_ChildrenIterator getChildren()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns all children of the current node.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node getParent(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the parent of the current node using the LDAP connection <code>$ldap</code> (uses the current LDAP connection if omitted).</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-node-rootdse">
|
|
|
+ <title>Zend_Ldap_Node_RootDse</title>
|
|
|
+ <para>The following methods are available on all vendor-specific subclasses.</para>
|
|
|
+ <para><code>Zend_Ldap_Node_RootDse</code> includes the magic propery accessors <code>__get()</code> and <code>__isset()</code> to access the attributes by their name. They proxy to <code>Zend_Ldap_Node_RootDse::getAttribute()</code> and <code>Zend_Ldap_Node_RootDse::existsAttribute()</code> respectively. <code>__set()</code> and <code>__unset()</code> are also implemented but they throw a <code>BadMethodCallException</code> as modifications are not allowed on RootDSE nodes. Furthermore the class implements <code>ArrayAccess</code> for array-style-access to the attributes. <code>offsetSet()</code> and <code>offsetUnset()</code> also throw a <code>BadMethodCallException</code> due ro obvious reasons.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.table">
|
|
|
+ <title>Zend_Ldap_Node_RootDse API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn getDn()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current node as a Zend_Ldap_Dn.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getDnString(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current node as a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getDnArray(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current node as an array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getRdnString(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current node as a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getRdnArray(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current node as an array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getObjectClass()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the objectClass of the node.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the DN of the current node - proxies to <code>Zend_Ldap_Dn::getDnString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string __toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Casts to string representation - proxies to <code>Zend_Ldap_Dn::toString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array toArray(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns an array representation of the current node. If <code>$includeSystemAttributes</code> is <code>false</code> (defaults to <code>true</code>) the system specific attributes are stripped from the array. Unlike <code>Zend_Ldap_Node_RootDse::getAttributes()</code> the resulting array contains the DN with key <code>'dn'</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toJson(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a JSON representation of the current node using <code>Zend_Ldap_Node_RootDse::toArray()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getData(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the node's attributes. The array contains all attributes in its internal format (no conversion).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks whether a given attribute exists. If <code>$emptyExists</code> is <code>false</code> empty attributes (containing only array()) are treated as non-existent returning <code>false</code>. If <code>$emptyExists</code> is true empty attributes are treated as existent returning <code>true</code>. In this case teh method returns <code>false</code> only if the attribute name is missing in the key-collection.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if the given value(s) exist in the attribute. The method returns <code>true</code> only if all values in <code>$value</code> are present in the attribute. Comparison is done strictly (respecting the data type).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer count()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the number of attributes in the node. Implements Countable.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>mixed getAttribute(string $name, integer|null $index)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets a LDAP attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::getAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getAttributes(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets all attributes of node. If <code>$includeSystemAttributes</code> is <code>false</code> (defaults to <code>true</code>) the system specific attributes are stripped from the array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array|integer getDateTimeAttribute(string $name, integer|null $index)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets a LDAP date/time attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::getDateTimeAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Reloads the current node's attributes from the given LDAP server.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Node_RootDse create(Zend_Ldap $ldap)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Factory method to create the RootDSE.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getNamingContexts()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the namingContexts.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getSubschemaSubentry()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the subschemaSubentry.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsVersion(string|int|array $versions)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the LDAP version is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsSaslMechanism(string|array $mechlist)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the sasl mechanism is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer getServerType()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server type. Returns
|
|
|
+ <variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for unknown LDAP servers</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for OpenLDAP servers</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for Microsoft ActiveDirectory servers</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</code>
|
|
|
+ </term>
|
|
|
+ <listitem>For Novell eDirectory servers</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn getSchemaDn()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the schema DN.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap">
|
|
|
+ <title>OpenLDAP</title>
|
|
|
+ <para>Additionally the common methods above apply to instances of <code>Zend_Ldap_Node_RootDse_OpenLdap</code>.</para>
|
|
|
+ <note><para>Refer to <ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">LDAP Operational Attributes and Objects</ulink> for information on the attributes of OpenLDAP RootDSE.</para></note>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table">
|
|
|
+ <title>Zend_Ldap_Node_RootDse_OpenLdap API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer getServerType()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server type. Returns <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</code>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getConfigContext()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the configContext.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getMonitorContext()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the monitorContext.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsControl(string|array $oids)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the control is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsExtension(string|array $oids)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the extension is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsFeature(string|array $oids)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the feature is supported.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect4>
|
|
|
+ <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory">
|
|
|
+ <title>ActiveDirectory</title>
|
|
|
+ <para>Additionally the common methods above apply to instances of <code>Zend_Ldap_Node_RootDse_ActiveDirectory</code>.</para>
|
|
|
+ <note><para>Refer to <ulink url="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx">RootDSE</ulink> for information on the attributes of Microsoft ActiveDirectory RootDSE.</para></note>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table">
|
|
|
+ <title>Zend_Ldap_Node_RootDse_ActiveDirectory API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer getServerType()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server type. Returns <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</code>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getConfigurationNamingContext()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the configurationNamingContext.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getCurrentTime()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the currentTime.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getDefaultNamingContext()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the defaultNamingContext.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getDnsHostName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the dnsHostName.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getDomainControllerFunctionality()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the domainControllerFunctionality.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getDomainFunctionality()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the domainFunctionality.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getDsServiceName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the dsServiceName.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getForestFunctionality()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the forestFunctionality.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getHighestCommittedUSN()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the highestCommittedUSN.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getIsGlobalCatalogReady()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the isGlobalCatalogReady.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getIsSynchronized()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the isSynchronized.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getLdapServiceName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the ldapServiceName.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getRootDomainNamingContext()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the rootDomainNamingContext.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getSchemaNamingContext()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the schemaNamingContext.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getServerName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the serverName.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsCapability(string|array $oids)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the capability is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsControl(string|array $oids)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the control is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsPolicy(string|array $policies)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the version is supported.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect4>
|
|
|
+ <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory">
|
|
|
+ <title>eDirectory</title>
|
|
|
+ <para>Additionally the common methods above apply to instances of <code>Zend_Ldap_Node_RootDse_eDirectory</code>.</para>
|
|
|
+ <note><para>Refer to <ulink url="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html">Getting Information about the LDAP Server</ulink> for information on the attributes of Novell eDirectory RootDSE.</para></note>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table">
|
|
|
+ <title>Zend_Ldap_Node_RootDse_eDirectory API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer getServerType()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server type. Returns <code>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</code>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean supportsExtension(string|array $oids)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Determines if the extension is supported.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getVendorName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the vendorName.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getVendorVersion()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the vendorVersion.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getDsaName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the dsaName.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsErrors()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "errors".</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsSecurityErrors()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "securityErrors".</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsChainings()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "chainings".</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsReferralsReturned()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "referralsReturned".</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsExtendedOps()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "extendedOps".</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsAbandonOps()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "abandonOps".</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string|null getStatisticsWholeSubtreeSearchOps()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the server statistics "wholeSubtreeSearchOps".</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect4>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-node-schema">
|
|
|
+ <title>Zend_Ldap_Node_Schema</title>
|
|
|
+ <para>The following methods are available on all vendor-specific subclasses.</para>
|
|
|
+ <para><code>Zend_Ldap_Node_Schema</code> includes the magic propery accessors <code>__get()</code> and <code>__isset()</code> to access the attributes by their name. They proxy to <code>Zend_Ldap_Node_Schema::getAttribute()</code> and <code>Zend_Ldap_Node_Schema::existsAttribute()</code> respectively. <code>__set()</code> and <code>__unset()</code> are also implemented but they throw a <code>BadMethodCallException</code> as modifications are not allowed on RootDSE nodes. Furthermore the class implements <code>ArrayAccess</code> for array-style-access to the attributes. <code>offsetSet()</code> and <code>offsetUnset()</code> also throw a <code>BadMethodCallException</code> due ro obvious reasons.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Dn getDn()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current node as a Zend_Ldap_Dn.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getDnString(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current node as a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getDnArray(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the DN of the current node as an array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getRdnString(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current node as a string.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getRdnArray(string $caseFold)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the RDN of the current node as an array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getObjectClass()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the objectClass of the node.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the DN of the current node - proxies to <code>Zend_Ldap_Dn::getDnString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string __toString()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Casts to string representation - proxies to <code>Zend_Ldap_Dn::toString()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array toArray(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns an array representation of the current node. If <code>$includeSystemAttributes</code> is <code>false</code> (defaults to <code>true</code>) the system specific attributes are stripped from the array. Unlike <code>Zend_Ldap_Node_Schema::getAttributes()</code> the resulting array contains the DN with key <code>'dn'</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string toJson(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns a JSON representation of the current node using <code>Zend_Ldap_Node_Schema::toArray()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getData(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the node's attributes. The array contains all attributes in its internal format (no conversion).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks whether a given attribute exists. If <code>$emptyExists</code> is <code>false</code> empty attributes (containing only array()) are treated as non-existent returning <code>false</code>. If <code>$emptyExists</code> is true empty attributes are treated as existent returning <code>true</code>. In this case teh method returns <code>false</code> only if the attribute name is missing in the key-collection.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Checks if the given value(s) exist in the attribute. The method returns <code>true</code> only if all values in <code>$value</code> are present in the attribute. Comparison is done strictly (respecting the data type).</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer count()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the number of attributes in the node. Implements Countable.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>mixed getAttribute(string $name, integer|null $index)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets a LDAP attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::getAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getAttributes(boolean $includeSystemAttributes)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets all attributes of node. If <code>$includeSystemAttributes</code> is <code>false</code> (defaults to <code>true</code>) the system specific attributes are stripped from the array.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array|integer getDateTimeAttribute(string $name, integer|null $index)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets a LDAP date/time attribute. Data conversion is applied using <code>Zend_Ldap_Attribute::getDateTimeAttribute()</code>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_Schema reload(Zend_Ldap $ldap)</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Reloads the current node's attributes from the given LDAP server.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>Zend_Ldap_Node_Schema create(Zend_Ldap $ldap)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Factory method to create the Schema node.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getAttributeTypes()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the attribute types as an array of <code/>.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getObjectClasses()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the object classes as an array of <code>Zend_Ldap_Node_Schema_ObjectClass_Interface</code>.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.attributetype-interface.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_AttributeType_Interface API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the attribute name.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getOid()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the attribute OID.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getSyntax()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the attribute syntax.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>int|null getMaxLength()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the attribute maximum length.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>boolean isSingleValued()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns if the attribute is single-valued.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getDescription()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the attribute description</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.objectclass-interface.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_ObjectClass_Interface API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getName()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the objectClass name.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getOid()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the objectClass OID.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getMustContain()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the attributes that this objectClass must contain.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getMayContain()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the attributes that this objectClass may contain.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>string getDescription()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the attribute description</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer getType()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the objectClass type. The method returns one of the following values:
|
|
|
+<variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_UNKNOWN</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for unknown class types</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_STRUCTURAL</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for structural classes</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_ABSTRACT</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for abstract classes</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_AUXILIARY</code>
|
|
|
+ </term>
|
|
|
+ <listitem>for auxiliary classes</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getParentClasses()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the parent objectClasses of this class. This includes structural, abstract and auxiliary objectClasses.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <para>Classes representing attribute types and object classes extend <code>Zend_Ldap_Node_Schema_Item</code> which provides some core methods to access arbitrary attributes on the underlying LDAP node. <code>Zend_Ldap_Node_Schema_Item</code> includes the magic propery accessors <code>__get()</code> and <code>__isset()</code> to access the attributes by their name. Furthermore the class implements <code>ArrayAccess</code> for array-style-access to the attributes. <code>offsetSet()</code> and <code>offsetUnset()</code> throw a <code>BadMethodCallException</code> as modifications are not allowed on schema information nodes.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.schema-item.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_Item API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getData()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets all the underlying data from the schema information node.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>integer count()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Returns the number of attributes in this schema information node. Implements Countable.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <sect4 id="zend.ldap.api.reference.zend-ldap-node-schema.openldap">
|
|
|
+ <title>OpenLDAP</title>
|
|
|
+ <para>Additionally the common methods above apply to instances of <code>Zend_Ldap_Node_Schema_OpenLDAP</code>.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_OpenLDAP API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getLdapSyntaxes()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the LDAP syntaxes.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getMatchingRules()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the matching rules.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>array getMatchingRuleUse()</code>
|
|
|
+ </entry>
|
|
|
+ <entry>Gets the matching rule use.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.attributetype-interface.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_AttributeType_OpenLDAP API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><code>Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null getParent()</code></entry>
|
|
|
+ <entry>Returns the parent attribute type in the inhertitance tree if one exists.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.objectclass-interface.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_ObjectClass_OpenLDAP API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry><code>array getParents()</code></entry>
|
|
|
+ <entry>Returns the parent object classes in the inhertitance tree if one exists. The returned array is an array of <code>Zend_Ldap_Node_Schema_ObjectClass_OpenLdap</code>.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect4>
|
|
|
+ <sect4 id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory">
|
|
|
+ <title>ActiveDirectory</title>
|
|
|
+ <note>
|
|
|
+ <title>Schema browsing on ActiveDirectory servers</title>
|
|
|
+ <para>Due to restrictions on Microsoft ActiveDirectory servers regarding the number of entries returned by generic search routines and due to the structure of the ActiveDirectory schema repository, schema browsing is currently <emphasis>not</emphasis> available for Microsoft ActiveDirectory servers.</para>
|
|
|
+ </note>
|
|
|
+ <para>
|
|
|
+ <code>Zend_Ldap_Node_Schema_ActiveDirectory</code> does not provide any additional methods.</para>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.attributetype-interface.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory API</title>
|
|
|
+ <tgroup cols="1">
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory</code> does not provide any additional methods.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.objectclass-interface.table">
|
|
|
+ <title>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory API</title>
|
|
|
+ <tgroup cols="1">
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <code>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory</code> does not provide any additional methods.</entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect4>
|
|
|
+ </sect3>
|
|
|
+ <sect3 id="zend.ldap.api.reference.zend-ldap-ldif-encoder">
|
|
|
+ <title>Zend_Ldif_Encoder</title>
|
|
|
+ <table id="zend.ldap.api.reference.zend-ldap-ldif-encoder.table">
|
|
|
+ <title>Zend_Ldif_Encoder API</title>
|
|
|
+ <tgroup cols="2">
|
|
|
+ <thead>
|
|
|
+ <row>
|
|
|
+ <entry>Method</entry>
|
|
|
+ <entry>Description</entry>
|
|
|
+ </row>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>array decode(string $string)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Decodes the string <code>$string</code> into an array of LDIF items.</entry>
|
|
|
+ </row>
|
|
|
+ <row>
|
|
|
+ <entry>
|
|
|
+ <emphasis>
|
|
|
+ <code>string encode(scalar|array|Zend_Ldap_Node $value, array $options)</code>
|
|
|
+ </emphasis>
|
|
|
+ </entry>
|
|
|
+ <entry>Encode <code>$value</code> into a LDIF representation. <code>$options</code> is an array that may contain the following keys:
|
|
|
+ <variablelist>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>'sort'</code>
|
|
|
+ </term>
|
|
|
+ <listitem>Sort the given attributes with <code>dn</code> following <code>objectClass</code> and following all other attributes sorted alphabetically. <code>true</code> by default.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>'version'</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The LDIF format version. <code>1</code> by default.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ <varlistentry>
|
|
|
+ <term>
|
|
|
+ <code>'wrap'</code>
|
|
|
+ </term>
|
|
|
+ <listitem>The line-length. <code>78</code> by default to conform to the LDIF specification.</listitem>
|
|
|
+ </varlistentry>
|
|
|
+ </variablelist>
|
|
|
+ </entry>
|
|
|
+ </row>
|
|
|
+ </tbody>
|
|
|
+ </tgroup>
|
|
|
+ </table>
|
|
|
+ </sect3>
|
|
|
+ </sect2>
|
|
|
+</sect1>
|