xp-framework/ldap

Function ldap_sort() is deprecated

Closed this issue · 1 comments

See http://php.net/ldap_sort

Warning

This feature has been DEPRECATED as of PHP 7.0.0. Relying on this feature is highly discouraged.

Should be replaced

Test script:

<?php namespace sort;

use peer\ldap\{LDAPConnection, LDAPQuery};
use util\cmd\Console;

$conn= new LDAPConnection('ldap://ldap.example.com:389/');
$conn->connect();

$entries= $conn->searchBy((new LDAPQuery('ou=People,ou=contacts,dc=example,dc=com', $argv[1]))
  ->setScope(LDAPQuery::SCOPE_ONELEVEL)
  ->setSort(array_slice($argv, 2))
);
Console::writeLine($argv[1], ' -> ', $entries);
foreach ($entries as $entry) {
  Console::writeLine('> ', $entry->getDN());
}

Invocation:

# No sorting
$ xp sort.script.php "cn=Friebe*"
cn=Friebe* -> peer.ldap.LDAPSearchResult@(3 entries)
> uid=1645,ou=People,ou=contacts,dc=example,dc=com
> uid=1549,ou=People,ou=contacts,dc=example,dc=com
> uid=21200253,ou=People,ou=contacts,dc=example,dc=com

# Sort by givenName attribute
$ xp sort.script.php "cn=Friebe*" givenName
cn=Friebe* -> peer.ldap.LDAPSearchResult@(3 entries)
> uid=21200253,ou=People,ou=contacts,dc=example,dc=com
> uid=1645,ou=People,ou=contacts,dc=example,dc=com
> uid=1549,ou=People,ou=contacts,dc=example,dc=com