Fix: restore possible ldap keys

This commit is contained in:
Regis Houssin 2017-10-02 08:43:53 +02:00
parent cb9d627f02
commit c1b6f59c1b
3 changed files with 42 additions and 38 deletions

View File

@ -184,7 +184,7 @@ print '</tr>';
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldFirstName").'</td><td>'; print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldFirstName").'</td><td>';
print '<input size="25" type="text" name="fieldfirstname" value="'.$conf->global->LDAP_FIELD_FIRSTNAME.'">'; print '<input size="25" type="text" name="fieldfirstname" value="'.$conf->global->LDAP_FIELD_FIRSTNAME.'">';
print '</td><td>'.$langs->trans("LDAPFieldFirstNameExample").'</td>'; print '</td><td>'.$langs->trans("LDAPFieldFirstNameExample").'</td>';
print '<td align="right">&nbsp;</td>'; print '<td align="right"><input type="radio" name="key" value="LDAP_FIELD_FIRSTNAME"'.(($conf->global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FIRSTNAME)?' checked':'')."></td>";
print '</tr>'; print '</tr>';
// Login unix // Login unix
@ -232,7 +232,7 @@ print '</tr>';
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldPhone").'</td><td>'; print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldPhone").'</td><td>';
print '<input size="25" type="text" name="fieldphone" value="'.$conf->global->LDAP_FIELD_PHONE.'">'; print '<input size="25" type="text" name="fieldphone" value="'.$conf->global->LDAP_FIELD_PHONE.'">';
print '</td><td>'.$langs->trans("LDAPFieldPhoneExample").'</td>'; print '</td><td>'.$langs->trans("LDAPFieldPhoneExample").'</td>';
print '<td align="right">&nbsp;</td>'; print '<td align="right"><input type="radio" name="key" value="LDAP_FIELD_PHONE"'.(($conf->global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PHONE)?' checked':'')."></td>";
print '</tr>'; print '</tr>';
// Mobile // Mobile
@ -240,7 +240,7 @@ print '</tr>';
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldMobile").'</td><td>'; print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldMobile").'</td><td>';
print '<input size="25" type="text" name="fieldmobile" value="'.$conf->global->LDAP_FIELD_MOBILE.'">'; print '<input size="25" type="text" name="fieldmobile" value="'.$conf->global->LDAP_FIELD_MOBILE.'">';
print '</td><td>'.$langs->trans("LDAPFieldMobileExample").'</td>'; print '</td><td>'.$langs->trans("LDAPFieldMobileExample").'</td>';
print '<td align="right">&nbsp;</td>'; print '<td align="right"><input type="radio" name="key" value="LDAP_FIELD_MOBILE"'.(($conf->global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MOBILE)?' checked':'')."></td>";
print '</tr>'; print '</tr>';
// Skype // Skype
@ -256,7 +256,7 @@ print '</tr>';
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldFax").'</td><td>'; print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldFax").'</td><td>';
print '<input size="25" type="text" name="fieldfax" value="'.$conf->global->LDAP_FIELD_FAX.'">'; print '<input size="25" type="text" name="fieldfax" value="'.$conf->global->LDAP_FIELD_FAX.'">';
print '</td><td>'.$langs->trans("LDAPFieldFaxExample").'</td>'; print '</td><td>'.$langs->trans("LDAPFieldFaxExample").'</td>';
print '<td align="right">&nbsp;</td>'; print '<td align="right"><input type="radio" name="key" value="LDAP_FIELD_FAX"'.(($conf->global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FAX)?' checked':'')."></td>";
print '</tr>'; print '</tr>';
// Title // Title

View File

@ -1298,7 +1298,8 @@ class Ldap
function parseUACF($uacf) function parseUACF($uacf)
{ {
//All flags array //All flags array
$flags = array( "TRUSTED_TO_AUTH_FOR_DELEGATION" => 16777216, $flags = array(
"TRUSTED_TO_AUTH_FOR_DELEGATION" => 16777216,
"PASSWORD_EXPIRED" => 8388608, "PASSWORD_EXPIRED" => 8388608,
"DONT_REQ_PREAUTH" => 4194304, "DONT_REQ_PREAUTH" => 4194304,
"USE_DES_KEY_ONLY" => 2097152, "USE_DES_KEY_ONLY" => 2097152,
@ -1318,7 +1319,8 @@ class Ldap
"LOCKOUT" => 16, "LOCKOUT" => 16,
"HOMEDIR_REQUIRED" => 8, "HOMEDIR_REQUIRED" => 8,
"ACCOUNTDISABLE" => 2, "ACCOUNTDISABLE" => 2,
"SCRIPT" => 1); "SCRIPT" => 1
);
//Parse flags to text //Parse flags to text
$retval = array(); $retval = array();
@ -1341,13 +1343,15 @@ class Ldap
*/ */
function parseSAT($samtype) function parseSAT($samtype)
{ {
$stypes = array( 805306368 => "NORMAL_ACCOUNT", $stypes = array(
805306368 => "NORMAL_ACCOUNT",
805306369 => "WORKSTATION_TRUST", 805306369 => "WORKSTATION_TRUST",
805306370 => "INTERDOMAIN_TRUST", 805306370 => "INTERDOMAIN_TRUST",
268435456 => "SECURITY_GLOBAL_GROUP", 268435456 => "SECURITY_GLOBAL_GROUP",
268435457 => "DISTRIBUTION_GROUP", 268435457 => "DISTRIBUTION_GROUP",
536870912 => "SECURITY_LOCAL_GROUP", 536870912 => "SECURITY_LOCAL_GROUP",
536870913 => "DISTRIBUTION_LOCAL_GROUP"); 536870913 => "DISTRIBUTION_LOCAL_GROUP"
);
$retval = ""; $retval = "";
while (list($sat, $val) = each($stypes)) { while (list($sat, $val) = each($stypes)) {

View File

@ -2276,8 +2276,12 @@ class User extends CommonObject
$ldapkey = array( $ldapkey = array(
'LDAP_FIELD_FULLNAME' => 'fullname', 'LDAP_FIELD_FULLNAME' => 'fullname',
'LDAP_FIELD_NAME' => 'lastname', 'LDAP_FIELD_NAME' => 'lastname',
'LDAP_FIELD_FIRSTNAME' => 'firstname',
'LDAP_FIELD_LOGIN' => 'login', 'LDAP_FIELD_LOGIN' => 'login',
'LDAP_FIELD_LOGIN_SAMBA' => 'login', 'LDAP_FIELD_LOGIN_SAMBA' => 'login',
'LDAP_FIELD_PHONE' => 'office_phone',
'LDAP_FIELD_MOBILE' => 'user_mobile',
'LDAP_FIELD_FAX' => 'office_fax',
'LDAP_FIELD_MAIL' => 'email', 'LDAP_FIELD_MAIL' => 'email',
'LDAP_FIELD_SID' => 'ldap_sid', 'LDAP_FIELD_SID' => 'ldap_sid',
'LDAP_FIELD_SKYPE' => 'skype' 'LDAP_FIELD_SKYPE' => 'skype'
@ -2297,13 +2301,9 @@ class User extends CommonObject
} }
} }
} }
if ($this->firstname && ! empty($conf->global->LDAP_FIELD_FIRSTNAME)) $info[$conf->global->LDAP_FIELD_FIRSTNAME] = $this->firstname;
if ($this->address && ! empty($conf->global->LDAP_FIELD_ADDRESS)) $info[$conf->global->LDAP_FIELD_ADDRESS] = $this->address; if ($this->address && ! empty($conf->global->LDAP_FIELD_ADDRESS)) $info[$conf->global->LDAP_FIELD_ADDRESS] = $this->address;
if ($this->zip && ! empty($conf->global->LDAP_FIELD_ZIP)) $info[$conf->global->LDAP_FIELD_ZIP] = $this->zip; if ($this->zip && ! empty($conf->global->LDAP_FIELD_ZIP)) $info[$conf->global->LDAP_FIELD_ZIP] = $this->zip;
if ($this->town && ! empty($conf->global->LDAP_FIELD_TOWN)) $info[$conf->global->LDAP_FIELD_TOWN] = $this->town; if ($this->town && ! empty($conf->global->LDAP_FIELD_TOWN)) $info[$conf->global->LDAP_FIELD_TOWN] = $this->town;
if ($this->office_phone && ! empty($conf->global->LDAP_FIELD_PHONE)) $info[$conf->global->LDAP_FIELD_PHONE] = $this->office_phone;
if ($this->user_mobile && ! empty($conf->global->LDAP_FIELD_MOBILE)) $info[$conf->global->LDAP_FIELD_MOBILE] = $this->user_mobile;
if ($this->office_fax && ! empty($conf->global->LDAP_FIELD_FAX)) $info[$conf->global->LDAP_FIELD_FAX] = $this->office_fax;
if ($this->note_public && ! empty($conf->global->LDAP_FIELD_DESCRIPTION)) $info[$conf->global->LDAP_FIELD_DESCRIPTION] = $this->note_public; if ($this->note_public && ! empty($conf->global->LDAP_FIELD_DESCRIPTION)) $info[$conf->global->LDAP_FIELD_DESCRIPTION] = $this->note_public;
if ($this->socid > 0) if ($this->socid > 0)
{ {