Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JClientLdap
+ Graphe d'héritage de JClientLdap:

Liste de tous les membres

Fonctions membres publiques

 __construct ($configObj=null)
 connect ()
 close ()
 setDN ($username, $nosub=0)
 getDN ()
 anonymous_bind ()
 bind ($username=null, $password=null, $nosub=0)
 simple_search ($search)
 search (array $filters, $dnoverride=null, array $attributes=array())
 replace ($dn, $attribute)
 modify ($dn, $attribute)
 remove ($dn, $attribute)
 compare ($dn, $attribute, $value)
 read ($dn)
 delete ($dn)
 create ($dn, array $entries)
 add ($dn, array $entry)
 rename ($dn, $newdn, $newparent, $deleteolddn)
 getErrorMsg ()

Fonctions membres publiques statiques

static ipToNetAddress ($ip)
static LDAPNetAddr ($networkaddress)
static generatePassword ($password, $type= 'md5')

Attributs publics

 $host = null
 $auth_method = null
 $port = null
 $base_dn = null
 $users_dn = null
 $search_string = null
 $use_ldapV3 = null
 $no_referrals = null
 $negotiate_tls = null
 $username = null
 $password = null

Attributs privés

 $_resource = null
 $_dn = null

Description détaillée

Définition à la ligne 19 du fichier ldap.php.


Documentation des constructeurs et destructeur

JClientLdap::__construct (   $configObj = null)

Constructor

Paramètres:
object$configObjAn object of configuration variables
Depuis:
12.1

Réimplémentée dans JLDAP.

Définition à la ligne 108 du fichier ldap.php.

{
if (is_object($configObj))
{
$vars = get_class_vars(get_class($this));
foreach (array_keys($vars) as $var)
{
if (substr($var, 0, 1) != '_')
{
$param = $configObj->get($var);
if ($param)
{
$this->$var = $param;
}
}
}
}
}

Documentation des fonctions membres

JClientLdap::add (   $dn,
array  $entry 
)

Add an attribute to the given DN Note: DN has to exist already

Paramètres:
string$dnThe DN of the entry to add the attribute
array$entryAn array of arrays with attributes to add
Renvoie:
boolean Result of operation
Depuis:
12.1

Définition à la ligne 489 du fichier ldap.php.

Référencé par JLDAP\__construct().

{
return @ldap_mod_add($this->_resource, $dn, $entry);
}

+ Voici le graphe des appelants de cette fonction :

JClientLdap::anonymous_bind ( )

Anonymously binds to LDAP directory

Renvoie:
array
Depuis:
12.1

Définition à la ligne 233 du fichier ldap.php.

{
$bindResult = @ldap_bind($this->_resource);
return $bindResult;
}
JClientLdap::bind (   $username = null,
  $password = null,
  $nosub = 0 
)

Binds to the LDAP directory

Paramètres:
string$usernameThe username
string$passwordThe password
string$nosub...
Renvoie:
boolean
Depuis:
12.1

Définition à la ligne 251 du fichier ldap.php.

{
if (is_null($username))
{
}
if (is_null($password))
{
}
$this->setDN($username, $nosub);
$bindResult = @ldap_bind($this->_resource, $this->getDN(), $password);
return $bindResult;
}
JClientLdap::close ( )

Close the connection

Renvoie:
void
Depuis:
12.1

Définition à la ligne 183 du fichier ldap.php.

{
@ ldap_close($this->_resource);
}
JClientLdap::compare (   $dn,
  $attribute,
  $value 
)

Compare an entry and return a true or false result

Paramètres:
string$dnThe DN which contains the attribute you want to compare
string$attributeThe attribute whose value you want to compare
string$valueThe value you want to check against the LDAP attribute
Renvoie:
mixed result of comparison (true, false, -1 on error)
Depuis:
12.1

Définition à la ligne 419 du fichier ldap.php.

{
return @ldap_compare($this->_resource, $dn, $attribute, $value);
}
JClientLdap::connect ( )

Connect to server

Renvoie:
boolean True if successful
Depuis:
12.1

Définition à la ligne 136 du fichier ldap.php.

{
if ($this->host == '')
{
return false;
}
$this->_resource = @ ldap_connect($this->host, $this->port);
if ($this->_resource)
{
if ($this->use_ldapV3)
{
if (!@ldap_set_option($this->_resource, LDAP_OPT_PROTOCOL_VERSION, 3))
{
return false;
}
}
if (!@ldap_set_option($this->_resource, LDAP_OPT_REFERRALS, (int) $this->no_referrals))
{
return false;
}
if ($this->negotiate_tls)
{
if (!@ldap_start_tls($this->_resource))
{
return false;
}
}
return true;
}
else
{
return false;
}
}
JClientLdap::create (   $dn,
array  $entries 
)

Create a new DN

Paramètres:
string$dnThe DN where you want to put the object
array$entriesAn array of arrays describing the object to add
Renvoie:
boolean Result of operation
Depuis:
12.1

Définition à la ligne 473 du fichier ldap.php.

{
return @ldap_add($this->_resource, $dn, $entries);
}
JClientLdap::delete (   $dn)

Deletes a given DN from the tree

Paramètres:
string$dnThe DN of the object you want to delete
Renvoie:
boolean Result of operation
Depuis:
12.1

Définition à la ligne 458 du fichier ldap.php.

{
return @ldap_delete($this->_resource, $dn);
}
static JClientLdap::generatePassword (   $password,
  $type = 'md5' 
)
static

Generates a LDAP compatible password

Paramètres:
string$passwordClear text password to encrypt
string$typeType of password hash, either md5 or SHA
Renvoie:
string Encrypted password
Depuis:
12.1

Définition à la ligne 644 du fichier ldap.php.

{
switch (strtolower($type))
{
case 'sha':
$userpassword = '{SHA}' . base64_encode(pack('H*', sha1($password)));
break;
case 'md5':
default:
$userpassword = '{MD5}' . base64_encode(pack('H*', md5($password)));
break;
}
return $userpassword;
}
JClientLdap::getDN ( )

Get the DN

Renvoie:
string The current dn
Depuis:
12.1

Définition à la ligne 221 du fichier ldap.php.

{
return $this->_dn;
}
JClientLdap::getErrorMsg ( )

Returns the error message

Renvoie:
string error message
Depuis:
12.1

Définition à la ligne 518 du fichier ldap.php.

{
return @ldap_error($this->_resource);
}
static JClientLdap::ipToNetAddress (   $ip)
static

Converts a dot notation IP address to net address (e.g. for Netware, etc)

Paramètres:
string$ipIP Address (e.g. xxx.xxx.xxx.xxx)
Renvoie:
string Net address
Depuis:
12.1

Définition à la ligne 532 du fichier ldap.php.

{
$parts = explode('.', $ip);
$address = '1#';
foreach ($parts as $int)
{
$tmp = dechex($int);
if (strlen($tmp) != 2)
{
$tmp = '0' . $tmp;
}
$address .= '\\' . $tmp;
}
return $address;
}
static JClientLdap::LDAPNetAddr (   $networkaddress)
static

Extract readable network address from the LDAP encoded networkAddress attribute.

Please keep this document block and author attribution in place.

Novell Docs, see: http://developer.novell.com/ndk/doc/ndslib/schm_enu/data/sdk5624.html#sdk5624 for Address types: http://developer.novell.com/ndk/doc/ndslib/index.html?page=/ndk/doc/ndslib/schm_enu/data/sdk4170.html LDAP Format, String: taggedData = uint32String "#" octetstring byte 0 = uint32String = Address Type: 0= IPX Address; 1 = IP Address byte 1 = char = "#" - separator byte 2+ = octetstring - the ordinal value of the address Note: with eDirectory 8.6.2, the IP address (type 1) returns correctly, however, an IPX address does not seem to. eDir 8.7 may correct this. Enhancement made by Merijn van de Schoot: If addresstype is 8 (UDP) or 9 (TCP) do some additional parsing like still returning the IP address

Paramètres:
string$networkaddressThe network address
Renvoie:
array
Auteur:
Jay Burrell, Systems & Networks, Mississippi State University
Depuis:
12.1

Définition à la ligne 576 du fichier ldap.php.

Références JText\_().

{
$addr = "";
$addrtype = (int) substr($networkaddress, 0, 1);
// Throw away bytes 0 and 1 which should be the addrtype and the "#" separator
$networkaddress = substr($networkaddress, 2);
if (($addrtype == 8) || ($addrtype = 9))
{
// TODO 1.6: If UDP or TCP, (TODO fill addrport and) strip portnumber information from address
$networkaddress = substr($networkaddress, (strlen($networkaddress) - 4));
}
$addrtypes = array(
'IPX',
'IP',
'SDLC',
'Token Ring',
'OSI',
'AppleTalk',
'NetBEUI',
'Socket',
'UDP',
'TCP',
'UDP6',
'TCP6',
'Reserved (12)',
'URL',
'Count');
$len = strlen($networkaddress);
if ($len > 0)
{
for ($i = 0; $i < $len; $i++)
{
$byte = substr($networkaddress, $i, 1);
$addr .= ord($byte);
if (($addrtype == 1) || ($addrtype == 8) || ($addrtype = 9))
{
// Dot separate IP addresses...
$addr .= ".";
}
}
if (($addrtype == 1) || ($addrtype == 8) || ($addrtype = 9))
{
// Strip last period from end of $addr
$addr = substr($addr, 0, strlen($addr) - 1);
}
}
else
{
$addr .= JText::_('JLIB_CLIENT_ERROR_LDAP_ADDRESS_NOT_AVAILABLE');
}
return array('protocol' => $addrtypes[$addrtype], 'address' => $addr);
}

+ Voici le graphe d'appel pour cette fonction :

JClientLdap::modify (   $dn,
  $attribute 
)

Modifies an entry and return a true or false result

Paramètres:
string$dnThe DN which contains the attribute you want to modify
string$attributeThe attribute values you want to modify
Renvoie:
mixed result of comparison (true, false, -1 on error)
Depuis:
12.1

Définition à la ligne 386 du fichier ldap.php.

{
return @ldap_modify($this->_resource, $dn, $attribute);
}
JClientLdap::read (   $dn)

Read all or specified attributes of given dn

Paramètres:
string$dnThe DN of the object you want to read
Renvoie:
mixed array of attributes or -1 on error
Depuis:
12.1

Définition à la ligne 433 du fichier ldap.php.

{
$base = substr($dn, strpos($dn, ',') + 1);
$cn = substr($dn, 0, strpos($dn, ','));
$result = @ldap_read($this->_resource, $base, $cn);
if ($result)
{
return @ldap_get_entries($this->_resource, $result);
}
else
{
return $result;
}
}
JClientLdap::remove (   $dn,
  $attribute 
)

Removes attribute value from given dn and return a true or false result

Paramètres:
string$dnThe DN which contains the attribute you want to remove
string$attributeThe attribute values you want to remove
Renvoie:
mixed result of comparison (true, false, -1 on error)
Depuis:
12.1

Définition à la ligne 401 du fichier ldap.php.

{
$resource = $this->_resource;
return @ldap_mod_del($resource, $dn, $attribute);
}
JClientLdap::rename (   $dn,
  $newdn,
  $newparent,
  $deleteolddn 
)

Rename the entry

Paramètres:
string$dnThe DN of the entry at the moment
string$newdnThe DN of the entry should be (only cn=newvalue)
string$newparentThe full DN of the parent (null by default)
boolean$deleteolddnDelete the old values (default)
Renvoie:
boolean Result of operation
Depuis:
12.1

Définition à la ligne 506 du fichier ldap.php.

{
return @ldap_rename($this->_resource, $dn, $newdn, $newparent, $deleteolddn);
}
JClientLdap::replace (   $dn,
  $attribute 
)

Replace an entry and return a true or false result

Paramètres:
string$dnThe DN which contains the attribute you want to replace
string$attributeThe attribute values you want to replace
Renvoie:
mixed result of comparison (true, false, -1 on error)
Depuis:
12.1

Définition à la ligne 371 du fichier ldap.php.

{
return @ldap_mod_replace($this->_resource, $dn, $attribute);
}
JClientLdap::search ( array  $filters,
  $dnoverride = null,
array  $attributes = array() 
)

Performs an LDAP search

Paramètres:
array$filtersSearch Filters (array of strings)
string$dnoverrideDN Override
array$attributesAn array of attributes to return (if empty, all fields are returned).
Renvoie:
array Multidimensional array of results
Depuis:
12.1

Définition à la ligne 301 du fichier ldap.php.

{
$result = array();
if ($dnoverride)
{
$dn = $dnoverride;
}
else
{
}
$resource = $this->_resource;
foreach ($filters as $search_filter)
{
$search_result = @ldap_search($resource, $dn, $search_filter, $attributes);
if ($search_result && ($count = @ldap_count_entries($resource, $search_result)) > 0)
{
for ($i = 0; $i < $count; $i++)
{
$result[$i] = array();
if (!$i)
{
$firstentry = @ldap_first_entry($resource, $search_result);
}
else
{
$firstentry = @ldap_next_entry($resource, $firstentry);
}
// Load user-specified attributes
$result_array = @ldap_get_attributes($resource, $firstentry);
// LDAP returns an array of arrays, fit this into attributes result array
foreach ($result_array as $ki => $ai)
{
if (is_array($ai))
{
$subcount = $ai['count'];
$result[$i][$ki] = array();
for ($k = 0; $k < $subcount; $k++)
{
$result[$i][$ki][$k] = $ai[$k];
}
}
}
$result[$i]['dn'] = @ldap_get_dn($resource, $firstentry);
}
}
}
return $result;
}
JClientLdap::setDN (   $username,
  $nosub = 0 
)

Sets the DN with some template replacements

Paramètres:
string$usernameThe username
string$nosub...
Renvoie:
void
Depuis:
12.1

Définition à la ligne 198 du fichier ldap.php.

{
if ($this->users_dn == '' || $nosub)
{
$this->_dn = $username;
}
elseif (strlen($username))
{
$this->_dn = str_replace('[username]', $username, $this->users_dn);
}
else
{
$this->_dn = '';
}
}
JClientLdap::simple_search (   $search)

Perform an LDAP search using comma separated search strings

Paramètres:
string$searchsearch string of search values
Renvoie:
array Search results
Depuis:
12.1

Définition à la ligne 278 du fichier ldap.php.

{
$results = explode(';', $search);
foreach ($results as $key => $result)
{
$results[$key] = '(' . $result . ')';
}
return $this->search($results);
}

Documentation des données membres

JClientLdap::$_dn = null
private

Définition à la ligne 99 du fichier ldap.php.

JClientLdap::$_resource = null
private

Définition à la ligne 92 du fichier ldap.php.

JClientLdap::$auth_method = null

Définition à la ligne 31 du fichier ldap.php.

JClientLdap::$base_dn = null

Définition à la ligne 43 du fichier ldap.php.

JClientLdap::$host = null

Définition à la ligne 25 du fichier ldap.php.

JClientLdap::$negotiate_tls = null

Définition à la ligne 73 du fichier ldap.php.

JClientLdap::$no_referrals = null

Définition à la ligne 67 du fichier ldap.php.

JClientLdap::$password = null

Définition à la ligne 86 du fichier ldap.php.

JClientLdap::$port = null

Définition à la ligne 37 du fichier ldap.php.

JClientLdap::$search_string = null

Définition à la ligne 55 du fichier ldap.php.

JClientLdap::$use_ldapV3 = null

Définition à la ligne 61 du fichier ldap.php.

JClientLdap::$username = null

Définition à la ligne 79 du fichier ldap.php.

JClientLdap::$users_dn = null

Définition à la ligne 49 du fichier ldap.php.


La documentation de cette classe a été générée à partir du fichier suivant :