fixed little problem when changing profilepath and scriptpath
fixed little bug which an change user passwords randomly users in groupedit and hosts in useredit are now sorted
This commit is contained in:
parent
49f9083190
commit
9b382bdfe8
|
@ -1,3 +1,4 @@
|
||||||
|
general_group: admin
|
||||||
general_homedir: /home/$user
|
general_homedir: /home/$user
|
||||||
general_shell: /bin/bash
|
general_shell: /bin/bash
|
||||||
unix_password_no: 0
|
unix_password_no: 0
|
||||||
|
@ -11,3 +12,6 @@ smb_password_no: 0
|
||||||
smb_useunixpwd: 1
|
smb_useunixpwd: 1
|
||||||
smb_flagsD: 1
|
smb_flagsD: 1
|
||||||
smb_homedrive: U:
|
smb_homedrive: U:
|
||||||
|
smb_smbhome: \\server\$user
|
||||||
|
smb_domain: sambaDomainName=test,dc=my-domain,dc=com
|
||||||
|
quota: /home,0,0,0,0;/,0,0,0,0
|
||||||
|
|
|
@ -969,19 +969,19 @@ function modifyuser($values,$values_old) { // Will modify the LDAP-Account
|
||||||
// old password code
|
// old password code
|
||||||
$password_old = str_replace('{CRYPT}', '',$values_old->unix_password);
|
$password_old = str_replace('{CRYPT}', '',$values_old->unix_password);
|
||||||
if (substr($password_old,0,1) == '!' ) $password_old = substr($password_old,1,strlen($password_old));
|
if (substr($password_old,0,1) == '!' ) $password_old = substr($password_old,1,strlen($password_old));
|
||||||
if ($values->unix_password=='') {
|
if ($values->unix_password=='') {
|
||||||
if ($values->unix_password_no) {
|
if ($values->unix_password_no) {
|
||||||
$password_old = '';
|
$password_old = '';
|
||||||
$attr['shadowLastChange'] = getdays(); // shadowAccount_may
|
$attr['shadowLastChange'] = getdays(); // shadowAccount_may
|
||||||
}
|
}
|
||||||
if ($values->unix_deactivated) $attr['userPassword'] = '{CRYPT}!' . $password_old;
|
if ($values->unix_deactivated && !$values_old->unix_deactivated) $attr['userPassword'] = '{CRYPT}!' . $password_old;
|
||||||
else $attr['userPassword'] = '{CRYPT}' . $password_old;
|
if (!$values->unix_deactivated && $values_old->unix_deactivated) $attr['userPassword'] = '{CRYPT}' . $password_old;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($values->unix_deactivated) $attr['userPassword'] = '{CRYPT}!' . crypt($values->unix_password);
|
if ($values->unix_deactivated) $attr['userPassword'] = '{CRYPT}!' . crypt($values->unix_password);
|
||||||
else $attr['userPassword'] = '{CRYPT}' . crypt($values->unix_password);
|
else $attr['userPassword'] = '{CRYPT}' . crypt($values->unix_password);
|
||||||
$attr['shadowLastChange'] = getdays(); // shadowAccount_may
|
$attr['shadowLastChange'] = getdays(); // shadowAccount_may
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_SESSION['config']->is_samba3()) {
|
if ($_SESSION['config']->is_samba3()) {
|
||||||
if ($values->smb_password_no) {
|
if ($values->smb_password_no) {
|
||||||
|
|
|
@ -370,6 +370,10 @@ switch ($select_local) { // Select which part of page will be loaded
|
||||||
// finish = page shown after account has been created/modified
|
// finish = page shown after account has been created/modified
|
||||||
case 'groupmembers':
|
case 'groupmembers':
|
||||||
ldapreload('user');
|
ldapreload('user');
|
||||||
|
$temp2 = $_SESSION['userDN'];
|
||||||
|
unset($temp2[0]);
|
||||||
|
foreach ($temp2 as $temp) $users[] = $temp['cn'];
|
||||||
|
sort($users, SORT_STRING);
|
||||||
echo "<input name=\"select\" type=\"hidden\" value=\"groupmembers\">\n";
|
echo "<input name=\"select\" type=\"hidden\" value=\"groupmembers\">\n";
|
||||||
echo "<table border=0 width=\"100%\">\n<tr><td valign=\"top\" width=\"15%\" >";
|
echo "<table border=0 width=\"100%\">\n<tr><td valign=\"top\" width=\"15%\" >";
|
||||||
echo "<table border=0><tr><td><fieldset class=\"groupedit-middle\"><legend class=\"groupedit-bright\"><b>";
|
echo "<table border=0><tr><td><fieldset class=\"groupedit-middle\"><legend class=\"groupedit-bright\"><b>";
|
||||||
|
@ -411,12 +415,10 @@ switch ($select_local) { // Select which part of page will be loaded
|
||||||
echo "<td valign=\"top\"><fieldset class=\"groupedit-middle\"><legend class=\"groupedit-bright\">";
|
echo "<td valign=\"top\"><fieldset class=\"groupedit-middle\"><legend class=\"groupedit-bright\">";
|
||||||
echo _('Available users');
|
echo _('Available users');
|
||||||
echo "</legend>\n";
|
echo "</legend>\n";
|
||||||
if (count($_SESSION['userDN'])!=0) {
|
if (count($users)!=0) {
|
||||||
echo "<select name=\"users[]\" size=15 multiple class=\"groupedit-bright\">\n";
|
echo "<select name=\"users[]\" size=15 multiple class=\"groupedit-bright\">\n";
|
||||||
foreach ($_SESSION['userDN'] as $temp)
|
foreach ($users as $temp)
|
||||||
if (is_array($temp)) {
|
echo " <option>$temp</option>\n";
|
||||||
echo " <option>$temp[cn]</option>\n";
|
|
||||||
}
|
|
||||||
echo "</select>\n";
|
echo "</select>\n";
|
||||||
}
|
}
|
||||||
echo "</fieldset></td>\n</tr>\n</table>\n</fieldset></td></tr></table>\n</td></tr>\n</table>\n";
|
echo "</fieldset></td>\n</tr>\n</table>\n</fieldset></td></tr></table>\n</td></tr>\n</table>\n";
|
||||||
|
|
|
@ -335,18 +335,18 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch
|
||||||
|
|
||||||
$_SESSION['account']->smb_profilePath = str_replace('$user', $_SESSION['account']->general_username, $_SESSION['account']->smb_profilePath);
|
$_SESSION['account']->smb_profilePath = str_replace('$user', $_SESSION['account']->general_username, $_SESSION['account']->smb_profilePath);
|
||||||
$_SESSION['account']->smb_profilePath = str_replace('$group', $_SESSION['account']->general_group, $_SESSION['account']->smb_profilePath);
|
$_SESSION['account']->smb_profilePath = str_replace('$group', $_SESSION['account']->general_group, $_SESSION['account']->smb_profilePath);
|
||||||
if ($_SESSION['account']->smb_profilePath != $_POST['f_smb_profilePath']) $errors[] = array('INFO', _('Profile path'), _('Inserted user- or groupname in profilepath.'));
|
if ($_SESSION['account']->smb_profilePath != stripslashes($_POST['f_smb_profilePath'])) $errors[] = array('INFO', _('Profile path'), _('Inserted user- or groupname in profilepath.'));
|
||||||
|
|
||||||
$_SESSION['account']->smb_smbhome = str_replace('$user', $_SESSION['account']->general_username, $_SESSION['account']->smb_smbhome);
|
$_SESSION['account']->smb_smbhome = str_replace('$user', $_SESSION['account']->general_username, $_SESSION['account']->smb_smbhome);
|
||||||
$_SESSION['account']->smb_smbhome = str_replace('$group', $_SESSION['account']->general_group, $_SESSION['account']->smb_smbhome);
|
$_SESSION['account']->smb_smbhome = str_replace('$group', $_SESSION['account']->general_group, $_SESSION['account']->smb_smbhome);
|
||||||
if ($_SESSION['account']->smb_smbhome != $_POST['f_smb_smbhome']) $errors[] = array('INFO', _('Home path'), _('Inserted user- or groupname in HomePath.'));
|
if ($_SESSION['account']->smb_smbhome != stripslashes($_POST['f_smb_smbhome'])) $errors[] = array('INFO', _('Home path'), _('Inserted user- or groupname in HomePath.'));
|
||||||
|
|
||||||
if ( (!$_SESSION['account']->smb_smbhome=='') && (!ereg('^[\][\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%])+([\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+)+$', $_SESSION['account']->smb_smbhome)))
|
if ( (!$_SESSION['account']->smb_smbhome=='') && (!ereg('^[\][\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%])+([\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+)+$', $_SESSION['account']->smb_smbhome)))
|
||||||
$errors[] = array('ERROR', _('Home path'), _('Home path is invalid.'));
|
$errors[] = array('ERROR', _('Home path'), _('Home path is invalid.'));
|
||||||
if ( !ereg('^([a-z]|[A-Z]|[0-9]|[\|]|[\#]|[\*]|[\,]|[\.]|[\;]|[\:]|[\_]|[\-]|[\+]|[\!]|[\%]|[\&]|[\/]|[\?]|[\{]|[\[]|[\(]|[\)]|[\]]|[\}])*$',
|
if ( !ereg('^([a-z]|[A-Z]|[0-9]|[\|]|[\#]|[\*]|[\,]|[\.]|[\;]|[\:]|[\_]|[\-]|[\+]|[\!]|[\%]|[\&]|[\/]|[\?]|[\{]|[\[]|[\(]|[\)]|[\]]|[\}])*$',
|
||||||
$smb_password)) $errors[] = array('ERROR', _('Password'), _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !'));
|
$smb_password)) $errors[] = array('ERROR', _('Password'), _('Password contains invalid characters. Valid characters are: a-z, A-Z, 0-9 and #*,.;:_-+!$%&/|?{[()]}= !'));
|
||||||
if ( (!$_SESSION['account']->smb_scriptPath=='') && (!ereg('^([/])*([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])*'.
|
if ( (!$_SESSION['account']->smb_scriptPath=='') && (!ereg('^([/])*([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])*'.
|
||||||
'([/]([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])*)*$', $_SESSION['account']->smb_scriptPath)))
|
'([/]([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])+([a-z]|[0-9]|[.]|[-]|[_]|[%]|[ä]|[Ä]|[ö]|[Ö]|[ü]|[Ü]|[ß])*)*(([.][b][a][t])|([.][c][m][d]))$', $_SESSION['account']->smb_scriptPath)))
|
||||||
$errors[] = array('ERROR', _('Script path'), _('Script path is invalid!'));
|
$errors[] = array('ERROR', _('Script path'), _('Script path is invalid!'));
|
||||||
if ( (!$_SESSION['account']->smb_profilePath=='') && (!ereg('^[/][a-z]([a-z]|[0-9]|[.]|[-]|[_]|[%])*([/][a-z]([a-z]|[0-9]|[.]|[-]|[_]|[%])*)*$', $_SESSION['account']->smb_profilePath))
|
if ( (!$_SESSION['account']->smb_profilePath=='') && (!ereg('^[/][a-z]([a-z]|[0-9]|[.]|[-]|[_]|[%])*([/][a-z]([a-z]|[0-9]|[.]|[-]|[_]|[%])*)*$', $_SESSION['account']->smb_profilePath))
|
||||||
&& (!ereg('^[\][\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%])+([\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%])+)+$', $_SESSION['account']->smb_profilePath)))
|
&& (!ereg('^[\][\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%])+([\]([a-z]|[A-Z]|[0-9]|[.]|[-]|[%])+)+$', $_SESSION['account']->smb_profilePath)))
|
||||||
|
@ -606,6 +606,10 @@ switch ($select_local) { // Select which part of page will be loaded
|
||||||
|
|
||||||
case 'workstations':
|
case 'workstations':
|
||||||
ldapreload('host');
|
ldapreload('host');
|
||||||
|
$temp2 = $_SESSION['hostDN'];
|
||||||
|
unset($temp2[0]);
|
||||||
|
foreach ($temp2 as $temp) $hosts[] = $temp['cn'];
|
||||||
|
sort($hosts, SORT_STRING);
|
||||||
// get workstation array
|
// get workstation array
|
||||||
$temp = str_replace(' ', '', $_SESSION['account']->smb_smbuserworkstations);
|
$temp = str_replace(' ', '', $_SESSION['account']->smb_smbuserworkstations);
|
||||||
$workstations = explode (',', $temp);
|
$workstations = explode (',', $temp);
|
||||||
|
@ -652,12 +656,11 @@ switch ($select_local) { // Select which part of page will be loaded
|
||||||
echo "<td valign=\"top\"><fieldset class=\"useredit-bright\"><legend class=\"useredit-bright\">";
|
echo "<td valign=\"top\"><fieldset class=\"useredit-bright\"><legend class=\"useredit-bright\">";
|
||||||
echo _('Available workstations');
|
echo _('Available workstations');
|
||||||
echo "</legend>\n";
|
echo "</legend>\n";
|
||||||
if (count($_SESSION['hostDN'])!=0) {
|
if (count($hosts)!=0) {
|
||||||
echo "<select name=\"hosts[]\" size=15 multiple class=\"useredit-bright\">\n";
|
echo "<select name=\"hosts[]\" size=15 multiple class=\"useredit-bright\">\n";
|
||||||
foreach ($_SESSION['hostDN'] as $temp)
|
foreach ($hosts as $temp) {
|
||||||
if (is_array($temp)) {
|
$temp = str_replace("$", '',$temp);
|
||||||
$temp[cn] = str_replace("$", '',$temp[cn]);
|
echo " <option>$temp</option>\n";
|
||||||
echo " <option>$temp[cn]</option>\n";
|
|
||||||
}
|
}
|
||||||
echo "</select>\n";
|
echo "</select>\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue