@ -436,10 +436,11 @@ class Access extends LDAPUtility {
*
* @ param string $fdn the dn of the group object
* @ param string $ldapName optional , the display name of the object
* @ param bool $autoMapping Should the group be mapped if not yet mapped
* @ return string | false with the name to use in Nextcloud , false on DN outside of search DN
* @ throws \Exception
*/
public function dn2groupname ( $fdn , $ldapName = null ) {
public function dn2groupname ( $fdn , $ldapName = null , bool $autoMapping = true ) {
//To avoid bypassing the base DN settings under certain circumstances
//with the group support, check whether the provided DN matches one of
//the given Bases
@ -447,7 +448,7 @@ class Access extends LDAPUtility {
return false ;
}
return $this -> dn2ocname ( $fdn , $ldapName , false );
return $this -> dn2ocname ( $fdn , $ldapName , false , autoMapping : $autoMapping );
}
/**
@ -477,10 +478,11 @@ class Access extends LDAPUtility {
* @ param bool $isUser optional , whether it is a user object ( otherwise group assumed )
* @ param bool | null $newlyMapped
* @ param array | null $record
* @ param bool $autoMapping Should the group be mapped if not yet mapped
* @ return false | string with with the name to use in Nextcloud
* @ throws \Exception
*/
public function dn2ocname ( $fdn , $ldapName = null , $isUser = true , & $newlyMapped = null , ? array $record = null ) {
public function dn2ocname ( $fdn , $ldapName = null , $isUser = true , & $newlyMapped = null , ? array $record = null , bool $autoMapping = true ) {
static $intermediates = [];
if ( isset ( $intermediates [( $isUser ? 'user-' : 'group-' ) . $fdn ])) {
return false ; // is a known intermediate
@ -499,6 +501,11 @@ class Access extends LDAPUtility {
return $ncName ;
}
if ( ! $autoMapping ) {
/* If no auto mapping, stop there */
return false ;
}
if ( $isUser ) {
$nameAttribute = strtolower ( $this -> connection -> ldapUserDisplayName );
$filter = $this -> connection -> ldapUserFilter ;