diff --git a/lam/help/help.inc b/lam/help/help.inc index 2dc3832d..208b63b3 100644 --- a/lam/help/help.inc +++ b/lam/help/help.inc @@ -167,7 +167,7 @@ $helpArray = array ( "418" => array ("ext" => "FALSE", "Headline" => _("Expire date"), "Text" => _("Account expire date. If an account is expired login is only possible if password expire is set. Format: DD-MM-YYYY")), "424" => array ("ext" => "FALSE", "Headline" => _("Surname"), - "Text" => _("Surname of user. Only letters, - and spaces are allowed. Have you ever seen anybody with a number in his name?")), + "Text" => _("Surname of user. Only letters, - and spaces are allowed.")), "425" => array ("ext" => "FALSE", "Headline" => _("Given name"), "Text" => _("Given name of user. Only letters - and spaces are allowed. Have you ever seen anybody with a number in his name?")), "426" => array ("ext" => "FALSE", "Headline" => _("Use no password"), diff --git a/lam/lib/account.inc b/lam/lib/account.inc index 7f721eb0..49d3d3b2 100644 --- a/lam/lib/account.inc +++ b/lam/lib/account.inc @@ -39,7 +39,7 @@ class account { // This class keeps all needed values for any account var $general_shell; // array(string) list off all valid shells (user) hosts are hard-wired to /bin/false var $general_gecos; // string, gecos-field (user|roup|host) // Unix Password Settings - var $unix_memberUid; // string Stores all users which are member of group but is not primary group (group) + var $unix_memberUid; // array Stores all users which are member of group but is not primary group (group) var $unix_password; // string for unix-password (user|host) var $unix_password_no; // string (0|1) set unix-password to none (user|host) var $unix_pwdwarn; // string number of days a user is warned before password expires (user|host) value must be a natural number (user|host) @@ -169,6 +169,15 @@ function replace_umlaut($text) { // This function will replace umlates with ascc return strtr($text, $aTranslate); } +function array_delete($values, $array) { // This function will return all values from $array without values of $values + foreach ($array as $array_value) + if (!in_array($array_value, $values)) + $return[] = $array_value; + return $return; + } + + + function checkglobal($values, $type, $values_old=false) { // This functions checks all global account parameters $values is class account(), $type=user|host|group // If all values are OK an array of class account is returned. Else an error-string is returned $return = new account(); @@ -736,8 +745,8 @@ function checkid($values, $type, $values_old=false) { // if value is empty will // $ids[] = $_SESSION['hostDN'][$key]['uidNumber']; break; } - if ($values->general_uidNumber=='') - if (!$values_old) { + if ($values->general_uidNumber=='') { + if (!isset($values_old)) { if ($keys) { $id = 0; foreach ($keys as $key) @@ -759,8 +768,10 @@ function checkid($values, $type, $values_old=false) { // if value is empty will else $useID = $minID; return intval($useID); } - else return intval($values_old->general_uidNumber); - + else { + return intval($values_old->general_uidNumber); + } + } // Check manual ID if ( $values->general_uidNumber < $minID || $values->general_uidNumber > $maxID) return sprintf(_('Please enter a value between %s and %s!'), $minID, $maxID); foreach ($keys as $key) @@ -985,8 +996,7 @@ function loadgroup($dn) { // Will load all needed values from an existing group } $i=0; while (isset($attr['memberUid'][$i])) { - if ($i==0) $return->unix_memberUid = $attr['memberUid'][$i]; - else $return->unix_memberUid = $return->unix_memberUid . ', ' . $attr['memberUid'][$i]; + $return->unix_memberUid[$i] = $attr['memberUid'][$i]; $i++; } if (isset($attr['gidNumber'][0])) $return->general_uidNumber = $attr['gidNumber'][0]; @@ -995,8 +1005,6 @@ function loadgroup($dn) { // Will load all needed values from an existing group $return->general_username = $attr['cn'][0]; if ($_SESSION['config']->scriptServer) getquotas('group',$attr['cn'][0]); } - //if (isset($attr['memberUid'][0])) $return->general_memberUid = $attr['memberUid'][0]; - if (is_array($return->general_memberUid)) array_shift($return->general_memberUid); if (isset($attr['sambaSID'][0])) { $return->smb_mapgroup = $attr['sambaSID'][0]; $temp = explode('-', $attr['sambaSID'][0]); @@ -1372,7 +1380,7 @@ function modifyuser($values,$values_old) { // Will modify the LDAP-Account (($_SESSION['config']->samba3 =='yes') && (!in_array('sambaSamAccount', $_SESSION['account_old']->general_objectClass))) || (($_SESSION['config']->samba3 !='yes') && (!in_array('sambaAccount', $_SESSION['account_old']->general_objectClass)))) { - $result = ldap_search($_SESSION['ldap']->server(), $values_old->general_dn, "objectclass=PosixGroup"); + $result = ldap_search($_SESSION['ldap']->server(), $values_old->general_dn, "objectclass=PosixAccount"); $entry = ldap_first_entry($_SESSION['ldap']->server(), $result); $attr_old = ldap_get_attributes($_SESSION['ldap']->server(), $entry); // remove "count" from array @@ -1509,13 +1517,13 @@ function createhost($values) { // Will create the LDAP-Account $attr['gidNumber'] = getgid($values->general_group); // posixAccount_req $attr['homeDirectory'] = $values->general_homedir; // posixAccount_req - $values->unix_memberUid = str_replace(' ', '', $values->unix_memberUid); - $memberUid = explode (',', $values->unix_memberUid); - $i=0; - while(isset($memberUid[$i])) { - if ($memberUid[$i]!='') $attr['memberUid'][$i] = $memberUid[$i]; - $i++; - } + //$values->unix_memberUid = str_replace(' ', '', $values->unix_memberUid); + //$memberUid = explode (',', $values->unix_memberUid); + //$i=0; + //while(isset($memberUid[$i])) { + // if ($memberUid[$i]!='') $attr['memberUid'][$i] = $memberUid[$i]; + // $i++; + // } // posixAccount_may shadowAccount_may //if ($values->unix_password_no) $values->unix_password = ''; $values->unix_password = ''; @@ -1600,7 +1608,7 @@ function modifyhost($values,$values_old) { // Will modify the LDAP-Account (($_SESSION['config']->samba3 =='yes') && (!in_array('sambaSamAccount', $_SESSION['account_old']->general_objectClass))) || (($_SESSION['config']->samba3 !='yes') && (!in_array('sambaAccount', $_SESSION['account_old']->general_objectClass)))) { - $result = ldap_search($_SESSION['ldap']->server(), $values_old->general_dn, "objectclass=PosixGroup"); + $result = ldap_search($_SESSION['ldap']->server(), $values_old->general_dn, "objectclass=PosixAccount"); $entry = ldap_first_entry($_SESSION['ldap']->server(), $result); $attr_old = ldap_get_attributes($_SESSION['ldap']->server(), $entry); // remove "count" from array @@ -1723,12 +1731,14 @@ function modifygroup($values,$values_old) { // Will modify the LDAP-Group } if (($values->unix_memberUid != $values_old->unix_memberUid)) { - $values->unix_memberUid = str_replace(' ', '', $values->unix_memberUid); - $memberUid = explode (',', $values->unix_memberUid); - $values_old->unix_memberUid = str_replace(' ', '', $values_old->unix_memberUid); - $memberUid_old = explode (',', $values_old->unix_memberUid); - if ($memberUid[0]=='') $attr_rem['memberUid'] = $memberUid_old; - else if ($memberUid[0]!='') $attr['memberUid'] = $memberUid; + //$values->unix_memberUid = str_replace(' ', '', $values->unix_memberUid); + //$memberUid = explode (',', $values->unix_memberUid); + //$values_old->unix_memberUid = str_replace(' ', '', $values_old->unix_memberUid); + //$memberUid_old = explode (',', $values_old->unix_memberUid); + //if ($memberUid[0]=='') $attr_rem['memberUid'] = $memberUid_old; + // else if ($memberUid[0]!='') $attr['memberUid'] = $memberUid; + if (count($values->unix_memberUid)==0) $attr_rem['memberUid'] = $values_old->unix_memberUid; + else $attr['memberUid'] = $values->unix_memberUid; } if ($attr_rem) { diff --git a/lam/style/500_layout.css b/lam/style/500_layout.css index d4e58451..01ca1664 100644 --- a/lam/style/500_layout.css +++ b/lam/style/500_layout.css @@ -307,7 +307,7 @@ tr.domainlist-checked { /* table preferences */ table.account { - border-width:1px; + border-width:0px; border-style:solid; border-color:#000000; } diff --git a/lam/templates/account.php b/lam/templates/account.php index 7ccb9199..0c35b1af 100644 --- a/lam/templates/account.php +++ b/lam/templates/account.php @@ -41,6 +41,60 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch // final = last page shown before account is created/modified // if account is modified commands might be ran are shown // finish = page shown after account has been created/modified + case 'groupmembers': + do { + if (isset($_POST['users']) && isset($_POST['add'])) { + // Add new user + $_SESSION['account']->unix_memberUid = array_merge($_SESSION['account']->unix_memberUid, $_POST['users']); + // remove doubles + $_SESSION['account']->unix_memberUid = array_flip($_SESSION['account']->unix_memberUid); + array_unique($_SESSION['account']->unix_memberUid); + $_SESSION['account']->unix_memberUid = array_flip($_SESSION['account']->unix_memberUid); + // sort user + sort($_SESSION['account']->unix_memberUid); + // display groupmembers page + $select_local = 'groupmembers'; + break; + } + if (isset($_POST['members']) && isset($_POST['remove'])) { + $_SESSION['account']->unix_memberUid = array_delete($_POST['members'], $_SESSION['account']->unix_memberUid); + $select_local = 'groupmembers'; + break; + } + if (isset($_POST['back'])) { + $select_local = 'general'; + break; + } + if (isset($_POST['next'])) + if ($_SESSION['config']->samba3=='yes') { + $select_local = 'samba'; + break; + } + else { + $select_local = 'quota'; + break; + } + } while(0); +/* $select_local = 'groupmembers'; +* if (isset($_POST['users']) && isset($_POST['add'])) { +* // Add new user +* $_SESSION['account']->unix_memberUid = array_merge($_SESSION['account']->unix_memberUid, $_POST['users']); +* // remove doubles +* $_SESSION['account']->unix_memberUid = array_flip($_SESSION['account']->unix_memberUid); +* array_unique($_SESSION['account']->unix_memberUid); +* $_SESSION['account']->unix_memberUid = array_flip($_SESSION['account']->unix_memberUid); +* // sort user +* sort($_SESSION['account']->unix_memberUid); +* } +* if (isset($_POST['members']) && isset($_POST['remove'])) { +* $_SESSION['account']->unix_memberUid = array_delete($_POST['members'], $_SESSION['account']->unix_memberUid); +* } +* if (isset($_POST['back'])) $select_local = 'general'; +* if (isset($_POST['next'])) +* if ($_SESSION['config']->samba3=='yes') $select_local = 'samba'; +* else $select_local = 'quota'; +*/ + break; case 'general': // Write all general values into $_SESSION['account'] if no profile should be loaded if (!$_POST['load']) { @@ -72,7 +126,7 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch if ($_POST['next'] && ($errors=='')) switch ($_SESSION['account']->type) { case 'user': $select_local = 'unix'; break; - case 'group': $select_local = 'unix'; break; + case 'group': $select_local = 'groupmembers'; break; case 'host': $select_local = 'samba'; break; } } @@ -96,8 +150,8 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch else $_SESSION['account']->unix_pwdmaxage = ''; if (isset($_POST['f_unix_pwdminage'])) $_SESSION['account']->unix_pwdminage = $_POST['f_unix_pwdminage']; else $_SESSION['account']->unix_pwdminage = ''; - if (isset($_POST['f_unix_memberUid'])) $_SESSION['account']->unix_memberUid = $_POST['f_unix_memberUid']; - else $_SESSION['account']->unix_memberUid = ''; + //if (isset($_POST['f_unix_memberUid'])) $_SESSION['account']->unix_memberUid = $_POST['f_unix_memberUid']; + // else $_SESSION['account']->unix_memberUid = ''; if (isset($_POST['f_unix_host'])) $_SESSION['account']->unix_host = $_POST['f_unix_host']; else $_SESSION['account']->unix_host = ''; $_SESSION['account']->unix_pwdexpire = mktime(10, 0, 0, $_POST['f_unix_pwdexpire_mon'], @@ -199,7 +253,7 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch if ($_POST['back']) switch ($_SESSION['account']->type) { case 'user': $select_local = 'unix'; break; - case 'group': $select_local = 'unix'; break; + case 'group': $select_local = 'groupmembers'; break; } else if ($_POST['next']) if($errors=='') @@ -236,7 +290,7 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch switch ($_SESSION['account']->type) { case 'user': $select_local = 'samba'; break; case 'group': if ($_SESSION['config']->samba3=='yes') $select_local = 'samba'; - else $select_local = 'unix'; break; + else $select_local = 'groupmembers'; break; } else if ($_POST['next']) if ($errors=='') @@ -346,7 +400,7 @@ else { } } } - +if ($_POST['groupmembers']) $select_local = 'groupmembers'; if ($select_local != 'pdf') { // Write HTML-Header and part of Table @@ -431,6 +485,29 @@ switch ($select_local) { // Select which part of page will be loaded // final = last page shown before account is created/modified // if account is modified commands might be ran are shown // finish = page shown after account has been created/modified + case 'groupmembers': + ldapreload('user'); + echo ''; + echo _('Group members'); + echo ''."\n"; + echo _('Available users'); + echo ''."\n".''; + echo ''."\n"; + echo '

'."\n"; + echo ''."\n"; + echo ''. + ''. + ''. + ''."\n"; + break; case 'general': // General Account Settings // load list of all groups @@ -708,8 +785,10 @@ switch ($select_local) { // Select which part of page will be loaded case 'group' : echo ''; echo _('Group members'); - echo ''."\n".''. - ''."\n".''. + echo ''."\n".''; + //echo ''; + echo ''; + echo ''."\n".''. ''._('Help').''. ''."\n".''; break; diff --git a/lam/templates/account/groupedit.php b/lam/templates/account/groupedit.php new file mode 100644 index 00000000..508497bf --- /dev/null +++ b/lam/templates/account/groupedit.php @@ -0,0 +1,541 @@ +general_dn = substr($_SESSION['account']->general_dn, strpos($_SESSION['account']->general_dn, ',')+1); + $_SESSION['final_changegids'] = ''; + } + else $_SESSION['account'] = loadGroupProfile('default'); + + $values = getquotas($type); + if (is_object($values)) { + while (list($key, $val) = each($values)) // Set only defined values + if (isset($val)) $_SESSION['account']->$key = $val; + } + } + + +switch ($_POST['select']) { // Select which part of page should be loaded and check values + // general = startpage, general account paramters + // samba = page with all samba-related parameters e.g. smbpassword + // quota = page with all quota-related parameters e.g. hard file quota + // personal = page with all personal-related parametergs, e.g. phone number + // final = last page shown before account is created/modified + // if account is modified commands might be ran are shown + // finish = page shown after account has been created/modified + case 'groupmembers': + do { // X-Or, only one if() can be true + if (isset($_POST['users']) && isset($_POST['add'])) { // Add users to list + // Add new user + $_SESSION['account']->unix_memberUid = array_merge($_SESSION['account']->unix_memberUid, $_POST['users']); + // remove doubles + $_SESSION['account']->unix_memberUid = array_flip($_SESSION['account']->unix_memberUid); + array_unique($_SESSION['account']->unix_memberUid); + $_SESSION['account']->unix_memberUid = array_flip($_SESSION['account']->unix_memberUid); + // sort user + sort($_SESSION['account']->unix_memberUid); + // display groupmembers page + $select_local = 'groupmembers'; + break; + } + if (isset($_POST['members']) && isset($_POST['remove'])) { // remove users fromlist + $_SESSION['account']->unix_memberUid = array_delete($_POST['members'], $_SESSION['account']->unix_memberUid); + $select_local = 'groupmembers'; + break; + } + $select_local = 'groupmembers'; + } while(0); + break; + + case 'general': + // Write all general values into $_SESSION['account'] if no profile should be loaded + if (!$_POST['load']) { + $_SESSION['account']->general_dn = $_POST['f_general_suffix']; + $_SESSION['account']->general_username = $_POST['f_general_username']; + $_SESSION['account']->general_uidNumber = $_POST['f_general_uidNumber']; + $_SESSION['account']->general_gecos = $_POST['f_general_gecos']; + + // Check if values are OK and set automatic values. if not error-variable will be set + if (isset($_SESSION['account_old'])) list($values, $errors) = checkglobal($_SESSION['account'], $_SESSION['account']->type, $_SESSION['account_old']); // account.inc + else list($values, $errors) = checkglobal($_SESSION['account'], $_SESSION['account']->type); // account.inc + if (is_object($values)) { // Set only defined values + while (list($key, $val) = each($values)) + if (isset($val)) $_SESSION['account']->$key = $val; + } + // Check which part Site should be displayed next + $select_local = 'general'; + } + break; + + case 'samba': + $_SESSION['account']->smb_domain = $_POST['f_smb_domain']; + switch ($_POST['f_smb_mapgroup']) { + case '*'._('Domain Guests'): $_SESSION['account']->smb_mapgroup = $_SESSION['account']->smb_domain->SID . "-" . '514'; break; + case '*'._('Domain Users'): $_SESSION['account']->smb_mapgroup = $_SESSION['account']->smb_domain->SID . "-" . '513'; break; + case '*'._('Domain Admins'): $_SESSION['account']->smb_mapgroup = $_SESSION['account']->smb_domain->SID . "-" . '512'; break; + case $_SESSION['account']->general_group: + if ($_SESSION['config']->samba3 == 'yes') + $_SESSION['account']->smb_mapgroup = $_SESSION['account']->smb_domain->SID . "-". + (2 * getgid($_SESSION['account']->general_group) + $_SESSION['account']->smb_domain->RIDbase +1); + else $_SESSION['account']->smb_mapgroup = (2 * getgid($_SESSION['account']->general_group) + 1001); + break; + case $_SESSION['account']->general_username: + if ($_SESSION['config']->samba3 == 'yes') + $_SESSION['account']->smb_mapgroup = $_SESSION['account']->smb_domain->SID . "-". + (2 * $_SESSION['account']->general_uidNumber + $_SESSION['account']->smb_domain->RIDbase +1); + else $_SESSION['account']->smb_mapgroup = (2 * $_SESSION['account']->general_uidNumber + 1001); + break; + } + break; + + case 'quota': + // Write all general values into $_SESSION['account'] + $i=0; + while ($_SESSION['account']->quota[$i][0]) { + $_SESSION['account']->quota[$i][2] = $_POST['f_quota_'.$i.'_2']; + $_SESSION['account']->quota[$i][3] = $_POST['f_quota_'.$i.'_3']; + $_SESSION['account']->quota[$i][6] = $_POST['f_quota_'.$i.'_6']; + $_SESSION['account']->quota[$i][7] = $_POST['f_quota_'.$i.'_7']; + $i++; + } + + // Check if values are OK and set automatic values. if not error-variable will be set + list($values, $errors) = checkquota($_SESSION['account'], $_SESSION['account']->type); // account.inc + if (is_object($values)) { + while (list($key, $val) = each($values)) // Set only defined values + if (isset($val)) $_SESSION['account']->$key = $val; + } + + // Check which part Site should be displayed next + break; + + case 'final': + // Write all general values into $_SESSION['account'] + if ($_POST['f_final_changegids']) $_SESSION['final_changegids'] = $_POST['f_final_changegids'] ; + // Check which part Site should be displayed next + break; + + } + +// Write HTML-Header and part of Table +echo $_SESSION['header']; +echo ""; +echo _("Create new Account"); +echo "\n". + "\n". + "\n". + "\n"; + +do { // X-Or, only one if() can be true + if ($_POST['next_members']) { + if (!isset($errors)) $select_local='groupmembers'; + break; + } + if ($_POST['next_general']) { + if (!isset($errors)) $select_local='general'; + break; + } + if ($_POST['next_samba']) { + if (!isset($errors)) $select_local='samba'; + break; + } + if ($_POST['next_quota']) { + if (!isset($errors)) $select_local='quota'; + break; + } + if ($_POST['next_final']) { + if (!isset($errors)) $select_local='final'; + break; + } + if ( $_POST['create'] ) { // Create-Button was pressed + if ($_SESSION['account_old']) $result = modifygroup($_SESSION['account'],$_SESSION['account_old']); + else $result = creategroup($_SESSION['account']); // account.inc + if ( $result==1 || $result==3 ) $select_local = 'finish'; + else $select_local = 'final'; + break; + } + // Reset variables if recreate-button was pressed + if ($_POST['createagain']) { + $select_local='general'; + unset($_SESSION['account']); + $_SESSION['account'] = loadUserProfile('default'); + break; + } + if ($_POST['backmain']) { + $select_local='backmain'; + echo "\n"; + break; + } + if ($_POST['load']) { + // load profile + if ($_POST['f_general_selectprofile']!='') $_SESSION['account'] = loadGroupProfile($_POST['f_general_selectprofile']); + // select general page after group has been loaded + $select_local='general'; + break; + } + if ($_POST['save']) { + // save profile + saveGroupProfile($_SESSION['account'], $_POST['f_finish_safeProfile']); + // select last page displayed before user is created + $select_local='final'; + break; + } + if ($_POST['groupmembers']) { + $select_local='groupmembers'; + break; + } + // Set selected page to general if no page was defined. should only true if groupedit.php wasn't called by itself + if (!$select_local) $select_local='general'; + } while(0); + +echo "\n"; +echo "
\n"; +//echo "\n"; +//if (is_array($errors)) +// for ($i=0; $i\n"; + echo "
". _('Additional group members') . "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n\n
"; + echo _('Group members'); + echo "
"; + echo " "; + echo "\">

"; + echo ""._('Help-XX')."
"; + echo _('Available users'); + echo "
\n\n"; + echo "\n\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n
1. ==>2. "; echo _('Members'); echo "==>3. ==>4. ==>5.
\n"; + + break; + + case 'general': + // General Account Settings + // load list of profiles + $profilelist = getGroupProfiles(); + // Show page info + echo "\n"; + echo "
"; + echo _("General properties"); + echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n". + "\n\n\n\n\n\n\n
"; + echo _("Groupname")."*"; + echo "". + "general_username."\">". + ""._('Help')."
"; + echo _('GID number'); + echo "general_uidNumber."\">". + ""._('Help'). + "
"; + echo _('Gecos'); + echo "general_gecos."\">"._('Help')."
"; + echo _('Suffix'); echo ""._('Help'). + "
"; + echo _('Values with * are required'); + echo "
\n"; + echo "
"; + echo _("Load profile"); + echo "\n\n\n\n\n
"; + echo "\n". + "
\n
\n"; + echo "\n\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n
1. "; echo _('General'); echo "==>2. ==>3. ==>4. ==>5.
\n"; + break; + + case 'samba': + // Samba Settings + if ($_SESSION['config']->samba3 == 'yes') $samba3domains = $_SESSION['ldap']->search_domains($_SESSION[config]->get_domainSuffix()); + echo "\n"; + echo "
"._('Samba properties')."\n"; + echo "\n\n'."\n".''."\n".''."\n"; + echo "
"; + echo _('Windows groupname'); + echo "". + ''._('Help').''. + '
'; + echo _('Domain'); + echo ''._('Help').'
\n
\n"; + echo "\n\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n
2. ==>2. ==>3. "; echo _('Samba'); echo "==>4. ==>5.
\n"; + break; + + case 'quota': + // Quota Settings + echo ''; + echo "
"._('Quota properties')."\n"; + echo "'."\n".''."\n".''."\n".''."\n".''."\n".''."\n".''."\n".''."\n".''."\n"; + echo ''."\n".''."\n".''."\n".''."\n".''."\n".''."\n".''."\n".''."\n".''."\n"; + $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 "
"; + echo _('Mountpoint'); 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 '
'._('Help').''._('Help').''. + ''._('Help').''._('Help').''. + ''._('Help').''._('Help').''. + ''._('Help').''._('Help').''. + ''._('Help').'
'.$_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].'
\n
\n"; + echo "\n\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n
2. ==>2. ==>3. ==>4. "; echo _('Quota'); echo "==>5.
\n"; + break; + + case 'final': + // Final Settings + echo ''; + echo "
"; + if ($_SESSION['account_old']) echo _('Modify'); + else echo _('Create'); + echo "\n"; + echo ""; + if (($_SESSION['account_old']) && ($_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 ''."\n"; + echo ''."\n"; + } + if (isset($_SESSION['account_old']->general_objectClass)) { + if (($_SESSION['config']->samba3 == 'yes') && (!in_array('sambaGroupMapping', $_SESSION['account_old']->general_objectClass))) { + echo ''; + StatusMessage('WARN', _('ObjectClass sambaGroupMapping not found.'), _('Have to recreate entry.')); + echo "\n"; + } + if (!in_array('posixGroup', $_SESSION['account_old']->general_objectClass)) { + echo ''; + StatusMessage('WARN', _('ObjectClass posixGroup not found.'), _('Have to recreate entry.')); + echo "\n"; + } + } + echo ''."\n".''."\n".''."\n".''."\n"; + echo "
'; + echo ''; + echo _('Change GID-Number of all users in group to new value'); + echo '
'. + ''. + ''. + ''. + ''._('Help').''. + ''. + ''. + '
\n
\n"; + echo "\n\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n
2. ==>2. ==>3. ==>4. ==>5. "; echo _('Final'); echo "
\n"; + break; + + case 'finish': + // Final Settings + echo ''; + echo "
"._('Success')."\n"; + echo "'."\n".'
"; + echo '
'; + echo _('Group').' '; + echo $_SESSION['account']->general_username; + if ($_SESSION['account_old']) echo ' '._('has been modified').'.'; + else echo ' '._('has been created').'.'; + echo '
'; + if (!$_SESSION['account_old']) + { echo' '; } + echo ''. + ''. + '
'; + echo _('Please press here if meta-refresh didn\'t work.'); + echo "\n"; + if (isset($_SESSION['shelllist'])) unset($_SESSION['shelllist']); + if (isset($_SESSION['account'])) unset($_SESSION['account']); + if (isset($_SESSION['account_old'])) unset($_SESSION['account_old']); + break; + } + +// Print end of HTML-Page +echo ''; +?>