Net_LDAP
[ class tree: Net_LDAP ] [ index: Net_LDAP ] [ all elements ]

Class: Net_LDAP

Source Location: /Net_LDAP-1.1.5/LDAP.php

Class Overview

PEAR
   |
   --Net_LDAP

Net_LDAP - manipulate LDAP servers the right way!


Author(s):

Copyright:

  • 2003-2007 Tarjej Huse, Jan Wagner, Del Elson, Benedikt Hallinger

Methods


Inherited Variables

Inherited Methods


Class Details

[line 55]
Net_LDAP - manipulate LDAP servers the right way!


[ Top ]


Method Detail

Net_LDAP (Constructor)   [line 187]

void Net_LDAP( [array $config = array()])

Net_LDAP constructor

Sets the config array

Please note that the usual way of getting Net_LDAP to work is to call something like:

  1. $ldap Net_LDAP::connect($ldap_config);

  • See: $_config
  • Access: protected

Parameters:

array   $config     Configuration array

[ Top ]

add   [line 527]

Net_LDAP_Error|true add( Net_LDAP_Entry &$entry)

Add a new entryobject to a directory.

Use add to add a new Net_LDAP_Entry object to the directory. This also links the entry to the connection used for the add, if it was a fresh entry (Net_LDAP_Entry::createFresh())

  • Return: Net_LDAP_Error object or true

Parameters:

Net_LDAP_Entry   &$entry     Net_LDAP_Entry

[ Top ]

bind   [line 271]

Net_LDAP_Error|true bind( [string $dn = null], [string $password = null])

Bind or rebind to the ldap-server

This function binds with the given dn and password to the server. In case no connection has been made yet, it will be startet and startTLS issued if appropiate.

The internal bind configuration is not being updated, so if you call bind() without parameters, you can rebind with the credentials provided at first connecting to the server.

  • Return: Net_LDAP_Error object or true
  • Access: public

Parameters:

string   $dn     Distinguished name for binding
string   $password     Password for binding

[ Top ]

checkLDAPExtension   [line 1263]

Net_LDAP_Error|true checkLDAPExtension( )

Checks if phps ldap-extension is loaded

If it is not loaded, it tries to load it manually using PHPs dl(). It knows both windows-dll and *nix-so.


[ Top ]

connect   [line 152]

Net_LDAP_Error|Net_LDAP &connect( [array $config = array()])

Creates the initial ldap-object

Static function that returns either an error object or the new Net_LDAP object. Something like a factory. Takes a config array with the needed parameters.

  • Return: Net_LDAP_Error or Net_LDAP object
  • Access: public

Parameters:

array   $config     Configuration array

[ Top ]

copy   [line 1025]

Net_LDAP_Error|Net_LDAP_Entry &copy( Net_LDAP_Entry &$entry, string $newdn)

Copy an entry to a new location

The entry will be immediately copied. Please note that only attributes you have selected will be copied.

  • Return: Error Message or reference to the copied entry

Parameters:

Net_LDAP_Entry   &$entry     Entry object
string   $newdn     New FQF-DN of the entry

[ Top ]

delete   [line 561]

Net_LDAP_Error|true delete( string|Net_LDAP_Entry $dn, [boolean $recursive = false])

Delete an entry from the directory

The object may either be a string representing the dn or a Net_LDAP_Entry object. When the boolean paramter recursive is set, all subentries of the entry will be deleted as well.

  • Return: Net_LDAP_Error object or true
  • Access: public

Parameters:

string|Net_LDAP_Entry   $dn     DN-string or Net_LDAP_Entry
boolean   $recursive     Should we delete all children recursive as well?

[ Top ]

dnExists   [line 887]

boolean|Net_LDAP_Error dnExists( string $dn)

Tell if a DN does exist in the directory

Parameters:

string   $dn     The DN of the object to test

[ Top ]

done   [line 501]

void done( )

Close LDAP connection.

Closes the connection. Use this when the session is over.


[ Top ]

errorMessage   [line 1054]

string errorMessage( int $errorcode)

Returns the string for an ldap errorcode.

Made to be able to make better errorhandling Function based on DB::errorMessage() Tip: The best description of the errorcodes is found here: http://www.directory-info.com/LDAP/LDAPErrorCodes.html

  • Return: The errorstring for the error.

Parameters:

int   $errorcode     Error code

[ Top ]

getEntry   [line 929]

Net_LDAP_Entry|Net_LDAP_Error &getEntry( string $dn, [array $attr = array()])

Get a specific entry based on the DN
  • Return: Reference to a Net_LDAP_Entry object or Net_LDAP_Error object
  • Todo: Maybe check against the shema should be done to be sure the attribute type exists

Parameters:

string   $dn     DN of the entry that should be fetched
array   $attr     Array of Attributes to select

[ Top ]

getLDAPVersion   [line 854]

int getLDAPVersion( )

Get the LDAP_PROTOCOL_VERSION that is used on the connection.

A lot of ldap functionality is defined by what protocol version the ldap server speaks. This might be 2 or 3.


[ Top ]

getLink   [line 1387]

resource &getLink( )

Get the LDAP link
  • Return: LDAP link
  • Access: public

[ Top ]

getOption   [line 822]

Net_LDAP_Error|string getOption( string $option)

Get an LDAP option value
  • Return: Net_LDAP_Error or option value
  • Access: public

Parameters:

string   $option     Option to get

[ Top ]

getVersion   [line 135]

string getVersion( )

Returns the Net_LDAP Release version, may be called statically
  • Return: Net_LDAP version

[ Top ]

isError   [line 1134]

boolean isError( mixed $var)

Tell whether variable is a Net_LDAP_Error or not
  • Access: public

Parameters:

mixed   $var     A variable, most commonly some Net_LDAP* object

[ Top ]

modify   [line 629]

Net_LDAP_Error|true modify( string|Net_LDAP_Entry &$entry, [array $parms = array()])

Modify an ldapentry directly on the server

This one takes the DN or a Net_LDAP_Entry object and an array of actions. This array should be something like this:

array('add' => array('attribute1' => array('val1', 'val2'), 'attribute2' => array('val1')), 'delete' => array('attribute1'), 'replace' => array('attribute1' => array('val1')), 'changes' => array('add' => ..., 'replace' => ..., 'delete' => array('attribute1', 'attribute2' => array('val1')))

The changes array is there so the order of operations can be influenced (the operations are done in order of appearance). The order of execution is as following:

  1. adds from 'add' array
  2. deletes from 'delete' array
  3. replaces from 'replace' array
  4. changes (add, replace, delete) in order of appearance
All subarrays (add, replace, delete, changes) may be given at the same time.

The function calls the corresponding functions of an Net_LDAP_Entry object. A detailed description of array structures can be found there.

Unlike the modification methods provided by the Net_LDAP_Entry object, this method will instantly carry out an update() after each operation, thus modifying "directly" on the server.

  • Return: Net_LDAP_Error object or true
  • Access: public

Parameters:

string|Net_LDAP_Entry   &$entry     DN-string or Net_LDAP_Entry
array   $parms     Array of changes

[ Top ]

move   [line 968]

Net_LDAP_Error|true move( string|Net_LDAP_Entry &$entry, string $newdn, [Net_LDAP $target_ldap = null])

Rename or move an entry

This method will instantly carry out an update() after the move, so the entry is moved instantly. You can pass an optional Net_LDAP object. In this case, a cross directory move will be performed which deletes the entry in the source (THIS) directory and adds it in the directory $target_ldap. A cross directory move will switch the Entrys internal LDAP reference so updates to the entry will go to the new directory.

Note that if you want to do a cross directory move, you need to pass an Net_LDAP_Entry object, otherwise the attributes will be empty.


Parameters:

string|Net_LDAP_Entry   &$entry     Entry DN or Entry object
string   $newdn     New location
Net_LDAP   $target_ldap     (optional) Target directory for cross server move; should be passed via reference

[ Top ]

rootDse   [line 1148]

Net_LDAP_Error|Net_LDAP_RootDSE &rootDse( [array $attrs = null])

Gets a rootDSE object
  • Return: Net_LDAP_Error or Net_LDAP_RootDSE object
  • Author: Jan Wagner <wagner@netsols.de>
  • Access: public

Parameters:

array   $attrs     Array of attributes to search for

[ Top ]

root_dse   [line 1180]

Net_LDAP_Error|Net_LDAP_RootDSE &root_dse( )

Alias function of rootDse() for perl-ldap interface

[ Top ]

schema   [line 1195]

Net_LDAP_Schema|Net_LDAP_Error &schema( [string $dn = null])

Get a schema object
  • Return: Net_LDAP_Schema or Net_LDAP_Error object
  • Author: Jan Wagner <wagner@netsols.de>
  • Access: public

Parameters:

string   $dn     Subschema entry dn

[ Top ]

search   [line 704]

Net_LDAP_Search|Net_LDAP_Error search( [string $base = null], [string|Net_LDAP_Filter $filter = null], [array $params = array()])

Run a ldap query

Search is used to query the ldap-database. $base and $filter may be ommitted.The one from config will then be used. Params may contain:

scope: The scope which will be used for searching base - Just one entry sub - The whole tree one - Immediately below $base sizelimit: Limit the number of entries returned (default: 0 = unlimited), timelimit: Limit the time spent for searching (default: 0 = unlimited), attrsonly: If true, the search will only return the attribute names, attributes: Array of attribute names, which the entry should contain. It is good practice to limit this to just the ones you need. [NOT IMPLEMENTED] deref: By default aliases are dereferenced to locate the base object for the search, but not when searching subordinates of the base object. This may be changed by specifying one of the following values:

never - Do not dereference aliases in searching or in locating the base object of the search. search - Dereference aliases in subordinates of the base object in searching, but not in locating the base object of the search. find always

Please note, that you cannot override server side limitations to sizelimit and timelimit: You can always only lower a given limit.

  • Return: Net_LDAP_Search object or Net_LDAP_Error object
  • Access: public

Parameters:

string   $base     LDAP searchbase
string|Net_LDAP_Filter   $filter     LDAP search filter or a Net_LDAP_Filter object
array   $params     Array of options

[ Top ]

setLDAPVersion   [line 871]

Net_LDAP_Error|true setLDAPVersion( [int $version = 0])

Set the LDAP_PROTOCOL_VERSION that is used on the connection.
  • Return: Net_LDAP_Error object or true

Parameters:

int   $version     LDAP-version that should be used

[ Top ]

setOption   [line 790]

Net_LDAP_Error|true setOption( string $option, mixed $value)

Set an LDAP option
  • Return: Net_LDAP_Error object or true
  • Access: public

Parameters:

string   $option     Option to set
mixed   $value     Value to set Option to

[ Top ]

startTLS   [line 472]

Net_LDAP_Error|true startTLS( )

Starts an encrypted session
  • Return: Net_LDAP_Error object or true
  • Access: public

[ Top ]

start_tls   [line 488]

void start_tls( )

alias function of startTLS() for perl-ldap interface

[ Top ]

utf8Decode   [line 1312]

array|Net_LDAP_Error utf8Decode( array $attributes)

Decodes the given attribute values if needed by schema

$attributes is expected to be an array with keys describing the attribute names and the values as the value of this attribute:

  1.  $attributes = array('cn' => 'foo''attr2' => array('mv1''mv2'));


Parameters:

array   $attributes     Array of attributes

[ Top ]

utf8Encode   [line 1292]

array|Net_LDAP_Error utf8Encode( array $attributes)

Encodes given attributes to UTF8 if needed by schema

This function takes attributes in an array and then checks against the schema if they need UTF8 encoding. If that is so, they will be encoded. An encoded array will be returned and can be used for adding or modifying.

$attributes is expected to be an array with keys describing the attribute names and the values as the value of this attribute:

  1.  $attributes = array('cn' => 'foo''attr2' => array('mv1''mv2'));

  • Return: Array of UTF8 encoded attributes or Error
  • Access: public

Parameters:

array   $attributes     Array of attributes

[ Top ]


Documentation generated on Fri, 03 Jul 2009 11:00:07 +0000 by phpDocumentor 1.4.2. PEAR Logo Copyright © PHP Group 2004.