mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-26 00:29:38 +01:00
Edit and new account appears to be working correctly now
This commit is contained in:
parent
9ec5db9093
commit
df34d8c2ba
@ -10,30 +10,29 @@
|
|||||||
\**************************************************************************/
|
\**************************************************************************/
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
$phpgw_info["flags"] = array(
|
$phpgw_info['flags'] = array(
|
||||||
"noheader" => True,
|
'noheader' => True,
|
||||||
"nonavbar" => True,
|
'nonavbar' => True,
|
||||||
"currentapp" => "admin",
|
'currentapp' => 'admin',
|
||||||
"parent_page" => "accounts.php"
|
'parent_page' => 'accounts.php'
|
||||||
);
|
);
|
||||||
|
|
||||||
include("../header.inc.php");
|
include('../header.inc.php');
|
||||||
include($phpgw_info["server"]["app_inc"]."/accounts_".$phpgw_info["server"]["account_repository"].".inc.php");
|
|
||||||
|
|
||||||
// creates the html for the user data
|
// creates the html for the user data
|
||||||
function createPageBody($_account_id,$_userData='',$_errors='')
|
function createPageBody($_account_id,$_userData='',$_errors='')
|
||||||
{
|
{
|
||||||
global $phpgw,$phpgw_info;
|
global $phpgw, $phpgw_info;
|
||||||
|
|
||||||
$t = new Template($phpgw->common->get_tpl_dir("admin"));
|
$t = new Template($phpgw->common->get_tpl_dir('admin'));
|
||||||
$t->set_unknowns('remove');
|
$t->set_unknowns('remove');
|
||||||
$t->set_file(array("form" => "account_form.tpl"));
|
$t->set_file(array('form' => 'account_form.tpl'));
|
||||||
|
|
||||||
if ($_userData)
|
if ($_userData)
|
||||||
{
|
{
|
||||||
$userData=$_userData;
|
$userData=$_userData;
|
||||||
reset($userData['n_groups']);
|
reset($userData['account_groups']);
|
||||||
while(list($key, $value) = each($userData['n_groups']))
|
while (list($key, $value) = each($userData['account_groups']))
|
||||||
{
|
{
|
||||||
$userGroups[$key]['account_id'] = $value;
|
$userGroups[$key]['account_id'] = $value;
|
||||||
}
|
}
|
||||||
@ -49,71 +48,44 @@
|
|||||||
$allGroups = $account->get_list('groups');
|
$allGroups = $account->get_list('groups');
|
||||||
}
|
}
|
||||||
|
|
||||||
$t->set_var("form_action",$phpgw->link("editaccount.php",
|
$t->set_var('form_action',$phpgw->link('editaccount.php',
|
||||||
"account_id=$_account_id&old_loginid=".rawurlencode($userData['account_lid'])));
|
"account_id=$_account_id&old_loginid=".rawurlencode($userData['account_lid'])));
|
||||||
|
|
||||||
// groups list
|
|
||||||
$groups_select = '<select name="n_groups[]" multiple>';
|
|
||||||
$accounts = $account->get_list('groups');
|
|
||||||
|
|
||||||
for($i=0;$i<count($accounts);$i++) {
|
|
||||||
//echo $account->get_type($accounts[$i]["account_id"]);
|
|
||||||
// if ($account->get_type($accounts[$i]["account_id"]) == "g") {
|
|
||||||
$groups_select .= '<option value="' . $accounts[$i]["account_id"] . '"';
|
|
||||||
$members = $account->members($accounts[$i]["account_id"]);
|
|
||||||
if (!$members) { $members = array(); }
|
|
||||||
while (list($name,$value) = each($members)) {
|
|
||||||
//echo $value;
|
|
||||||
if ($value == $accounts[$i]["account_id"]) {
|
|
||||||
$groups_select .= " selected";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$groups_select .= ">" . $accounts[$i]["account_lid"] . "</option>\n";
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
$groups_select .= "</select>";
|
|
||||||
$t->set_var("groups_select",$groups_select);
|
|
||||||
// end groups list
|
|
||||||
|
|
||||||
if ($_errors)
|
if ($_errors)
|
||||||
{
|
{
|
||||||
$t->set_var("error_messages","<center>" . $phpgw->common->error_list($_errors) . "</center>");
|
$t->set_var('error_messages','<center>' . $phpgw->common->error_list($_errors) . '</center>');
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$t->set_var("error_messages","");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$t->set_var("th_bg",$phpgw_info["theme"]["th_bg"]);
|
$t->set_var('th_bg',$phpgw_info['theme']['th_bg']);
|
||||||
$t->set_var("tr_color1",$phpgw_info["theme"]["row_on"]);
|
$t->set_var('tr_color1',$phpgw_info['theme']['row_on']);
|
||||||
$t->set_var("tr_color2",$phpgw_info["theme"]["row_off"]);
|
$t->set_var('tr_color2',$phpgw_info['theme']['row_off']);
|
||||||
|
|
||||||
$t->set_var("lang_action",lang("Edit user account"));
|
$t->set_var('lang_action',lang('Edit user account'));
|
||||||
$t->set_var("lang_loginid",lang("LoginID"));
|
$t->set_var('lang_loginid',lang('LoginID'));
|
||||||
$t->set_var("lang_account_active",lang("Account active"));
|
$t->set_var('lang_account_active',lang('Account active'));
|
||||||
$t->set_var("lang_password",lang("Password"));
|
$t->set_var('lang_password',lang('Password'));
|
||||||
$t->set_var("lang_reenter_password",lang("Re-Enter Password"));
|
$t->set_var('lang_reenter_password',lang('Re-Enter Password'));
|
||||||
$t->set_var("lang_lastname",lang("Last Name"));
|
$t->set_var('lang_lastname',lang('Last Name'));
|
||||||
$t->set_var("lang_groups",lang("Groups"));
|
$t->set_var('lang_groups',lang('Groups'));
|
||||||
$t->set_var("lang_firstname",lang("First Name"));
|
$t->set_var('lang_firstname',lang('First Name'));
|
||||||
$t->set_var("lang_button",lang('Save'));
|
$t->set_var('lang_button',lang('Save'));
|
||||||
|
|
||||||
$t->set_var("n_loginid_value",$userData["account_lid"]);
|
$t->set_var('account_lid',$userData['account_lid']);
|
||||||
$t->set_var("n_passwd_value",$n_passwd);
|
$t->set_var('account_passwd',$account_passwd);
|
||||||
$t->set_var("n_passwd_2_value",$n_passwd_2);
|
$t->set_var('account_passwd_2',$account_passwd_2);
|
||||||
|
|
||||||
if ($userData["status"])
|
if ($userData['status'])
|
||||||
{
|
{
|
||||||
$t->set_var('account_status',' checked');
|
$t->set_var('account_status',' checked');
|
||||||
}
|
}
|
||||||
|
|
||||||
$t->set_var("n_firstname_value",$userData["firstname"]);
|
$t->set_var('account_firstname',$userData['firstname']);
|
||||||
$t->set_var("n_lastname_value",$userData["lastname"]);
|
$t->set_var('account_lastname',$userData['lastname']);
|
||||||
|
|
||||||
$allAccounts;
|
$allAccounts;
|
||||||
$userGroups;
|
$userGroups;
|
||||||
|
|
||||||
$groups_select = '<select name="n_groups[]" multiple>';
|
$groups_select = '<select name="account_groups[]" multiple>';
|
||||||
reset($allGroups);
|
reset($allGroups);
|
||||||
while (list($key,$value) = each($allGroups))
|
while (list($key,$value) = each($allGroups))
|
||||||
{
|
{
|
||||||
@ -123,27 +95,27 @@
|
|||||||
#print "Los1:".$userData["account_id"].$userGroups[$i]['account_id']." : ".$value['account_id']."<br>";
|
#print "Los1:".$userData["account_id"].$userGroups[$i]['account_id']." : ".$value['account_id']."<br>";
|
||||||
if ($userGroups[$i]['account_id'] == $value['account_id'])
|
if ($userGroups[$i]['account_id'] == $value['account_id'])
|
||||||
{
|
{
|
||||||
$groups_select .= " selected";
|
$groups_select .= ' selected';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$groups_select .= ">" . $value['account_lid'] . "</option>\n";
|
$groups_select .= '>' . $value['account_lid'] . '</option>';
|
||||||
}
|
}
|
||||||
$groups_select .= "</select>";
|
$groups_select .= '</select>';
|
||||||
$t->set_var("groups_select",$groups_select);
|
$t->set_var('groups_select',$groups_select);
|
||||||
|
|
||||||
|
|
||||||
// create list of available app
|
// create list of available app
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
$availableApps = $phpgw_info["apps"];
|
$availableApps = $phpgw_info['apps'];
|
||||||
@asort($availableApps);
|
@asort($availableApps);
|
||||||
@reset($availableApps);
|
@reset($availableApps);
|
||||||
while ($application = each($availableApps))
|
while ($application = each($availableApps))
|
||||||
{
|
{
|
||||||
if ($application[1]["enabled"])
|
if ($application[1]['enabled'])
|
||||||
{
|
{
|
||||||
$perm_display[$i]['appName'] = $application[0];
|
$perm_display[$i]['appName'] = $application[0];
|
||||||
$perm_display[$i]['translatedName'] = $application[1]["title"];
|
$perm_display[$i]['translatedName'] = $application[1]['title'];
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,33 +128,31 @@
|
|||||||
|
|
||||||
for ($i=0;$i<=count($perm_display);$i++)
|
for ($i=0;$i<=count($perm_display);$i++)
|
||||||
{
|
{
|
||||||
$checked = "";
|
$checked = '';
|
||||||
if ($new_permissions[$perm_display[$i]['appName']] || $db_perms[$perm_display[$i]['appName']])
|
if ($_userData['account_permissions'][$perm_display[$i]['appName']] || $db_perms[$perm_display[$i]['appName']])
|
||||||
{
|
{
|
||||||
$checked = " checked";
|
$checked = ' checked';
|
||||||
}
|
}
|
||||||
|
|
||||||
if($perm_display[$i]['translatedName'])
|
if ($perm_display[$i]['translatedName'])
|
||||||
{
|
{
|
||||||
$part1 = sprintf("<td>%s</td><td><input type=\"checkbox\" name=\"new_permissions[%s]\" value=\"True\" %s></td>",
|
$part1 = sprintf("<td>%s</td><td><input type=\"checkbox\" name=\"account_permissions[%s]\" value=\"True\" %s></td>",
|
||||||
lang($perm_display[$i]['translatedName']),
|
lang($perm_display[$i]['translatedName']),
|
||||||
$perm_display[$i]['appName'],
|
$perm_display[$i]['appName'],
|
||||||
$checked);
|
$checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
|
|
||||||
$checked = "";
|
$checked = "";
|
||||||
if ($new_permissions[$perm_display[$i]['appName']] || $db_perms[$perm_display[$i]['appName']])
|
if ($_userData['account_permissions'][$perm_display[$i]['appName']] || $db_perms[$perm_display[$i]['appName']])
|
||||||
{
|
{
|
||||||
$checked = " checked";
|
$checked = " checked";
|
||||||
}
|
}
|
||||||
|
|
||||||
if($perm_display[$i]['translatedName'])
|
if($perm_display[$i]['translatedName'])
|
||||||
{
|
{
|
||||||
$part2 = sprintf("<td>%s</td><td><input type=\"checkbox\" name=\"new_permissions[%s]\" value=\"True\" %s></td>",
|
$part2 = sprintf("<td>%s</td><td><input type=\"checkbox\" name=\"account_permissions[%s]\" value=\"True\" %s></td>",
|
||||||
lang($perm_display[$i]['translatedName']),
|
lang($perm_display[$i]['translatedName']),
|
||||||
$perm_display[$i]['appName'],
|
$perm_display[$i]['appName'],
|
||||||
$checked);
|
$checked);
|
||||||
@ -195,7 +165,7 @@
|
|||||||
$appRightsOutput .= sprintf("<tr bgcolor=\"%s\">$part1$part2</tr>\n",$phpgw_info["theme"]["row_on"]);
|
$appRightsOutput .= sprintf("<tr bgcolor=\"%s\">$part1$part2</tr>\n",$phpgw_info["theme"]["row_on"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$t->set_var("permissions_list",$appRightsOutput);
|
$t->set_var('permissions_list',$appRightsOutput);
|
||||||
|
|
||||||
echo $t->finish($t->parse('out','form'));
|
echo $t->finish($t->parse('out','form'));
|
||||||
}
|
}
|
||||||
@ -219,7 +189,7 @@
|
|||||||
$apps->account_type = 'u';
|
$apps->account_type = 'u';
|
||||||
$apps->account_id = $_userData['account_id'];
|
$apps->account_id = $_userData['account_id'];
|
||||||
$apps->account_apps = Array(Array());
|
$apps->account_apps = Array(Array());
|
||||||
while($app = each($_userData['new_permissions']))
|
while($app = each($_userData['account_permissions']))
|
||||||
{
|
{
|
||||||
if($app[1])
|
if($app[1])
|
||||||
{
|
{
|
||||||
@ -237,8 +207,8 @@
|
|||||||
$account = CreateObject('phpgwapi.accounts');
|
$account = CreateObject('phpgwapi.accounts');
|
||||||
$allGroups = $account->get_list('groups');
|
$allGroups = $account->get_list('groups');
|
||||||
|
|
||||||
reset($_userData['n_groups']);
|
reset($_userData['account_groups']);
|
||||||
while (list($key,$value) = each($_userData['n_groups']))
|
while (list($key,$value) = each($_userData['account_groups']))
|
||||||
{
|
{
|
||||||
$newGroups[$value] = $value;
|
$newGroups[$value] = $value;
|
||||||
}
|
}
|
||||||
@ -250,7 +220,7 @@
|
|||||||
{
|
{
|
||||||
#print "$key,". $groupData['account_id'] ."<br>";
|
#print "$key,". $groupData['account_id'] ."<br>";
|
||||||
|
|
||||||
#print "$key,". $_userData['n_groups'][1] ."<br>";
|
#print "$key,". $_userData['account_groups'][1] ."<br>";
|
||||||
|
|
||||||
if ($newGroups[$groupData['account_id']])
|
if ($newGroups[$groupData['account_id']])
|
||||||
{
|
{
|
||||||
@ -272,36 +242,36 @@
|
|||||||
|
|
||||||
$totalerrors = 0;
|
$totalerrors = 0;
|
||||||
|
|
||||||
if ($phpgw_info["server"]["account_repository"] == "ldap" && ! $allow_long_loginids)
|
if ($phpgw_info['server']['account_repository'] == 'ldap' && ! $allow_long_loginids)
|
||||||
{
|
{
|
||||||
if (strlen($_userData['account_lid']) > 8)
|
if (strlen($_userData['account_lid']) > 8)
|
||||||
{
|
{
|
||||||
$error[$totalerrors] = lang("The loginid can not be more then 8 characters");
|
$error[$totalerrors] = lang('The loginid can not be more then 8 characters');
|
||||||
$totalerrors++;
|
$totalerrors++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_userData['old_loginid'] != $_userData['account_lid'])
|
if ($_userData['old_loginid'] != $_userData['account_lid'])
|
||||||
{
|
{
|
||||||
if (account_exsists($_userData['n_loginid']))
|
if (account_exsists($_userData['account_loginid']))
|
||||||
{
|
{
|
||||||
$error[$totalerrors] = lang("That loginid has already been taken");
|
$error[$totalerrors] = lang('That loginid has already been taken');
|
||||||
$totalerrors++;
|
$totalerrors++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_userData['n_passwd'] || $_userData['n_passwd_2'])
|
if ($_userData['account_passwd'] || $_userData['account_passwd_2'])
|
||||||
{
|
{
|
||||||
if ($_userData['n_passwd'] != $_userData['n_passwd_2'])
|
if ($_userData['account_passwd'] != $_userData['account_passwd_2'])
|
||||||
{
|
{
|
||||||
$error[$totalerrors] = lang("The two passwords are not the same");
|
$error[$totalerrors] = lang('The two passwords are not the same');
|
||||||
$totalerrors++;
|
$totalerrors++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!count($_userData['new_permissions']) || !count($_userData['n_groups']))
|
if (!count($_userData['account_permissions']) || !count($_userData['account_groups']))
|
||||||
{
|
{
|
||||||
$error[$totalerrors] = "<br>" . lang("You must add at least 1 permission or group to this account");
|
$error[$totalerrors] = '<br>' . lang('You must add at least 1 permission or group to this account');
|
||||||
$totalerrors++;
|
$totalerrors++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -317,19 +287,24 @@
|
|||||||
|
|
||||||
// todo
|
// todo
|
||||||
// not needed if i use the same file for new users too
|
// not needed if i use the same file for new users too
|
||||||
if (! $account_id) {
|
if (! $account_id)
|
||||||
Header("Location: " . $phpgw->link("accounts.php"));
|
{
|
||||||
|
Header('Location: ' . $phpgw->link('accounts.php'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($submit)
|
if ($submit)
|
||||||
{
|
{
|
||||||
$userData = array(
|
$userData = array(
|
||||||
'account_lid' => $account_lid, 'firstname' => $firstname,
|
'account_lid' => $account_lid,
|
||||||
'lastname' => $lastname, 'passwd' => $n_passwd,
|
'firstname' => $account_firstname,
|
||||||
'status' => $account_status, 'old_loginid' => rawurldecode($old_loginid),
|
'lastname' => $account_lastname,
|
||||||
'account_id' => $account_id, 'passwd_2' => $n_passwd_2,
|
'account_passwd' => $account_passwd,
|
||||||
'n_groups' => $n_groups, 'new_permissions' => $new_permissions
|
'status' => $account_status,
|
||||||
|
'old_loginid' => rawurldecode($old_loginid),
|
||||||
|
'account_id' => $account_id,
|
||||||
|
'account_passwd_2' => $account_passwd_2,
|
||||||
|
'account_groups' => $account_groups,
|
||||||
|
'account_permissions' => $account_permissions
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!$errors = userDataInvalid($userData))
|
if (!$errors = userDataInvalid($userData))
|
||||||
@ -345,9 +320,7 @@
|
|||||||
|
|
||||||
createPageBody($userData['account_id'],$userData,$errors);
|
createPageBody($userData['account_id'],$userData,$errors);
|
||||||
|
|
||||||
account_close();
|
|
||||||
$phpgw->common->phpgw_footer();
|
$phpgw->common->phpgw_footer();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -357,17 +330,15 @@
|
|||||||
|
|
||||||
createPageBody($account_id);
|
createPageBody($account_id);
|
||||||
|
|
||||||
account_close();
|
|
||||||
$phpgw->common->phpgw_footer();
|
$phpgw->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// the old code
|
// the old code
|
||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// The following sets any default preferences needed for new applications..
|
// The following sets any default preferences needed for new applications..
|
||||||
// This is smart enough to know if previous preferences were selected, use them.
|
// This is smart enough to know if previous preferences were selected, use them.
|
||||||
@ -377,24 +348,31 @@
|
|||||||
|
|
||||||
$docommit = False;
|
$docommit = False;
|
||||||
$after_apps = explode(':',$apps_after);
|
$after_apps = explode(':',$apps_after);
|
||||||
for($i=1;$i<count($after_apps) - 1;$i++) {
|
for ($i=1;$i<count($after_apps) - 1;$i++)
|
||||||
if($after_apps[$i]=='admin') {
|
{
|
||||||
|
if ($after_apps[$i]=='admin')
|
||||||
|
{
|
||||||
$check = 'common';
|
$check = 'common';
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$check = $after_apps[$i];
|
$check = $after_apps[$i];
|
||||||
}
|
}
|
||||||
if (!$t["$check"]) {
|
|
||||||
|
if (!$t["$check"])
|
||||||
|
{
|
||||||
$phpgw->common->hook_single('add_def_pref', $after_apps[$i]);
|
$phpgw->common->hook_single('add_def_pref', $after_apps[$i]);
|
||||||
$docommit = True;
|
$docommit = True;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($docommit) {
|
if ($docommit)
|
||||||
|
{
|
||||||
$pref->commit();
|
$pref->commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// start including other admin tools
|
// start including other admin tools
|
||||||
while($app = each($apps_after))
|
while ($app = each($apps_after))
|
||||||
{
|
{
|
||||||
$phpgw->common->hook_single('update_user_data', $app[0]);
|
$phpgw->common->hook_single('update_user_data', $app[0]);
|
||||||
}
|
}
|
||||||
@ -403,10 +381,7 @@
|
|||||||
// start inlcuding other admin tools
|
// start inlcuding other admin tools
|
||||||
while($app = each($apps_after))
|
while($app = each($apps_after))
|
||||||
{
|
{
|
||||||
// check if we have something included, when not ne need to set
|
$phpgw->common->hook_single('show_user_data', $app[0]);
|
||||||
// {gui_hooks} to ""
|
|
||||||
if ($phpgw->common->hook_single('show_user_data', $app[0])) $includedSomething=True;
|
|
||||||
}
|
}
|
||||||
if (!$includedSomething) $t->set_var('gui_hooks','');
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
$phpgw_info["flags"] = array("currentapp" => "admin", "noheader" => True, "nonavbar" => True,
|
$phpgw_info["flags"] = array("currentapp" => "admin", "noheader" => True, "nonavbar" => True,
|
||||||
"parent_page" => "accounts.php");
|
"parent_page" => "accounts.php");
|
||||||
include("../header.inc.php");
|
include("../header.inc.php");
|
||||||
include($phpgw_info["server"]["app_inc"]."/accounts_".$phpgw_info["server"]["account_repository"].".inc.php");
|
#include($phpgw_info["server"]["app_inc"]."/accounts_".$phpgw_info["server"]["account_repository"].".inc.php");
|
||||||
|
|
||||||
function is_odd($n)
|
function is_odd($n)
|
||||||
{
|
{
|
||||||
@ -273,6 +273,6 @@
|
|||||||
$phpgw->template->set_var("lang_button",Lang("Add"));
|
$phpgw->template->set_var("lang_button",Lang("Add"));
|
||||||
echo $phpgw->template->finish($phpgw->template->parse("out","form"));
|
echo $phpgw->template->finish($phpgw->template->parse("out","form"));
|
||||||
|
|
||||||
account_close();
|
#account_close();
|
||||||
$phpgw->common->phpgw_footer();
|
$phpgw->common->phpgw_footer();
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user