// Déclaration manuelle
'[Nom du sous-niveau]' => array(
'dn' => '[basedn du sous-niveau]',
+ 'nologin' => true, // Désactive la connection dans ce subDn
'LSobjects' => array( // Liste des types d'LSobjets présents dans le sous-niveau
[LSobject1],
[LSobject2],
'[type d'LSobject]' => array( // le type d'LSobjet à lister
'basedn' => '[basedn]', // Le basedn de la recherche
'displayValue' => '[format]', // Format du nom des sous-niveaux
+ 'nologin' => true, // Désactive la connection dans ces subDn
'LSobjects' => array( // Liste des types d'LSobjets présents dans les sous-niveaux
[LSobject1],
[LSobject2],
*
* @retval mixed Tableau des subDn, false si une erreur est survenue.
*/
- public static function getSubDnLdapServer() {
- if (self :: cacheSudDn() && isset(self :: $_subDnLdapServer[self :: $ldapServerId])) {
+ public static function getSubDnLdapServer($login=false) {
+ $login=(bool)$login;
+ if (self :: cacheSudDn() && isset(self :: $_subDnLdapServer[self :: $ldapServerId][$login])) {
return self :: $_subDnLdapServer[self :: $ldapServerId];
}
if (!self::subDnIsEnabled()) {
}
$return=array();
foreach(self :: $ldapServer['subDn'] as $subDn_name => $subDn_config) {
+ if ($login && $subDn_config['nologin']) continue;
if ($subDn_name == 'LSobject') {
if (is_array($subDn_config)) {
foreach($subDn_config as $LSobject_name => $LSoject_config) {
}
}
if (self :: cacheSudDn()) {
- self :: $_subDnLdapServer[self :: $ldapServerId]=$return;
+ self :: $_subDnLdapServer[self :: $ldapServerId][$login]=$return;
$_SESSION['LSsession_subDnLdapServer'] = self :: $_subDnLdapServer;
}
return $return;
*
* @return array() Tableau des subDn trié
*/
- public static function getSortSubDnLdapServer() {
- $subDnLdapServer = self :: getSubDnLdapServer();
+ public static function getSortSubDnLdapServer($login=false) {
+ $subDnLdapServer = self :: getSubDnLdapServer($login);
if (!$subDnLdapServer) {
return array();
}
*
* @retval string Les options (<option>) pour la sélection du topDn.
*/
- public static function getSubDnLdapServerOptions($selected=NULL) {
- $list = self :: getSubDnLdapServer();
+ public static function getSubDnLdapServerOptions($selected=NULL,$login=false) {
+ $list = self :: getSubDnLdapServer($login);
if ($list) {
asort($list);
$display='';
else {
$sel = NULL;
}
- $list = self :: getSubDnLdapServerOptions($sel);
+ $list = self :: getSubDnLdapServerOptions($sel,true);
if (is_string($list)) {
$data['list_topDn'] = "<select name='LSsession_topDn' id='LSsession_topDn'>".$list."</select>";
$data['subDnLabel'] = self :: getSubDnLabel();