mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-26 12:51:52 +02:00
* ActiveDirectory: fix making extra AD attributes available via custom fields with "ldap_" prefix
This commit is contained in:
parent
ab812c8dec
commit
ce555f7f0e
@ -339,6 +339,7 @@ class Import
|
|||||||
{
|
{
|
||||||
// photo and public keys are not stored in SQL but in filesystem, fetch it to compare
|
// photo and public keys are not stored in SQL but in filesystem, fetch it to compare
|
||||||
$contact['files'] = 0;
|
$contact['files'] = 0;
|
||||||
|
if ($contact['jpegphoto'] === false) $contact['jpegphoto'] = null;
|
||||||
foreach($this->files2attrs as $file => [$attr, $mask, $regexp])
|
foreach($this->files2attrs as $file => [$attr, $mask, $regexp])
|
||||||
{
|
{
|
||||||
if (isset($contact[$attr]))
|
if (isset($contact[$attr]))
|
||||||
|
@ -84,7 +84,7 @@ class Ads extends Ldap
|
|||||||
*/
|
*/
|
||||||
function __construct(array $ldap_config=null, $ds=null)
|
function __construct(array $ldap_config=null, $ds=null)
|
||||||
{
|
{
|
||||||
if (false) parent::__construct (); // quiten IDE warning, we are explicitly NOT calling parrent constructor!
|
if (false) parent::__construct (); // quiten IDE warning, we are explicitly NOT calling parent constructor!
|
||||||
|
|
||||||
$this->accountName = $GLOBALS['egw_info']['user']['account_lid'];
|
$this->accountName = $GLOBALS['egw_info']['user']['account_lid'];
|
||||||
|
|
||||||
@ -121,6 +121,15 @@ class Ads extends Ldap
|
|||||||
$this->ldapServerInfo = Api\Ldap\ServerInfo::get($this->ds, $this->ldap_config['ads_host']);
|
$this->ldapServerInfo = Api\Ldap\ServerInfo::get($this->ds, $this->ldap_config['ads_host']);
|
||||||
$this->is_samba4 = $this->ldapServerInfo->serverType == Api\Ldap\ServerInfo::SAMBA4;
|
$this->is_samba4 = $this->ldapServerInfo->serverType == Api\Ldap\ServerInfo::SAMBA4;
|
||||||
|
|
||||||
|
// check if there are any attributes defined via custom-fields
|
||||||
|
foreach(Api\Storage\Customfields::get('addressbook') as $cf)
|
||||||
|
{
|
||||||
|
if (substr($cf['name'], 0, 5) === 'ldap_')
|
||||||
|
{
|
||||||
|
$this->schema2egw[self::CF_OBJECTCLASS]['#'.$cf['name']] = strtolower(substr($cf['name'], 5));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// AD seems to use user, instead of inetOrgPerson
|
// AD seems to use user, instead of inetOrgPerson
|
||||||
unset($this->schema2egw['posixaccount']);
|
unset($this->schema2egw['posixaccount']);
|
||||||
$this->schema2egw['user'] = array_merge($this->schema2egw['organizantionalperson'], array(
|
$this->schema2egw['user'] = array_merge($this->schema2egw['organizantionalperson'], array(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user