Net_LDAP
pear.php.net
Object oriented interface for searching and manipulating LDAP-entries
Net_LDAP is a clone of Perls Net::LDAP object interface to directory servers. It does contain most of Net::LDAPs features but has some own too. With Net_LDAP you have: * A simple object-oriented interface to connections, searches entries and filters. * Support for tls and ldap v3. * Simple modification, deletion and creation of ldap entries. * Support for schema handling.

Net_LDAP layers itself on top of PHP's existing ldap extensions.
Tarjei Huse
tarjei
tarjei@nu.no no
Jan Wagner
jw
wagner@netsols.de no
Benedikt Hallinger
beni
beni@php.net yes
2009-07-03
11:32:56
1.1.5
1.1.2
stable
stable
LGPL License
* Ported the fix (RFC-1777) in connect() from Net_LDAP2 v2.0.3
4.2
1.5.0
0.1
0.1
beta
beta
2003-06-23
LGPL License
Initial release
0.2
0.2
beta
beta
2003-08-23
LGPL License
Fixed a lot of bugs that jumped in during the pearification process
0.3
0.3
beta
beta
2003-09-21
LGPL License
More bug squashing! Much better errorhandling in the -search() function. Also, all errors that create a Pear_error now includes the errornumber if appropriate (i.e. it was an ldap generated error).
0.4
0.4
beta
beta
2003-10-01
LGPL License
Many more bugfixes. Jan Wagner fixed the shift_entry function. Also a new Net_LDAP_Entry::modify function has been added that goes far making a simple way to modify entries.
0.5
0.5
beta
beta
2003-10-11
LGPL License
Jan Wagner Contributed a new RootDSE object and a Schema object and some fixes to the Net_LDAP::search() method The new Net_ldap_entry::modify() method seems to work very nice now.
0.6
0.6
beta
beta
2003-10-17
LGPL License
New Net_LDAP::ArrayUTF8Decode and Net_LDAP::ArrayUTF8Encode functions. These are used by the Net_LDAP::Entry objects to ensure that things work ok.
0.6.3
0.6.3
beta
beta
2003-11-12
LGPL License
It seems that 0.6.2 was out too fast. So this is mainly a bugfix release: - Removed remaining Net_LDAP::UTF8Encode and Net_LDAP::UTF8Decode calls in Net_LDAP_Entry, which stopped attributes() and get_entry() from working - The UTF8 functions somehow got outside the Net_LDAP class ... FIXED. - The usuage example of the last release was wrong. We decided to move UTF8 handling into Net_LDAP. Handling should be done this way:

$attr = $ldap-utf8Encode($attr); $entry-modify($attr); $attr = $ldap-utf8Decode( $entry-attributes() ); - This means Net_LDAP_Util is useless right now, but will be extended in the future. - Jan did a complete overhaul of the phpdoc stuff. Everything seems to be fine now with phpDocumentor.
2007-02-05
0.7.0
0.7.0
beta
beta
LGPL License
This long awaited release of Net_LDAP features more stability and new functionality. The main changes are: - Rewrite of much of the code (including some api changes!) - LOTS of fixed bugs! - New class for easy filter handling (Net_LDAP_Filter) - Sorting support for searchresults (including multivalued sorting!) - Searched Entries can now be fetched as_struct() (array)! - Some memory optimizations

Please note also that Net_LDAPs configuration changed slightly. Please see $_config in LDAP.php for the new parameters.
2007-02-23
0.7.1
0.7.0
beta
beta
LGPL License
This is not just a bugfix release of 0.7.0 but also introduces some internal optimisations: - Fixed a connection bug whith LDAP V3 only servers - clearer sanitizing of the host config parameter
2007-05-07
0.7.2
0.7.2
beta
beta
LGPL License
This release features some internal code movements to be more compatible to PERL::Net_LDAP. The movements include: * Removed UTF8 en-/decoding stuff from Net_LDAP_Utils class since this was moved to Net_LDAP class in 0.6.6 * Moved Filter encoding from Net_LDAP_Filter to Net_LDAP_Util * Moved ldap_explode_dn_escaped() from Net_LDAP_Entry to Net_LDAP_Util * Added perls functions from Net_LDAP::Util to our Util class, but they still need some work Please note that ldap_explode_dn_escaped() is not available from Net_LDAP_Entry anymore.

Additionally some new functionality has been introduced: * You can now apply regular expressions directly to a entrys attributes and don't need to fetch the attribute values manually. * Net_LDAP_Schema can check if a attributes syntax is binary

The following bugs have been resolved: * Connections to LDAP servers that forbid anonymous binds are possible again * The JPEG attribute is now properly returned as binary value instead of string * If the array describing selected attributes in searches didn't contain consecutive keys, there was a problem sometimes * Some PHP5 return issues
2007-06-12
0.7.3
0.7.2
beta
beta
LGPL License
This release introduces some example files showing you in detail how to work with Net_LDAP. Additionally, a bug at recursive deletion of an entry is fixed and the Net_LDAP_Filter class is slightly optimized.
2007-06-20
1.0.0RC1
1.0.0RC1
beta
beta
LGPL License
Again some small Bugfixes, most notably a bug within $ldap->modify() that occured when using the combined 'changes' array. Besides that, $search->popEntry() and the corresponding alias pop_entry() has been implemented. Net_LDAP_Util::unescape_filter_value() is available too now and Net_LDAP_Util::escape_filter_value() can handle ASCII chars smaller than 32. Above that, Net_LDAP_Util::canonical_dn() has been fully implemented. A new method createFresh() was added to Net_LDAP_Entry, so creation of initial entries is more standardized and clearer. A new example is available, describing the $ldap->modify() method. The add_entry.php example was updated, it shows the use of Net_LDAP_Entry::createFresh(). $ldap->add() links unlinked entries now to the connection used for the add. Some new additional utility functions are available in Net_LDAP_Util to assist you in handling attributes and dns. The LDAP-Rename command now uses this functions to deal with DN escaping issues. Please note that ldap_explode_dn_escaped() is not available from Net_LDAP_Util anymore; it got superseeded by Net_LDAP_Util::ldap_explode_dn().
2007-06-28
1.0.0RC2
1.0.0RC2
beta
beta
LGPL License
Net_LDAP->dnExists() uses the Util class now, which makes it safer. A new move() method is available from Net_LDAP. Please note, that the copy() method was removed from the Net_LDAP_Entry class since people would expect attribute moving because of the overall API of Net_LDAP. Instead use the more failsafer copy() from Net_LDAP.
2007-07-24
1.0.0RC3
1.0.0RC3
beta
beta
LGPL License
Fixed a bug with dnExists() that was caused mainly by bad behavior of Net_LDAP_UTIL::ldap_explode_dn(). Fixed a bug with call time pass-by-reference if calling $entry->update(); however this inflicted a API change: The parameter $ldap is not available anymore, you need to use $entry->setLDAP() prior update now if you want to change the LDAP object. This brought us a more logical API now, since Entry operations should be performed by the Net_LDAP object.
2007-09-18
1.0.0RC4
1.0.0RC4
beta
beta
LGPL License
- Fixed some minor bugs of RC3 - Reintroduced $ldap parameter for $entry-update(), but it is not prefferred to use this way. The Parameter is there for perl interface compatibility
2007-10-29
1.0.0
1.0.0
stable
stable
LGPL License
After more than four years of development, we are very proud to announce the ~ FIRST STABLE Net_LDAP RELEASE 1.0.0 ~ Net_LDAP ist tested now and should be stable enough for production use. The API is finished so far, no changes should be neccessary in the future.

Changes to Release candidate 4: - Implemented PHPUnit tests - Fixed some minor bugs of RC4 (including the schema loading warning-generation) - Fixed several bugs in Net_LDAP_Util - Improved Net_LDAP_Filter and Net_LDAP_Util error handling and code cleanness - Completely implemented Net_LDAP_Filter perl interface - Improved several doc comments and fixed some spelling errors
2008-01-14
1.1.0a1
1.1.0a1
beta
beta
LGPL License
* Added LDIF reading and writing support * Fixed minor issues of 1.0.0 release
2008-01-21
1.1.0a2
1.1.0a2
beta
beta
LGPL License
* Added parseLines() to Net_LDAP_LDIF for more convinience * Added some handy methods to Net_LDAP_Entry * Enhanced tests
2008-02-27
1.1.0
1.1.0
stable
stable
LGPL License
* Fixed a little bug at cross directory move * Fixed a bug when deleting a subtree containing several subentries that failed if one called dnExists() prior calling delete() * Fixed some minor bugs at NeT_LDAP->move() and Net_LDAP->dnExists() * Added Net_LDAP tests * Changed API of Net_LDAP->copy() to only accept Net_LDAP_Entry objects, because with DNs Attribute values will be lost /!\ This is the last release of Net_LDAP supporting PHP4 /!\
2008-03-19
1.1.1
1.1.1
stable
stable
LGPL License
This is just a bugfix release. Net_LDAP is superseeded by Net_LDAP2, please use Net_LDAP2 unless you are forced to use PHP4. * Fixed a problem with Net_LDAP_LDIF and files with DOS line endings
2008-06-04
1.1.2
1.1.2
stable
stable
LGPL License
* Backportet a patch from Net_LDAP2. Schema->isBinary() did not checked attribute supertypes * Backported a patch for Schema->isBinary() bug if unknown attribute type is requested * Bugfix in filter class for approx matching
2008-10-23
1.1.3
1.1.2
stable
stable
LGPL License
* Fixed a little issue with repetive adding the same attribute value (backported from Net_LDAP2) * Fixed issue with repetitve adding or deleting values causing Net_LDAP to send the same change multiple times
2009-04-23
1.1.4
1.1.2
stable
stable
LGPL License
* Ported the connect() method from Net_LDAP2 since it fixes some connection issues