should allow changing of account prefs using ldap or sql

This commit is contained in:
skeeter 2001-01-04 20:06:38 +00:00
parent 4638fe9f4d
commit 9b7dfe7315

View File

@ -64,9 +64,8 @@
} }
if (! $totalerrors) { if (! $totalerrors) {
$phpgw->db->query("SELECT account_permissions, account_id FROM accounts WHERE account_lid='" . $old_loginid . "'",__LINE__,__FILE__); $phpgw->db->query("SELECT account_id FROM accounts WHERE account_lid='" . $old_loginid . "'",__LINE__,__FILE__);
$phpgw->db->next_record(); $phpgw->db->next_record();
$apps_before = $phpgw->db->f("account_permissions");
$account_id = $phpgw->db->f("account_id"); $account_id = $phpgw->db->f("account_id");
while ($permission = each($new_permissions)) { while ($permission = each($new_permissions)) {
@ -75,14 +74,6 @@
} }
} }
$apps_after = $phpgw->accounts->add_app("",True); $apps_after = $phpgw->accounts->add_app("",True);
if($apps_before <> $apps_after) {
$after_apps = explode(":",$apps_after);
for ($i=1;$i<=count($after_apps);$i++) {
if (!strpos(" ".$apps_before." ",$after_apps)) {
$new_apps[] = $after_apps;
}
}
}
$cd = account_edit(array("loginid" => $n_loginid, "permissions" => $new_permissions, $cd = account_edit(array("loginid" => $n_loginid, "permissions" => $new_permissions,
"firstname" => $n_firstname, "lastname" => $n_lastname, "firstname" => $n_firstname, "lastname" => $n_lastname,
@ -93,32 +84,33 @@
// If the user is logged in, it will force a refresh of the session_info // If the user is logged in, it will force a refresh of the session_info
$phpgw->db->query("update phpgw_sessions set session_info='' where session_lid='$new_loginid@" . $phpgw_info["user"]["domain"] . "'",__LINE__,__FILE__); $phpgw->db->query("update phpgw_sessions set session_info='' where session_lid='$new_loginid@" . $phpgw_info["user"]["domain"] . "'",__LINE__,__FILE__);
// 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.
if (count($new_apps)) {
$pref = new preferences($account_id);
$pref = new preferences($account_id); $t = $pref->get_preferences();
$t = $pref->get_preferences();
$docommit = False; $docommit = False;
for ($j=0;$j<count($new_apps);$j++) { while(list($key,$value) = each($phpgw_info["user"]["app_perms"])) {
if($new_apps[$j]=="admin") if($value=="admin") {
$check = "common"; $check = "common";
else } else {
$check = $new_apps[$j]; $check = $value;
}
if (!count($t["$check"])) { if (!count($t["$check"])) {
$phpgw->common->hook_single("add_def_pref", $new_apps[$j]); $phpgw->common->hook_single("add_def_pref", $value);
$docommit = True; $docommit = True;
}
} }
if ($docommit) {
$pref->commit();
}
} }
// start inlcuding other admin tools if ($docommit) {
$pref->commit();
}
// start including other admin tools
while(list($key,$value) = each($phpgw_info["user"]["app_perms"])) while(list($key,$value) = each($phpgw_info["user"]["app_perms"]))
{ {
$phpgw->common->hook_single("update_user_data", $value); $phpgw->common->hook_single("update_user_data", $value);