True, "nonavbar" => True); $phpgw_info["flags"]["currentapp"] = "admin"; $phpgw_info["flags"]["disable_message_class"] = True; $phpgw_info["flags"]["disable_send_class"] = True; include("../header.inc.php"); if (! $account_id) Header("Location: " . $phpgw->link("accounts.php")); function change_owner($app,$table,$field,$new,$old) { global $phpgw, $phpgw_info; if ($phpgw_info["apps"][$app]["enabled"] || ! $app) { $phpgw->db->query("update $table set $field='$new' where $field='$old'"); } } if ($submit) { $phpgw->db->query("select account_lid from accounts where account_id=$account_id"); $phpgw->db->next_record(); $lid = $phpgw->db->f("account_lid"); if ($n_passwd || $n_passwd_2) { if ($n_passwd != $n_passwd_2){ $error .= lang("The two passwords are not the same"); } if (! $n_passwd){ $error .= lang("You must enter a password"); } } if ($lid != $n_loginid) { $phpgw->db->query("select account_lid from accounts where account_lid='$n_loginid'"); if ($phpgw->db->num_rows() != 0) { $error .= "
" . lang("That loginid has already been taken"); } } if (count($new_permissions) == 0){ $error .= "
" . lang("You must add at least 1 permission to this account"); } if (! $error) { $phpgw->db->lock(array('accounts','preferences','sessions')); if ($n_passwd) { $phpgw->db->query("update accounts set account_pwd='" . md5($n_passwd) . "', " . "account_lastpwd_change='" . time() . "' where account_lid='" . "$lid'"); $phpgw->db->query("update sessions set session_pwd='" . addslashes($n_passwd) . "' where session_lid='$lid'"); } while ($permission = each($new_permissions)) { if ($phpgw_info["apps"][$permission[0]]["enabled"]) { $phpgw->accounts->add_app($permission[0]); } } //$phpgw->permissions->add("hr"); if ($new_permissions["anonymous"] && ! $new_permissions["admin"]){ $phpgw->accounts->add_app("anonymous"); } if (! $n_account_status){ $n_account_status = "L"; } $cd = 27; // If they changed there loginid, we need to change the owner in ALL // tables to reflect on the new one if ($lid != $n_loginid) { change_owner("","preferences","preference_owner",$n_loginid,$lid); change_owner("addressbook","addressbook","ab_owner",$n_loginid,$lid); change_owner("todo","todo","todo_owner",$n_loginid,$lid); change_owner("","accounts","account_lid",$n_loginid,$lid); change_owner("","sessions","session_lid",$n_loginid,$lid); change_owner("calendar","webcal_entry","cal_create_by",$n_loginid,$lid); change_owner("calendar","webcal_entry_user","cal_login",$n_loginid,$lid); if ($lid <> $n_loginid) { $sep = $phpgw->common->filesystem_separator(); $basedir = $phpgw_info["server"]["files_dir"] . $sep . "users" . $sep; if (! @rename($basedir . $lid, $basedir . $n_loginid)) { $cd = 35; } } } $phpgw->db->query("update accounts set account_firstname='" . addslashes($n_firstname) . "'," . " account_lastname='" . addslashes($n_lastname) . "', account_permissions='" . $phpgw->accounts->add_app("",True) . "', account_status='" . "$n_account_status', account_groups='" . $phpgw->accounts->array_to_string("none",$n_groups) . "' where account_lid='$n_loginid'"); $phpgw->db->unlock(); Header("Location: " . $phpgw->link("accounts.php", "cd=$cd")); exit; } // if ! $error } // if $submit $phpgw->common->phpgw_header(); $phpgw->common->navbar(); $phpgw->db->query("select account_lid from accounts where account_id=$account_id"); $phpgw->db->next_record(); $db_perms = $phpgw->accounts->read_apps($phpgw->db->f("account_lid")); $phpgw->db->query("select * from accounts where account_id=$account_id"); $phpgw->db->next_record(); $account_status = $phpgw->db->f("account_status"); ?>
"> " . lang("Error") . ":$error"; } ?>
' . '"; $i++; if (! $perm_display[$i][1]) break; echo '' . '"; $i++; } ?>
">
">
">
' . lang($perm_display[$i][1]) . '' . lang($perm_display[$i][1]) . '
>
">
common->phpgw_footer(); ?>