scriptServer) && (!$_GET['DN'])) getquotas(); } if ( $_GET['DN'] ) { // $DN is true if an entry should be modified and account.php was called from Users/Group/Host-List $_SESSION['modify'] = 1; $DN = str_replace("\'", '',$_GET['DN']); switch ($_SESSION['type2']) { case 'user': loaduser($DN); break; case 'group': loadgroup($DN); if (!session_is_registered('final_changegids')) session_register('final_changegids'); else $_SESSION['final_changegids'] = ''; break; case 'host': loadhost($DN); break; } } switch ($_POST['select']) { case 'general': if (!$_POST['load']) { // No Profile was loaded // Write alle values in temporary object if ($_POST['f_general_username']) $_SESSION['account_temp']->general_username = $_POST['f_general_username']; else $_SESSION['account_temp']->general_username = $_POST['f_general_username']; if ($_POST['f_general_surname']) $_SESSION['account_temp']->general_surname = $_POST['f_general_surname']; else $_SESSION['account_temp']->general_surname = ""; if ($_POST['f_general_givenname']) $_SESSION['account_temp']->general_givenname = $_POST['f_general_givenname']; else $_SESSION['account_temp']->general_givenname = ""; if ($_POST['f_general_uidNumber']) $_SESSION['account_temp']->general_uidNumber = $_POST['f_general_uidNumber']; else $_SESSION['account_temp']->general_uidNumber = ""; if ($_POST['f_general_group']) $_SESSION['account_temp']->general_group = $_POST['f_general_group']; if ($_POST['f_general_groupadd']) $_SESSION['account_temp']->general_groupadd = $_POST['f_general_groupadd']; if ($_POST['f_general_homedir']) $_SESSION['account_temp']->general_homedir = $_POST['f_general_homedir']; else $_SESSION['account_temp']->general_homedir = ""; if ($_POST['f_general_shell']) $_SESSION['account_temp']->general_shell = $_POST['f_general_shell']; if ($_POST['f_general_gecos']) $_SESSION['account_temp']->general_gecos = $_POST['f_general_gecos']; else $_SESSION['account_temp']->general_gecos = ""; // Check Values $error = checkglobal(); // account.inc // Check which part Site should be displayd if ($_POST['next'] && ($error=="0")) switch ($_SESSION['type2']) { case 'user': $select_local = 'unix'; break; case 'group': $select_local = 'quota'; break; case 'host': $select_local = 'unix'; break; } } break; case 'unix': // Write alle values in temporary object if ($_POST['f_unix_password']) $_SESSION['account_temp']->unix_password = $_POST['f_unix_password']; else $_SESSION['account_temp']->unix_password = ''; if ($_POST['genpass']) { $_SESSION['account_temp']->unix_password = genpasswd(); } if ($_POST['f_unix_password_no']) $_SESSION['account_temp']->unix_password_no = $_POST['f_unix_password_no']; else $_SESSION['account_temp']->unix_password_no = false; if ($_POST['f_unix_pwdwarn']) $_SESSION['account_temp']->unix_pwdwarn = $_POST['f_unix_pwdwarn']; else $_SESSION['account_temp']->unix_pwdwarn = ''; if ($_POST['f_unix_pwdallowlogin']) $_SESSION['account_temp']->unix_pwdallowlogin = $_POST['f_unix_pwdallowlogin']; else $_SESSION['account_temp']->unix_pwdallowlogin = ''; if ($_POST['f_unix_pwdmaxage']) $_SESSION['account_temp']->unix_pwdmaxage = $_POST['f_unix_pwdmaxage']; else $_SESSION['account_temp']->unix_pwdmaxage = ''; if ($_POST['f_unix_pwdminage']) $_SESSION['account_temp']->unix_pwdminage = $_POST['f_unix_pwdminage']; else $_SESSION['account_temp']->unix_pwdminage = ''; if ($_POST['f_unix_pwdexpire_day']) $_SESSION['account_temp']->unix_pwdexpire_day = $_POST['f_unix_pwdexpire_day']; if ($_POST['f_unix_pwdexpire_mon']) $_SESSION['account_temp']->unix_pwdexpire_mon = $_POST['f_unix_pwdexpire_mon']; if ($_POST['f_unix_pwdexpire_yea']) $_SESSION['account_temp']->unix_pwdexpire_yea = $_POST['f_unix_pwdexpire_yea']; if ($_POST['f_unix_deactivated']) $_SESSION['account_temp']->unix_deactivated = $_POST['f_unix_deactivated']; else $_SESSION['account_temp']->unix_deactivated = false; // Check Values $error = checkunix(); // account.inc // Check which part Site should be displayd if ($_POST['genpass']) $select_local = 'unix'; if ($_POST['respass']) { $_SESSION['account_temp']->unix_password_no=1; $_SESSION['account_temp']->smb_password_no=1; $_SESSION['account']->unix_password_no=1; $_SESSION['account']->smb_password_no=1; } if (($_POST['next']) && ($error=="0")) $select_local = 'samba'; else $select_local = 'unix'; if ($_POST['back']) $select_local = 'general'; break; case 'samba': // Write alle values in temporary object if ($_POST['f_smb_password']) $_SESSION['account_temp']->smb_password = $_POST['f_smb_password']; else $_SESSION['account_temp']->smb_password = ""; if ($_POST['f_smb_password_no']) $_SESSION['account_temp']->smb_password_no = $_POST['f_smb_password_no']; else $_SESSION['account_temp']->smb_password_no = false; if ($_POST['f_smb_useunixpwd']) $_SESSION['account_temp']->smb_useunixpwd = $_POST['f_smb_useunixpwd']; else $_SESSION['account_temp']->smb_useunixpwd = false; if ($_POST['f_smb_pwdcanchange']) $_SESSION['account_temp']->smb_pwdcanchange = $_POST['f_smb_pwdcanchange']; else $_SESSION['account_temp']->smb_pwdcanchange = false; if ($_POST['f_smb_pwdmustchange']) $_SESSION['account_temp']->smb_pwdmustchange = $_POST['f_smb_pwdmustchange']; else $_SESSION['account_temp']->smb_pwdmustchange = false; if ($_POST['f_smb_homedrive']) $_SESSION['account_temp']->smb_homedrive = $_POST['f_smb_homedrive']; if ($_POST['f_smb_scriptpath']) $_SESSION['account_temp']->smb_scriptpath = $_POST['f_smb_scriptpath']; else $_SESSION['account_temp']->smb_scriptpath = ''; if ($_POST['f_smb_smbuserworkstations']) $_SESSION['account_temp']->smb_smbuserworkstations = $_POST['f_smb_smbuserworkstations']; else $_SESSION['account_temp']->smb_smbuserworkstations = ""; if ($_POST['f_smb_smbhome']) $_SESSION['account_temp']->smb_smbhome = stripslashes($_POST['f_smb_smbhome']); else $_SESSION['account_temp']->smb_smbhome = ""; if ($_POST['f_smb_profilePath']) $_SESSION['account_temp']->smb_profilePath = stripslashes($_POST['f_smb_profilePath']); else $_SESSION['account_temp']->smb_profilePath = ""; if ($_POST['f_smb_domain']) $_SESSION['account_temp']->smb_domain = $_POST['f_smb_domain']; else $_SESSION['account_temp']->smb_domain = false; if ($_POST['f_smb_flagsW']) $_SESSION['account_temp']->smb_flagsW = $_POST['f_smb_flagsW']; else $_SESSION['account_temp']->smb_flagsW = false; if ($_POST['f_smb_flagsD']) $_SESSION['account_temp']->smb_flagsD = $_POST['f_smb_flagsD']; else $_SESSION['account_temp']->smb_flagsD = false; if ($_POST['f_smb_flagsX']) $_SESSION['account_temp']->smb_flagsX = $_POST['f_smb_flagsX']; else $_SESSION['account_temp']->smb_flagsX = false; // Check Values $error = checksamba(); // account.inc // Check which part Site should be displayd if ($_POST['back']) $select_local = 'unix'; if ($_POST['next']) { if ($error=="0") switch ($_SESSION['type2']) { case 'user': $select_local = 'quota'; break; case 'host': $select_local = 'final'; break; } else $select_local = 'samba'; } break; case 'quota': $i=0; while ($_SESSION['account']->quota[$i][0]) { $_SESSION['account_temp']->quota[$i][2] = $_POST['f_quota_'.$i.'_2']; $_SESSION['account_temp']->quota[$i][3] = $_POST['f_quota_'.$i.'_3']; $_SESSION['account_temp']->quota[$i][6] = $_POST['f_quota_'.$i.'_6']; $_SESSION['account_temp']->quota[$i][7] = $_POST['f_quota_'.$i.'_7']; $i++; } $error = checkquota(); // Check which part Site should be displayd if ($_POST['back']) switch ($_SESSION['type2']) { case 'user': $select_local = 'samba'; break; case 'group': $select_local = 'general'; break; } if ($_POST['next']) { if ($error=="0") switch ($_SESSION['type2']) { case 'user': $select_local = 'personal'; break; case 'group': $select_local = 'final'; break; } else $select_local = 'quota'; } break; case 'personal': if ($_POST['f_personal_title']) $_SESSION['account_temp']->personal_title = $_POST['f_personal_title']; else $_SESSION['account_temp']->personal_title = ""; if ($_POST['f_personal_mail']) $_SESSION['account_temp']->personal_mail = $_POST['f_personal_mail']; else $_SESSION['account_temp']->personal_mail = ""; if ($_POST['f_personal_telephoneNumber']) $_SESSION['account_temp']->personal_telephoneNumber = $_POST['f_personal_telephoneNumber']; else $_SESSION['account_temp']->personal_telephoneNumber = ""; if ($_POST['f_personal_mobileTelephoneNumber']) $_SESSION['account_temp']->personal_mobileTelephoneNumber = $_POST['f_personal_mobileTelephoneNumber']; else $_SESSION['account_temp']->personal_mobileTelephoneNumber = ""; if ($_POST['f_personal_facsimileTelephoneNumber']) $_SESSION['account_temp']->personal_facsimileTelephoneNumber = $_POST['f_personal_facsimileTelephoneNumber']; else $_SESSION['account_temp']->personal_facsimileTelephoneNumber = ""; if ($_POST['f_personal_street']) $_SESSION['account_temp']->personal_street = $_POST['f_personal_street']; else $_SESSION['account_temp']->personal_street = ""; if ($_POST['f_personal_postalCode']) $_SESSION['account_temp']->personal_postalCode = $_POST['f_personal_postalCode']; else $_SESSION['account_temp']->personal_postalCode = ""; if ($_POST['f_personal_postalAddress']) $_SESSION['account_temp']->personal_postalAddress = $_POST['f_personal_postalAddress']; else $_SESSION['account_temp']->personal_postalAddress = ""; if ($_POST['f_personal_employeeType']) $_SESSION['account_temp']->personal_employeeType = $_POST['f_personal_employeeType']; else $_SESSION['account_temp']->personal_employeeType = ""; // Check which part Site should be displayd $error = checkpersonal(); // account.inc if ($_POST['back'] && ($error=="0")) $select_local = 'quota'; if ($_POST['next'] && ($error=="0")) $select_local = 'final'; break; case 'final': if ($_POST['f_final_changegids']) $_SESSION['final_changegids'] = $_POST['f_final_changegids'] ; if ($_POST['back'] && ($error=="0")) switch ($_SESSION['type2']) { case 'user': $select_local = 'personal'; break; case 'group': $select_local = 'quota'; break; case 'host': $select_local = 'samba'; break; } break; } if ( $_POST['create'] ) { // Create-Button was pressed switch ($_SESSION['type2']) { case 'user': if ($_SESSION['modify']==1) $result = modifyuser(); else $result = createuser(); // account.inc if ( $result==1 || $result==3 ) $select_local = 'finish'; break; case 'group': if ($_SESSION['modify']==1) $result = modifygroup(); else $result = creategroup(); // account.inc if ( $result==1 || $result==3 ) $select_local = 'finish'; break; case 'host': if ($_SESSION['modify']==1) $result = modifyhost(); else $result = createhost(); // account.inc if ( $result==1 || $result==3 ) $select_local = 'finish'; break; } } // Write HTML-Header and part of Table echo ''; echo _('Create new Account'); echo '
'; if ($error != "0") StatusMessage('ERROR', _('Invalid Value!'), $error); echo ''; if (!$select_local) $select_local='general'; if ($_POST['createagain']) { $select_local='general'; $_SESSION['account']=""; $_SESSION['account_temp']=""; $_SESSION['account_old']=""; } if ($_POST['backmain']) { $select_local='backmain'; $_SESSION['account']=""; $_SESSION['account_temp']=""; $_SESSION['account_old']=""; } if ($_POST['load']) $select_local='load'; if ($_POST['save']) $select_local='save'; switch ($select_local) { case 'general': // General Account Settings $groups = findgroups(); echo ' '; switch ( $_SESSION['type2'] ) { case 'user': $profilelist = getUserProfiles(); echo ''; break; case 'unix': // Unix Password Settings echo ''; echo ''; switch ( $_SESSION['type2'] ) { case 'user' : echo ''; break; case 'host' : echo ''; echo ''; break; } echo ''; break; case 'samba': // Samba Settings echo ''; echo ''; switch ( $_SESSION['type2'] ) { case 'user': echo ''; break; case 'host': echo ''; echo ''; break; } echo ''; break; case 'quota': // Quota Settings echo ''; $i=0; while ($_SESSION['account']->quota[$i][0]) { echo ''; // used blocks echo ''; // blocks soft limit echo ''; // blocks hard limit echo ''; // block grace period echo ''; // used inodes echo ''; // inodes soft limit echo ''; // inodes hard limit echo ''; // inodes grace period $i++; } echo ''; break; case 'personal': // Personal Settings echo ''; break; case 'final': // Final Settings echo ''; switch ( $_SESSION['type2'] ) { case 'user' : if (($_SESSION['modify']==1) && ($_SESSION['account']->general_uidNumber != $_SESSION['account_old']->general_uidNumber)) { echo ''; StatusMessage ('INFO', _('UID-number has changed. You have to run the following command as root in order to change existing file-permissions:'), 'find / -gid ' . $_SESSION['account_old' ]->general_uidNumber . ' -exec chown ' . $_SESSION['account']->general_uidNumber . ' {} \;'); echo ''; } if (($_SESSION['modify']==1) && ($_SESSION['account']->general_homedir != $_SESSION['account_old']->general_homedir)) { echo ''; StatusMessage ('INFO', _('Home Directory has changed. You have to run the following command as root in order to change the existing homedirectory:'), 'mv ' . $_SESSION['account_old' ]->general_homedir . ' ' . $_SESSION['account']->general_homedir); echo ''; } break; case 'group' : if (($_SESSION['modify']==1) && ($_SESSION['account']->general_uidNumber != $_SESSION['account_old']->general_uidNumber)) { echo ''; StatusMessage ('INFO', _('GID-number has changed. You have to run the following command as root in order to change existing file-permissions:'), 'find / -gid ' . $_SESSION['account_old' ]->general_uidNumber . ' -exec chgrp ' . $_SESSION['account']->general_uidNumber . ' {} \;'); echo ''; echo ''; } break; case 'host': if (($_SESSION['modify']==1) && ($_SESSION['account']->general_uidNumber != $_SESSION['account_old']->general_uidNumber)) { echo ''; StatusMessage ('INFO', _('UID-number has changed. You have to run the following command as root in order to change existing file-permissions:'), 'find / -gid ' . $_SESSION['account_old' ]->general_uidNumber . ' -exec chown ' . $_SESSION['account']->general_uidNumber . ' {} \;'); echo ''; } break; } echo ''; break; case 'finish': // Final Settings echo ''; switch ( $_SESSION['type2'] ) { case 'user' : echo ''; foreach (file('../config/print.html') as $line) eval("?".">".$line."<"."?"); echo ''; break; case 'group' : echo ''; break; case 'host' : echo ''; break; } break; case 'backmain': switch ( $_SESSION['type2'] ) { case 'user' : echo ''; break; case 'group' : echo ''; break; case 'host' : echo ''; break; } break; case 'load': switch ( $_SESSION['type2'] ) { case 'user': $_SESSION['account'] = loadUserProfile($_POST['f_general_selectprofile']); if ($_SESSION['config']->scriptServer) getquotas(); break; case 'host': $_SESSION['account'] = loadHostProfile($_POST['f_general_selectprofile']); break; case 'group': $_SESSION['account'] = loadGroupProfile($_POST['f_general_selectprofile']); if ($_SESSION['config']->scriptServer) getquotas(); break; } echo ''; break; case 'save': switch ( $_SESSION['type2'] ) { case 'user': saveUserProfile($_SESSION['account'], $f_finish_safeProfile); break; case 'host': saveHostProfile($_SESSION['account'], $f_finish_safeProfile); break; } echo ''; break; } // Print end of HTML-Page echo ''; ?>
'; echo _('General Properties'); echo '
'; echo _('Username'); echo '
'; echo _('UID Number'); echo ' '; echo _('If empty UID Number will be generated automaticly.'); echo '
'; echo _('Surname'); echo '
'; echo _('Given name'); echo '
'; echo _('Primary Group'); echo '
'; echo _('Additional Groupmembership'); echo ''; echo _('Can be left empty. Hold the CTRL-key to select multiple groups.'); echo '
'; echo _('Home Directory'); echo ' '; echo _('$user and $group are replaced with username or primary groupname.'); echo '
'; echo _('Gecos'); echo ' '; echo _('User descriptopn. If left empty sur- and givename will be used.'); echo '
'; echo _('Login Shell'); echo ''; echo _('To disable login use /bin/false.'); echo '
'; break; case 'group': $profilelist = getGroupProfiles(); echo '
'; echo _('Groupname'); echo '
'; echo _('GID Number'); echo ' '; echo _('If empty GID Number will be generated automaticly.'); echo '
'; echo _('Gecos'); echo ' '; echo _('User descriptopn. If left empty groupname will be used.'); echo '
'; break; case 'host': $profilelist = getHostProfiles(); echo '
'; echo _('Hostname'); echo '
'; echo _('UID Number'); echo ' '; echo _('If empty UID Number will be generated automaticly.'); echo '
'; echo _('Primary Group'); echo '
'; echo _('Additional Groupmembership'); echo ''; echo _('Can be left empty. Hold the CTRL-key to select multiple groups.'); echo '
'; echo _('Gecos'); echo ' '; echo _('Host descriptopn. If left empty hostname will be used.'); echo '
'; break; } echo '
Unix Properties
'; echo _('Password'); echo '
'; echo _('Use no Password.'); echo 'unix_password_no) echo ' checked '; echo '>
'; echo _('Password Warn'); echo ' '; echo _('Number of days a user will be warned when password will expire. Value must be 0<.'); echo '
'; echo _('Password Expire'); echo ' '; echo _('Number of days a user can login even his password has expired. -1=always'); echo '
'; echo _('Maximum Passwordage'); echo ' '; echo _('Number of days after a user has to change his password again Value must be 0<.'); echo '
'; echo _('Minimum Passwordage'); echo ' '; echo _('Number of days a user has to wait until he\'s allowed to change his password again. Value must be 0<.'); echo '
'; echo _('Expire Date'); echo ''; echo _('Account expire date.'); echo '
'; echo _('Account deactivated'); echo 'unix_deactivated) echo ' checked '; echo '>
'; echo _('Password'); echo ''; if ($_SESSION['modify']==1) { echo ''; } echo '
'; echo _('Password Warn'); echo ' '; echo _('Number of host a user will be warned when password will expire. Value must be 0<.'); echo '
'; echo _('Password Expire'); echo ' '; echo _('Number of days a host can login even his password has expired. -1=always'); echo '
'; echo _('Maximum Passwordage'); echo ' '; echo _('Number of days after a host has to change his password again Value must be 0< and should be higher as the value on client-side.'); echo '
'; echo _('Minimum Passwordage'); echo ' '; echo _('Number of days a user has to wait until he\'s allowed to change his password again. Value must be 0<.'); echo '
'; echo _('Expire Date'); echo ''; echo _('Account expire date.'); echo '
'; echo _('Account deactivated'); echo 'unix_deactivated) echo ' checked '; echo '>
'; echo _('Samba Properties'); echo '
'; echo _('Samba Password'); echo ' smb_useunixpwd) echo ' checked '; echo '>'; echo _('Use Unix-Password'); echo '
'; echo _('Use no Password.'); echo 'smb_password_no) echo ' checked '; echo '>
'; echo _('Password doesn\'t expire.'); echo 'smb_flagsX) echo ' checked '; echo '>
'; echo _('User can change Password'); echo 'smb_pwdcanchange) echo ' checked '; echo '>
'; echo _('User must change Password'); echo 'smb_pwdmustchange) echo ' checked '; echo '>
'; echo _('Accout is deactivated'); echo 'smb_flagsD) echo ' checked '; echo '>
'; $_SESSION['account']->smb_flagsW = 0; echo _('Home Drive'); echo ''; echo _('Driveletter assigned on Windows-Workstations as Homedirectory.'); echo '
'; echo _('Script Path'); echo ' '; echo _('Filename and -path relative to netlogon-share which should be executed on logon. $user and $group are replaced with user- and groupname. Can be left empty.'); echo '
'; echo _('Profile Path'); echo ' '; echo _('Path of the userprofile. Can be a local absolute path or a UNC-path (\\\\server\share). $user and $group are replaced with user- and groupname. Can be left empty.'); echo '
'; echo _('User Workstations'); echo ' '; echo _('Komma-separated list of workstations the user is allowed to login. Empty means every workstation. Can be left empty.'); echo '
'; echo _('smb Home'); echo ' '; echo _('UNC-path (\\\\server\share) of homedirectory. $user and $group are replaced with user- and groupname. Can be left empty.'); echo '
'; echo _('Domain'); echo ' '; echo _('Windows-Domain of user. Can be left empty.'); echo '
'; echo _('Password doesn\'t expire.'); echo 'smb_flagsX) echo ' checked '; echo '>
'; echo _('Host can change Password'); echo 'smb_pwdcanchange) echo ' checked '; echo '>
'; echo _('Host must change Password'); echo 'smb_pwdmustchange) echo ' checked '; echo '>
'; echo _('Accout is deactivated'); echo 'smb_flagsD) echo ' checked '; echo '>
'; $_SESSION['account']->smb_flagsW = 1; echo '
'; echo _('Domain'); echo ' '; echo _('Windows-Domain of user. Can be left empty.'); echo '
'; echo _('Quota Properties'); echo '
'; echo _('Mointpoint'); echo ''; echo _('used blocks'); echo ''; echo _('soft block limit'); echo ''; echo _('hard block limit'); echo ''; echo _('grace block period'); echo ''; echo _('used inodes'); echo ''; echo _('soft inode limit'); echo ''; echo _('hard inode limit'); echo ''; echo _('grace inode period'); echo '
'.$_SESSION['account']->quota[$i][0].''.$_SESSION['account']->quota[$i][1].''.$_SESSION['account']->quota[$i][4].''.$_SESSION['account']->quota[$i][5].''.$_SESSION['account']->quota[$i][8].'
'; echo _('Personal Properties'); echo '
'; echo _('Title'); echo ' '; echo $_SESSION['account']->general_surname . ' ' . $_SESSION['account']->general_givenname . ''; echo _('Every value on this page can be left empty.'); echo '
'; echo _('Employee Type'); echo '
'; echo _('Street'); echo '
'; echo _('Postal code'); echo '
'; echo _('Postal address'); echo '
'; echo _('Telephone Number'); echo '
'; echo _('Mobile Phonenumber'); echo '
'; echo _('Facsimile Number'); echo '
'; echo _('eMail Address'); echo '
'; if ($_SESSION['modify']==1) echo _('Modify'); else echo _('Create'); echo '
'; echo ''; echo _('Change GID-Number of all users in group to new value'); echo '
'; echo ' '; if (($_SESSION['type2']=='user') || ($_SESSION['type2']=='host')) { echo ' '; } echo '
'; echo _('Success'); echo '
'; echo _('User '); echo $_SESSION['account']->general_username; if ($_SESSION['modify']==1) echo _('has been modified'); else echo _('has been created'); echo '
'; if ($_SESSION['modify']!=1) { echo ''; } echo ' '; echo _('Print'); echo '
'; echo _('Group '); echo $_SESSION['account']->general_username; if ($_SESSION['modify']==1) echo _('has been modified'); else echo _('has been created'); echo '
'; if ($_SESSION['modify']!=1) { echo' '; } echo '
'; echo _('Host '); echo $_SESSION['account']->general_username; if ($_SESSION['modify']==1) echo _('has been modified'); else echo _('has been created'); echo '
'; if ($_SESSION['modify']!=1) { echo ''; } echo '