File: Schema.txt

package info (click to toggle)
php-net-ldap 1%3A1.1.5-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 520 kB
  • ctags: 1,119
  • sloc: php: 3,083; xml: 487; makefile: 2
file content (64 lines) | stat: -rw-r--r-- 1,741 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Examples:

First of all connect to your server as usual. (Some servers require
authentication to get the Subschema entry)

$config = array( 'host' => 'localhost' );
$ldap = Net_LDAP::connect( $config );
if( Net_LDAP::isError( $ldap ) ) die ( $ldap->getMessage() )

Then we can get the schema.

$schema = $ldap->schema();
if( Net_LDAP::isError( $schema ) ) die ( $schema->getMessage() );

You can give a parameter to $ldap->schema() which sets the Subschema Entry dn.
If it is omitted, the entry dn will be fetched internally via rootDSE().
If that fails it will be set to "cn=Subschema".

$schema = $ldap->schema( 'cn=Subschema' );

Now you can work with the schema and retrieve information:

$attrs = $schema->getAll( 'attributes' );

This returns an array with all attributes and their information such as syntax,
equality, max_length etc. Look at the returned array to see what information was
passed.

Valid options to getAll() are:

objectclasses
attributes
ditcontentrules
ditstructurerules
matchingrules
matchingruleuses
nameforms
syntaxes

If you know the the name of an attribute or objectclass you can get the 
information directly.

$attr = $schema->get('attribute', 'userPassword');
$oc   = $schema->get('objectclass', 'posixAccount');

The first parameter determines the type of entry to be fetched and can be one
of:

attribute
ditcontentrule
ditstructurerule
matchingrule
matchingruleuse
nameform
objectclass
syntax

The second parameter can be the name or the oid of the entry.

You can retrieve a list of required and optional attributes of an object class
via must( $oc ) or may( $oc ). Both return a list of attributes in an array.

$required = $schema->must( 'posixAccount' );
$optional = $schema->may( 'posixAccount' );