diff --git a/admin/editaccount.php b/admin/editaccount.php index af3866d31e..cbe6b2ce3d 100755 --- a/admin/editaccount.php +++ b/admin/editaccount.php @@ -31,11 +31,21 @@ if ($_userData) { $userData=$_userData; + reset($userData['n_groups']); + while(list($key, $value) = each($userData['n_groups'])) + { + $userGroups[$key]['account_id'] = $value; + } + + $account = CreateObject('phpgwapi.accounts'); + $allGroups = $account->get_list('groups'); } else { $account = CreateObject('phpgwapi.accounts',$_account_id); $userData = $account->read_repository(); + $userGroups = $account->memberships(intval($_account_id)); + $allGroups = $account->get_list('groups'); } $t->set_var("form_action",$phpgw->link("editaccount.php", @@ -102,6 +112,28 @@ $t->set_var("n_firstname_value",$userData["firstname"]); $t->set_var("n_lastname_value",$userData["lastname"]); + $allAccounts; + $userGroups; + + $groups_select = '"; + $t->set_var("groups_select",$groups_select); + + // create list of available app $i = 0; @@ -173,8 +205,6 @@ // stores the userdata function saveUserData($_userData) { - global $new_permissions; - $account = CreateObject('phpgwapi.accounts',$_userData['account_id']); $account->update_data($_userData); $account->save_repository(); @@ -191,7 +221,7 @@ $apps->account_type = 'u'; $apps->account_id = $_userData['account_id']; $apps->account_apps = Array(Array()); - while($app = each($new_permissions)) + while($app = each($_userData['new_permissions'])) { if($app[1]) { @@ -203,6 +233,36 @@ } } $apps->save_repository(); + + + + $account = CreateObject('phpgwapi.accounts'); + $allGroups = $account->get_list('groups'); + + reset($_userData['n_groups']); + while (list($key,$value) = each($_userData['n_groups'])) + { + $newGroups[$value] = $value; + } + + $acl = CreateObject('phpgwapi.acl',$_userData['account_id']); + + reset($allGroups); + while (list($key,$groupData) = each($allGroups)) + { + #print "$key,". $groupData['account_id'] ."
"; + + #print "$key,". $_userData['n_groups'][1] ."
"; + + if ($newGroups[$groupData['account_id']]) + { + $acl->add_repository('phpgw_group',$groupData['account_id'],$_userData['account_id'],1); + } + else + { + $acl->delete_repository('phpgw_group',$groupData['account_id'],$_userData['account_id']); + } + } } // checks if the userdata are valid @@ -241,10 +301,10 @@ } } - if (!count($new_permissions) || !count($n_groups)) + if (!count($_userData['new_permissions']) || !count($_userData['n_groups'])) { - #$error[$totalerrors] = "
" . lang("You must add at least 1 permission or group to this account"); - #$totalerrors++; + $error[$totalerrors] = "
" . lang("You must add at least 1 permission or group to this account"); + $totalerrors++; } if ($totalerrors == 0) @@ -270,7 +330,8 @@ 'account_lid' => $account_lid, 'firstname' => $firstname, 'lastname' => $lastname, 'n_passwd' => $n_passwd, 'status' => $status, 'old_loginid' => rawurldecode($old_loginid), - 'account_id' => $account_id, 'n_passwd_2' => $n_passwd_2 + 'account_id' => $account_id, 'n_passwd_2' => $n_passwd_2, + 'n_groups' => $n_groups, 'new_permissions' => $new_permissions ); if (!$errors = userDataInvalid($userData)) @@ -309,96 +370,6 @@ // the old code // ///////////////////////////////////////////////////////////////////////////////////////// - if (! $account_id) { - Header("Location: " . $phpgw->link("accounts.php")); - } - - if ($submit) { - $totalerrors = 0; - - if ($phpgw_info["server"]["account_repository"] == "ldap" && ! $allow_long_loginids) { - if (strlen($n_loginid) > 8) { - $error[$totalerrors++] = lang("The loginid can not be more then 8 characters"); - } - } - - if ($old_loginid != $n_loginid) { - if (account_exsists($n_loginid)) { - $error[$totalerrors++] = lang("That loginid has already been taken"); - } -// $c_loginid = $n_loginid; -// $n_loginid = $old_loginid; - } - - if ($n_passwd || $n_passwd_2) { - if ($n_passwd != $n_passwd_2) { - $error[$totalerrors++] = lang("The two passwords are not the same"); - } - if (! $n_passwd){ - $error[$totalerrors++] = lang("You must enter a password"); - } - } - - if (!count($new_permissions) || !count($n_groups)) { - $error[$totalerrors++] = "
" . lang("You must add at least 1 permission or group to this account"); - } - - if (! $totalerrors) { - $phpgw->db->lock(array('accounts','preferences','phpgw_sessions','phpgw_acl','applications')); - $phpgw->db->query("SELECT account_id FROM accounts WHERE account_lid='" . $old_loginid . "'",__LINE__,__FILE__); - $phpgw->db->next_record(); - $account_id = intval($phpgw->db->f("account_id")); - - $apps = CreateObject('phpgwapi.applications',array(intval($account_id),'u')); - $apps->read_installed_apps(); - $apps_before = $apps->read_account_specific(); - - // Read Old Group ID's - $old_groups = $phpgw->accounts->read_groups($account_id); - // Read Old Group Apps - if ($old_groups) { - $apps->account_type = 'g'; - reset($old_groups); - while($groups = each($old_groups)) { - $apps->account_id = $groups[0]; - $old_app_groups = $apps->read_account_specific(); - @reset($old_app_groups); - while($old_group_app = each($old_app_groups)) { - if(!$apps_before[$old_group_app[0]]) { - $apps_before[$old_group_app[0]] = $old_app_groups[$old_group_app[0]]; - } - } - // delete old groups user was associated to - $phpgw->acl->delete('phpgw_group',$groups[0],$account_id,'u'); - } - } - - $apps->account_type = 'u'; - $apps->account_id = $account_id; - $apps->account_apps = Array(Array()); - while($app = each($new_permissions)) { - if($app[1]) { - $apps->add_app($app[0]); - if(!$apps_before[$app[0]]) { - $apps_after[] = $app[0]; - } - } - } - $apps->save_apps(); - @reset($new_permissions); - - $cd = account_edit(array('loginid' => $n_loginid, 'firstname' => $n_firstname, - 'lastname' => $n_lastname, 'passwd' => $n_passwd, - 'account_status' => $n_account_status, 'old_loginid' => $old_loginid, - 'account_id' => rawurldecode($account_id))); - - // 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__); - - // Add new groups user is associated to - for($i=0;$iacl->add('phpgw_group',$n_groups[$i],$account_id,'u',1); - } // The following sets any default preferences needed for new applications.. // This is smart enough to know if previous preferences were selected, use them. @@ -424,192 +395,12 @@ $pref->commit(); } - $apps->account_apps = Array(Array()); - $apps_after = Array(Array()); - - // Read new Group ID's - $new_groups = $phpgw->accounts->read_groups($account_id); - // Read new Group Apps - if ($new_groups) { - $apps->account_type = 'g'; - reset($new_groups); - while($groups = each($new_groups)) { - $apps->account_id = intval($groups[0]); - $new_app_groups = $apps->read_account_specific(); - @reset($new_app_groups); - while($new_group_app = each($new_app_groups)) { - if(!$apps_after[$new_group_app[0]]) { - $apps_after[$new_group_app[0]] = $new_app_groups[$new_group_app[0]]; - } - } - } - } - - $apps->account_type = 'u'; - $apps->account_id = $account_id; - $new_app_user = $apps->read_account_specific(); - while($new_user_app = each($new_app_user)) { - if(!$apps_after[$new_user_app[0]]) { - $apps_after[$new_user_app[0]] = $new_app_user[$new_user_app[0]]; - } - } - // start including other admin tools while($app = each($apps_after)) { $phpgw->common->hook_single('update_user_data', $app[0]); } - $phpgw->db->unlock(); - - Header('Location: ' . $phpgw->link('accounts.php', 'cd='.$cd)); - $phpgw->common->phpgw_exit(); - } - - } // if $submit - - - if ($totalerrors) { - $t->set_var("error_messages","
" . $phpgw->common->error_list($error) . "
"); - } else { - $t->set_var("error_messages",""); - } - - $userData = $phpgw->accounts->read_repository($account_id); - - if (! $submit) { - print $n_loginid = $userData["account_lid"]; - print $n_firstname = $userData["firstname"]; - print $n_lastname = $userData["lastname"]; - $apps = CreateObject('phpgwapi.applications',array(intval($userData["account_id"]),'u')); - $apps->read_installed_apps(); - /* $db_perms = $apps->read_account_specific(); */ - } - - if ($phpgw_info["server"]["account_repository"] == "ldap") { - $t->set_var("form_action",$phpgw->link("editaccount.php","account_id=" . rawurlencode($userData["account_dn"]) . "&old_loginid=" . $userData["account_lid"])); - } else { - $t->set_var("form_action",$phpgw->link("editaccount.php","account_id=" . $userData["account_id"] . "&old_loginid=" . $userData["account_lid"])); - } - - $t->set_var("th_bg",$phpgw_info["theme"]["th_bg"]); - $t->set_var("tr_color1",$phpgw_info["theme"]["row_on"]); - $t->set_var("tr_color2",$phpgw_info["theme"]["row_off"]); - - $t->set_var("lang_action",lang("Edit user account")); - - $t->set_var("lang_loginid",lang("LoginID")); - $t->set_var("n_loginid_value",$n_loginid); - - $t->set_var("lang_account_active",lang("Account active")); - - if ($userData["status"]) { - $t->set_var("account_checked","checked"); - } else { - $t->set_var("account_checked",""); - } - - $t->set_var("lang_password",lang("Password")); - $t->set_var("n_passwd_value",$n_passwd); - - $t->set_var("lang_reenter_password",lang("Re-Enter Password")); - $t->set_var("n_passwd_2_value",$n_passwd_2); - - $t->set_var("lang_firstname",lang("First Name")); - $t->set_var("n_firstname_value",$n_firstname); - - $t->set_var("lang_lastname",lang("Last Name")); - $t->set_var("n_lastname_value",$n_lastname); - - $t->set_var("lang_groups",lang("Groups")); -/* - $user_groups = $phpgw->accounts->read_group_names($userData["account_lid"]); - - $groups_select = '"; - $t->set_var("groups_select",$groups_select); - - $i = 0; - $sorted_apps = $phpgw_info["apps"]; - @asort($sorted_apps); - @reset($sorted_apps); - while ($permission = each($sorted_apps)) { - if ($permission[1]["enabled"]) { - $perm_display[$i][0] = $permission[0]; - $perm_display[$i][1] = $permission[1]["title"]; - $i++; - } - } - - @reset($db_perms); - for ($i=0;$i<200;) { // The $i<200 is only used for a brake - if (! $perm_display[$i][1]) break; - $perm_html .= '' . lang($perm_display[$i][1]) . '' - . '' - . 'set_var("permissions_list",$perm_html); - - $apps->account_apps = Array(Array()); - - // Read new Group ID's - $new_groups = $phpgw->accounts->read_groups($account_id); - $apps_after = Array(Array()); - // Read new Group Apps - if ($new_groups) { - $apps->account_type = 'g'; - reset($new_groups); - while($groups = each($new_groups)) { - $apps->account_id = intval($groups[0]); - $new_app_groups = $apps->read_account_specific(); - @reset($new_app_groups); - while($new_group_app = each($new_app_groups)) { - if(!$apps_after[$new_group_app[0]]) { - $apps_after[$new_group_app[0]] = $new_app_groups[$new_group_app[0]]; - } - } - } - } - - $apps->account_type = 'u'; - $apps->account_id = intval($userData["account_id"]); - $new_app_user = $apps->read_account_specific(); - while($new_user_app = each($new_app_user)) { - if(!$apps_after[$new_user_app[0]]) { - $apps_after[$new_user_app[0]] = $new_app_user[$new_user_app[0]]; - } - } -*/ $includedSomething = False; // start inlcuding other admin tools while($app = each($apps_after)) @@ -620,9 +411,4 @@ } if (!$includedSomething) $t->set_var('gui_hooks',''); - $t->set_var("lang_button",lang('Save')); - $t->pparse('out','form'); - - account_close(); - $phpgw->common->phpgw_footer(); ?> diff --git a/admin/newgroup.php b/admin/newgroup.php index a2102b4167..672a0b1c1b 100755 --- a/admin/newgroup.php +++ b/admin/newgroup.php @@ -70,8 +70,8 @@ $acl->add_repository('phpgw_group',$group_id,$n_users[$i],1); // 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='" . $phpgw->accounts->id2name(intval($n_users[$i])) . "@" . $phpgw_info["user"]["domain"] . "'",__LINE__,__FILE__); +# $phpgw->db->query("update phpgw_sessions set session_info='' " +# ."where session_lid='" . $phpgw->accounts->id2name(intval($n_users[$i])) . "@" . $phpgw_info["user"]["domain"] . "'",__LINE__,__FILE__); $pref = CreateObject('phpgwapi.preferences',intval($n_users[$i])); $t = $pref->read_repository(); diff --git a/admin/testbutton.php b/admin/testbutton.php index 7d65e7112b..59c574df04 100755 --- a/admin/testbutton.php +++ b/admin/testbutton.php @@ -17,10 +17,15 @@ include("../header.inc.php"); $button = CreateObject('phpgwapi.graphics'); - + + $button->createInputButton(lang('save'), 'save'); + + if (isset($submit)) print "it workied
"; + print "
"; - print "createButton("Lars is the best ;)")."\" border=\"0\" name=\"text\">"; + print $button->createInputButton("Lars is the best ;)",'submit'); + print "
the same as ascii
"; + print $button->createInputButton("Lars is the best ;)",'submit','ascii'); print "
"; $phpgw->common->phpgw_footer();