fixed problem with ID generation. I hope it's working now

Fixed new problem with additaional groups
Added Group and Host PDF Support
This commit is contained in:
katagia 2003-10-17 16:04:57 +00:00
parent 2a192da7d3
commit 379a43252e
5 changed files with 73 additions and 40 deletions

View File

@ -217,7 +217,7 @@ $helpArray = array (
"435" => array ("ext" => "FALSE", "Headline" => _("Profile path"), "435" => array ("ext" => "FALSE", "Headline" => _("Profile path"),
"Text" => _("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.")), "Text" => _("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.")),
"436" => array ("ext" => "FALSE", "Headline" => _("Samba workstations"), "436" => array ("ext" => "FALSE", "Headline" => _("Samba workstations"),
"Text" => _("Comma separated list of samba workstations the user is allowed to login. Empty means every workstation."). ' '. _("Can be left empty.")), "Text" => _("List of samba workstations the user is allowed to login. Empty means every workstation."). ' '. _("Can be left empty.")),
"437" => array ("ext" => "FALSE", "Headline" => _("Home path"), "437" => array ("ext" => "FALSE", "Headline" => _("Home path"),
"Text" => _("UNC-path (\\\\server\\share) of homedirectory. \$user and \$group are replaced with user- and groupname."). ' '. _("Can be left empty.")), "Text" => _("UNC-path (\\\\server\\share) of homedirectory. \$user and \$group are replaced with user- and groupname."). ' '. _("Can be left empty.")),
"438" => array ("ext" => "FALSE", "Headline" => _("Domain"), "438" => array ("ext" => "FALSE", "Headline" => _("Domain"),

View File

@ -111,7 +111,7 @@ function replace_umlaut($text) { // This function will replace umlates with ascc
function array_delete($values, $array) { // This function will return all values from $array without values of $values function array_delete($values, $array) { // This function will return all values from $array without values of $values
foreach ($array as $array_value) foreach ($array as $array_value)
if (!in_array($array_value, $values)) if (!@in_array($array_value, $values))
$return[] = $array_value; $return[] = $array_value;
return $return; return $return;
} }
@ -180,7 +180,7 @@ function getquotas($type,$user='+') { // Whis function will return the quotas fr
$towrite = $ldap_q[0].' '.$ldap_q[1].' '.$user.' quota get '; $towrite = $ldap_q[0].' '.$ldap_q[1].' '.$user.' quota get ';
if ($type=='user') $towrite = $towrite.'u'; if ($type=='user') $towrite = $towrite.'u';
else $towrite = $towrite.'g'; else $towrite = $towrite.'g';
exec("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite, $vals, $status); exec(escapeshellarg("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite), $vals, $status);
$vals = explode(':', $vals[0]); $vals = explode(':', $vals[0]);
for ($i=0; $i<sizeof($vals); $i++) { for ($i=0; $i<sizeof($vals); $i++) {
$vals2 = explode(',', $vals[$i]); $vals2 = explode(',', $vals[$i]);
@ -212,7 +212,7 @@ function setquotas($values,$type,$values_old=false) { // Whis function will set
} }
$i++; $i++;
} }
if ($i!=0) exec("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite, $vals); if ($i!=0) exec(escapeshellarg("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite), $vals);
} }
function remquotas($user, $type) { // Whis function will remove the quotas from the specified user. function remquotas($user, $type) { // Whis function will remove the quotas from the specified user.
@ -223,7 +223,7 @@ function remquotas($user, $type) { // Whis function will remove the quotas from
if ($type=='user') $towrite = $towrite.'u '; if ($type=='user') $towrite = $towrite.'u ';
else $towrite = $towrite.'g '; else $towrite = $towrite.'g ';
exec("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite, $vals); exec(escapeshellarg("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite), $vals);
} }
@ -232,7 +232,7 @@ function addhomedir($user) { // Create Homedirectory
// all other needed vars are taken from remotesystem getusrnam // all other needed vars are taken from remotesystem getusrnam
$ldap_q = $_SESSION['ldap']->decrypt(); $ldap_q = $_SESSION['ldap']->decrypt();
$towrite = $ldap_q[0].' '.$ldap_q[1].' '.$user.' home add'; $towrite = $ldap_q[0].' '.$ldap_q[1].' '.$user.' home add';
exec("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite, $vals); exec(escapeshellarg("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite), $vals);
} }
function remhomedir($user) { // Remove Homedirectory function remhomedir($user) { // Remove Homedirectory
@ -240,7 +240,7 @@ function remhomedir($user) { // Remove Homedirectory
// all other needed vars are taken from remotesystem getusrnam // all other needed vars are taken from remotesystem getusrnam
$ldap_q = $_SESSION['ldap']->decrypt(); $ldap_q = $_SESSION['ldap']->decrypt();
$towrite = $ldap_q[0].' '.$ldap_q[1].' '.$user.' home rem'; $towrite = $ldap_q[0].' '.$ldap_q[1].' '.$user.' home rem';
exec("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite, $vals); exec(escapeshellarg("perl ".$_SESSION['lampath']."lib/lamdaemon.pl ".$_SESSION['config']->scriptServer ." ".$_SESSION['config']->scriptPath." ".$towrite), $vals);
} }
function ldapreload($type) { // This function will load an array th cache ldap-requests function ldapreload($type) { // This function will load an array th cache ldap-requests
@ -445,14 +445,10 @@ function checkid($values, $type, $values_old=false) { // if value is empty will
if ($id < $maxID) return intval($id); if ($id < $maxID) return intval($id);
} }
} }
$i = intval($minID);
$id=$minID; while (in_array($i, $keys3)) $i++;
while ($values->general_uidNumber=='') { if ($i>$maxID) return _('No free ID-Number!');
if ($keys3[$id]>$maxID) return _('No free ID-Number!'); else return $i;
// if !=1, we've found an unused id
if ($keys3[$id+1]-$keys3[$id]!=1) return intval($keys3[$id]+1);
$id++;
}
} }
else $useID = $minID; else $useID = $minID;
return intval($useID); return intval($useID);
@ -554,10 +550,11 @@ function loaduser($dn) { // Will load all needed values from an existing account
if (isset($attr['postalCode'][0])) $return->personal_postalCode = utf8_decode($attr['postalCode'][0]); if (isset($attr['postalCode'][0])) $return->personal_postalCode = utf8_decode($attr['postalCode'][0]);
if (isset($attr['postalAddress'][0])) $return->personal_postalAddress = utf8_decode($attr['postalAddress'][0]); if (isset($attr['postalAddress'][0])) $return->personal_postalAddress = utf8_decode($attr['postalAddress'][0]);
if (isset($attr['employeeType'][0])) $return->personal_employeeType = utf8_decode($attr['employeeType'][0]); if (isset($attr['employeeType'][0])) $return->personal_employeeType = utf8_decode($attr['employeeType'][0]);
if ( ereg('^[{]([A-Z]|[a-z]|[0-9])+[}][!]', $attr['userPassword'][0])) $return->unix_deactivated=true;
if (isset($attr['userPassword'][0])) $return->unix_password = $attr['userPassword'][0];
if (isset($attr['userPassword'][0])) {
$return->unix_password = $attr['userPassword'][0];
$return->unix_deactivated=$_SESSION['ldap']->pwd_is_enabled($attr['userPassword'][0]);
}
if (isset($attr['displayName'][0])) $return->smb_displayName = utf8_decode($attr['displayName'][0]); if (isset($attr['displayName'][0])) $return->smb_displayName = utf8_decode($attr['displayName'][0]);
if (in_array('sambaSamAccount', $attr['objectClass'])) { if (in_array('sambaSamAccount', $attr['objectClass'])) {
@ -647,7 +644,10 @@ function loadhost($dn) { // Will load all needed values from an existing account
if (isset($attr['uidNumber'][0])) $return->general_uidNumber = $attr['uidNumber'][0]; if (isset($attr['uidNumber'][0])) $return->general_uidNumber = $attr['uidNumber'][0];
if (isset($attr['gecos'][0])) $return->general_gecos = utf8_decode($attr['gecos'][0]); if (isset($attr['gecos'][0])) $return->general_gecos = utf8_decode($attr['gecos'][0]);
if (isset($attr['displayName'][0])) $return->smb_displayName = utf8_decode($attr['displayName'][0]); if (isset($attr['displayName'][0])) $return->smb_displayName = utf8_decode($attr['displayName'][0]);
if (isset($attr['userPassword'][0])) $return->unix_password = $attr['userPassword'][0]; if (isset($attr['userPassword'][0])) {
$return->unix_password = $attr['userPassword'][0];
$return->unix_deactivated=$_SESSION['ldap']->pwd_is_enabled($attr['userPassword'][0]);
}
// Get Groupname // Get Groupname
if (isset($attr['gidNumber'][0])) { if (isset($attr['gidNumber'][0])) {
@ -784,8 +784,8 @@ function createuser($values) { // Will create the LDAP-Account
} }
else { else {
if (file_exists($_SESSION['lampath'].'lib/createntlm.pl')) { // masscreate.php is at a different relative path if (file_exists($_SESSION['lampath'].'lib/createntlm.pl')) { // masscreate.php is at a different relative path
$attr['sambaNTPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password); $attr['sambaNTPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password));
$attr['sambaLMPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password); $attr['sambaLMPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password));
} }
$attr['sambaPwdLastSet'] = time(); // sambaAccount_may $attr['sambaPwdLastSet'] = time(); // sambaAccount_may
} }
@ -812,8 +812,8 @@ function createuser($values) { // Will create the LDAP-Account
$attr['pwdLastSet'] = time(); // sambaAccount_may $attr['pwdLastSet'] = time(); // sambaAccount_may
} }
else { else {
$attr['ntPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password); $attr['ntPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password));
$attr['lmPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password); $attr['lmPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password));
$attr['pwdLastSet'] = time(); // sambaAccount_may $attr['pwdLastSet'] = time(); // sambaAccount_may
} }
$attr['rid'] = (2 * $values->general_uidNumber + 1000); // sambaAccount_may $attr['rid'] = (2 * $values->general_uidNumber + 1000); // sambaAccount_may
@ -993,8 +993,8 @@ function modifyuser($values,$values_old) { // Will modify the LDAP-Account
} }
else else
if ($values->smb_password!='') { if ($values->smb_password!='') {
$attr['sambaNTPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password); $attr['sambaNTPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password));
$attr['sambaLMPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password); $attr['sambaLMPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password));
$attr['sambaPwdLastSet'] = time(); // sambaAccount_may $attr['sambaPwdLastSet'] = time(); // sambaAccount_may
} }
if ($values->smb_pwdcanchange != $values_old->smb_pwdcanchange) $attr['sambaPwdCanChange'] = $values->smb_pwdcanchange; // sambaAccount_may if ($values->smb_pwdcanchange != $values_old->smb_pwdcanchange) $attr['sambaPwdCanChange'] = $values->smb_pwdcanchange; // sambaAccount_may
@ -1024,8 +1024,8 @@ function modifyuser($values,$values_old) { // Will modify the LDAP-Account
} }
else else
if ($values->smb_password!='') { if ($values->smb_password!='') {
$attr['ntPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password); $attr['ntPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl nt ' . $values->smb_password));
$attr['lmPassword'] = exec($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password); $attr['lmPassword'] = exec(escapeshellarg($_SESSION['lampath'].'lib/createntlm.pl lm ' . $values->smb_password));
$attr['pwdLastSet'] = time(); // sambaAccount_may $attr['pwdLastSet'] = time(); // sambaAccount_may
} }
if ($values->smb_pwdcanchange != $values_old->smb_pwdcanchange) $attr['pwdCanChange'] = $values->smb_pwdcanchange; // sambaAccount_may if ($values->smb_pwdcanchange != $values_old->smb_pwdcanchange) $attr['pwdCanChange'] = $values->smb_pwdcanchange; // sambaAccount_may
@ -1265,8 +1265,8 @@ function modifyuser($values,$values_old) { // Will modify the LDAP-Account
unset($attr_old[$keys[$i]]['count']); unset($attr_old[$keys[$i]]['count']);
$success = ldap_add($_SESSION['ldap']->server(),$values->general_dn, $attr_old); $success = ldap_add($_SESSION['ldap']->server(),$values->general_dn, $attr_old);
if ($success) $success = ldap_delete($_SESSION['ldap']->server(),$values_old->general_dn); if ($success) $success = ldap_delete($_SESSION['ldap']->server(),$values_old->general_dn);
}
if (!$success) return 5; if (!$success) return 5;
}
// Write Groupmemberchips // Write Groupmemberchips
$result = ldap_search($_SESSION['ldap']->server(), $_SESSION['config']->get_GroupSuffix(), 'objectClass=PosixGroup', array('memberUid', 'cn')); $result = ldap_search($_SESSION['ldap']->server(), $_SESSION['config']->get_GroupSuffix(), 'objectClass=PosixGroup', array('memberUid', 'cn'));
$entry = ldap_first_entry($_SESSION['ldap']->server(), $result); $entry = ldap_first_entry($_SESSION['ldap']->server(), $result);
@ -1282,7 +1282,7 @@ function modifyuser($values,$values_old) { // Will modify the LDAP-Account
if (!$success) return 5; if (!$success) return 5;
} }
} }
if (!in_array($values->general_username, $attr2['memberUid']) && in_array($attr2['cn'][0], $values->general_groupadd) && ($attr2['cn'][0]!=$values->general_group)) { if (!@in_array($values->general_username, $attr2['memberUid']) && @in_array($attr2['cn'][0], $values->general_groupadd) && ($attr2['cn'][0]!=$values->general_group)) {
$toadd['memberUid'] = $attr2['memberUid']; $toadd['memberUid'] = $attr2['memberUid'];
$toadd['memberUid'][] = $values->general_username; $toadd['memberUid'][] = $values->general_username;
$success = ldap_mod_replace($_SESSION['ldap']->server(), ldap_get_dn($_SESSION['ldap']->server(), $entry), $toadd); $success = ldap_mod_replace($_SESSION['ldap']->server(), ldap_get_dn($_SESSION['ldap']->server(), $entry), $toadd);

View File

@ -252,6 +252,25 @@ switch ($select) { // Select which part of page should be loaded and check value
if ($_POST['f_final_changegids']) $final_changegids = $_POST['f_final_changegids'] ; if ($_POST['f_final_changegids']) $final_changegids = $_POST['f_final_changegids'] ;
break; break;
case 'finish':
// Check if pdf-file should be created
if ($_POST['outputpdf']) {
// Quota Settings
if ($config_intern->scriptServer && !isset($account_new->quota[0])) { // load quotas
$values = getquotas('group', $account_old->general_username);
if (is_object($values)) {
while (list($key, $val) = each($values)) // Set only defined values
if (isset($val)) $account_new->$key = $val;
}
if (is_object($values) && isset($account_old)) {
while (list($key, $val) = each($values)) // Set only defined values
if (isset($val)) $account_old->$key = $val;
}
}
createGroupPDF(array($account_new));
die;
}
break;
} }
@ -430,7 +449,7 @@ switch ($select_local) { // Select which part of page will be loaded
echo "\">\n"; echo "\">\n";
} }
echo "</fieldset></td></tr></table></td>\n<td>"; echo "</fieldset></td></tr></table></td>\n<td>";
echo "<table border=0><tr><td><fieldset class=\"groupedit-bright\"><legend class=\"groupedit-bright\"><b>". _('Additional group members') . "</b></legend>\n"; echo "<table border=0 width=\"100%\"><tr><td><fieldset class=\"groupedit-bright\"><legend class=\"groupedit-bright\"><b>". _('Additional group members') . "</b></legend>\n";
echo "<table border=0 width=\"100%\">\n"; echo "<table border=0 width=\"100%\">\n";
echo "<tr><td valign=\"top\"><fieldset class=\"groupedit-middle\"><legend class=\"groupedit-bright\">"; echo "<tr><td valign=\"top\"><fieldset class=\"groupedit-middle\"><legend class=\"groupedit-bright\">";
echo _('Group members'); echo _('Group members');
@ -812,7 +831,9 @@ switch ($select_local) { // Select which part of page will be loaded
echo '</td></tr>'."\n".'<tr><td>'; echo '</td></tr>'."\n".'<tr><td>';
if (!$account_old) if (!$account_old)
{ echo' <input name="createagain" type="submit" value="'; echo _('Create another group'); echo '">'; } { echo' <input name="createagain" type="submit" value="'; echo _('Create another group'); echo '">'; }
echo '</td><td></td><td>'. echo '</td>'."\n".'<td>'.
'<input name="outputpdf" type="submit" value="'; echo _('Create PDF file'); echo '">'.
'</td>'."\n".'<td>'.
'<input name="backmain" type="submit" value="'; echo _('Back to group list'); echo '">'. '<input name="backmain" type="submit" value="'; echo _('Back to group list'); echo '">'.
'</td></tr></table></fieldset'."\n"; '</td></tr></table></fieldset'."\n";
break; break;

View File

@ -189,6 +189,15 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch
case 'final': case 'final':
$select_local = 'final'; $select_local = 'final';
break; break;
case 'finish':
// Check if pdf-file should be created
if ($_POST['outputpdf']) {
createHostPDF(array($account_new));
die;
}
break;
} }
@ -513,9 +522,12 @@ switch ($select_local) { // Select which part of page will be loaded
echo '</td></tr>'."\n".'<tr><td>'; echo '</td></tr>'."\n".'<tr><td>';
if (!$account_old) if (!$account_old)
{ echo '<input name="createagain" type="submit" value="'; echo _('Create another host'); echo '">'; } { echo '<input name="createagain" type="submit" value="'; echo _('Create another host'); echo '">'; }
echo '</td><td>'."\n".'</td><td>'. echo '</td>'."\n".'<td>'.
'<input name="outputpdf" type="submit" value="'; echo _('Create PDF file'); echo '">'.
'</td>'."\n".'<td>'.
'<input name="backmain" type="submit" value="'; echo _('Back to host list'); echo '">'. '<input name="backmain" type="submit" value="'; echo _('Back to host list'); echo '">'.
'</td></tr></table></fieldset'."\n"; '</td></tr></table></fieldset'."\n";
break; break;
} }

View File

@ -127,14 +127,13 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch
do { // X-Or, only one if() can be true do { // X-Or, only one if() can be true
if (isset($_POST['allgroups']) && isset($_POST['add'])) { // Add users to list if (isset($_POST['allgroups']) && isset($_POST['add'])) { // Add users to list
// Add new user // Add new user
$account_new->general_groupadd = array_merge($account_new->general_groupadd, $_POST['allgroups']); $account_new->general_groupadd = @array_merge($account_new->general_groupadd, $_POST['allgroups']);
// remove doubles // remove doubles
$account_new->general_groupadd = array_flip($account_new->general_groupadd); $account_new->general_groupadd = @array_flip($account_new->general_groupadd);
array_unique($account_new->general_groupadd); array_unique($account_new->general_groupadd);
$account_new->general_groupadd = array_flip($account_new->general_groupadd); $account_new->general_groupadd = @array_flip($account_new->general_groupadd);
// sort user // sort user
sort($account_new->general_groupadd); sort($account_new->general_groupadd);
// display groupmembers page
break; break;
} }
if (isset($_POST['selectedgroups']) && isset($_POST['remove'])) { // remove users fromlist if (isset($_POST['selectedgroups']) && isset($_POST['remove'])) { // remove users fromlist
@ -195,8 +194,6 @@ switch ($_POST['select']) { // Select which part of page should be loaded and ch
$account_new->general_givenname = $_POST['f_general_givenname']; $account_new->general_givenname = $_POST['f_general_givenname'];
$account_new->general_uidNumber = $_POST['f_general_uidNumber']; $account_new->general_uidNumber = $_POST['f_general_uidNumber'];
$account_new->general_group = $_POST['f_general_group']; $account_new->general_group = $_POST['f_general_group'];
if (isset($_POST['f_general_groupadd'])) $account_new->general_groupadd = $_POST['f_general_groupadd'];
else $account_new->general_groupadd = array('');
$account_new->general_homedir = $_POST['f_general_homedir']; $account_new->general_homedir = $_POST['f_general_homedir'];
$account_new->general_shell = $_POST['f_general_shell']; $account_new->general_shell = $_POST['f_general_shell'];
$account_new->general_gecos = $_POST['f_general_gecos']; $account_new->general_gecos = $_POST['f_general_gecos'];
@ -723,7 +720,7 @@ switch ($select_local) { // Select which part of page will be loaded
echo "<td align=\"center\" width=\"10%\"><input type=\"submit\" name=\"add\" value=\"<=\">"; echo "<td align=\"center\" width=\"10%\"><input type=\"submit\" name=\"add\" value=\"<=\">";
echo " "; echo " ";
echo "<input type=\"submit\" name=\"remove\" value=\"=>\"><br><br>"; echo "<input type=\"submit\" name=\"remove\" value=\"=>\"><br><br>";
echo "<a href=\""."../help.php?HelpNumber=XXX\" target=\"lamhelp\">"._('Help-XX')."</a></td>\n"; echo "<a href=\""."../help.php?HelpNumber=436\" target=\"lamhelp\">"._('Help')."</a></td>\n";
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";
@ -744,6 +741,9 @@ switch ($select_local) { // Select which part of page will be loaded
foreach ($temp2 as $temp) $groups[] = $temp['cn']; foreach ($temp2 as $temp) $groups[] = $temp['cn'];
sort($groups, SORT_STRING); sort($groups, SORT_STRING);
$groups = array_delete($account_new->general_groupadd, $groups); $groups = array_delete($account_new->general_groupadd, $groups);
$groups = array_flip($groups);
unset ($groups[$account_new->general_group]);
$groups = array_flip($groups);
echo '<input name="select" type="hidden" value="groups">'; echo '<input name="select" type="hidden" value="groups">';
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%\" >";
@ -783,7 +783,7 @@ switch ($select_local) { // Select which part of page will be loaded
echo "<td align=\"center\" width=\"10%\"><input type=\"submit\" name=\"add\" value=\"<=\">"; echo "<td align=\"center\" width=\"10%\"><input type=\"submit\" name=\"add\" value=\"<=\">";
echo " "; echo " ";
echo "<input type=\"submit\" name=\"remove\" value=\"=>\"><br><br>"; echo "<input type=\"submit\" name=\"remove\" value=\"=>\"><br><br>";
echo "<a href=\""."../help.php?HelpNumber=XXX\" target=\"lamhelp\">"._('Help-XX')."</a></td>\n"; echo "<a href=\""."../help.php?HelpNumber=402\" target=\"lamhelp\">"._('Help')."</a></td>\n";
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 groups'); echo _('Available groups');
echo "</legend>\n"; echo "</legend>\n";