True, "nonavbar" => True); } $phpgw_info["flags"]["currentapp"] = "admin"; include("../header.inc.php"); if (! $group_id) { Header("Location: " . $phpgw->link("groups.php")); } $phpgw->template->set_file(array("form" => "groups_form.tpl")); if ($submit) { $phpgw->db->query("select group_name from groups where group_id=$group_id"); $phpgw->db->next_record(); $old_group_name = $phpgw->db->f("group_name"); $phpgw->db->query("select count(*) from groups where group_name='" . $n_group . "'"); $phpgw->db->next_record(); if ($phpgw->db->f(0) != 0 && $n_group != $old_group_name) { $error = lang("Sorry, that group name has already been taking."); } if (! $error) { // $phpgw->db->lock(array("accounts","groups","preferences","config","applications","phpgw_hooks","phpgw_sessions")); $phpgw->accounts->add_app($n_group_permissions); $apps = $phpgw->accounts->add_app("",True); $apps_after = explode(":",$apps); $phpgw->db->query("update groups set group_name='$n_group', group_apps='" . $apps . "' where group_id=$group_id"); for ($i=0; $idb->query("SELECT account_groups, account_lid FROM accounts WHERE account_id=".$n_users[$i]); $phpgw->db->next_record(); $account_lid = $phpgw->db->f("account_lid"); if(strpos($phpgw->db->f("account_groups"),$group_id.":0,") == 0) { $user_groups = $phpgw->db->f("account_groups") . ",$group_id:0,"; $user_groups = ereg_replace(",,",",",$user_groups); $phpgw->db->query("UPDATE accounts SET account_groups='$user_groups' WHERE account_id=".$n_users[$i]); } // 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='$account_lid@" . $phpgw_info["user"]["domain"] . "'",__LINE__,__FILE__); // The following sets any default preferences needed for new applications.. // This is smart enough to know if previous preferences were selected, use them. $pref = new preferences(intval($n_users[$i])); $t = $pref->get_preferences(); $docommit = False; for ($j=1;$j<=count($apps_after);$j++) { if($apps_after[$j]=="admin") $check = "common"; else $check = $apps_after[$j]; if (!count($t["$check"])) { $phpgw->common->hook_single("add_def_pref", $apps_after[$j]); $docommit = True; } } if ($docommit) { $pref->commit(); } } $sep = $phpgw->common->filesystem_separator(); if ($old_group_name <> $n_group) { $basedir = $phpgw_info["server"]["files_dir"] . $sep . "groups" . $sep; if (! @rename($basedir . $old_group_name, $basedir . $n_group)) { $cd = 39; } else { $cd = 33; } } else { $cd = 33; } // $phpgw->db->unlock(); Header("Location: " . $phpgw->link("groups.php","cd=$cd")); $phpgw->common->phpgw_exit(); } } if ($error) { $phpgw->common->phpgw_header(); echo parse_navbar(); $phpgw->template->set_var("error","

$error
"); } else { $phpgw->template->set_var("error",""); } if ($submit) { $phpgw->template->set_var("group_name_value",$n_group_name); for ($i=0; $idb->query("select group_name from groups where group_id=$group_id"); $phpgw->db->next_record(); $phpgw->template->set_var("group_name_value",$phpgw->db->f("group_name")); $phpgw->db->query("select account_id from accounts where account_groups like '%,$group_id:%'"); while ($phpgw->db->next_record()) { $selected_users[$phpgw->db->f("account_id")] = " selected"; } $gp = $phpgw->accounts->read_group_apps($group_id); for ($i=0; $idb->query("select * from groups where group_id=$group_id"); $phpgw->db->next_record(); $phpgw->template->set_var("form_action",$phpgw->link("editgroup.php")); $phpgw->template->set_var("hidden_vars",""); $phpgw->template->set_var("lang_group_name",lang("group name")); $phpgw->template->set_var("group_name_value",$phpgw->db->f("group_name")); $phpgw->db->query("select count(*) from accounts where account_status !='L'"); $phpgw->db->next_record(); if ($phpgw->db->f(0) < 5) { $phpgw->template->set_var("select_size",$phpgw->db->f(0)); } else { $phpgw->template->set_var("select_size","5"); } $phpgw->template->set_var("lang_include_user",lang("Select users for inclusion")); $phpgw->db->query("SELECT account_id,account_firstname,account_lastname,account_lid FROM accounts where " . "account_status != 'L' ORDER BY account_lastname,account_firstname,account_lid asc"); while ($phpgw->db->next_record()) { $user_list .= ""; } $phpgw->template->set_var("user_list",$user_list); $phpgw->template->set_var("lang_permissions",lang("Permissions this group has")); while ($permission = each($phpgw_info["apps"])) { if ($permission[1]["enabled"]) { $permissions_list .= ""; } } $phpgw->template->set_var("permissions_list",$permissions_list); $phpgw->template->set_var("lang_submit_button",lang("submit changes")); $phpgw->template->pparse("out","form"); $phpgw->common->phpgw_footer(); ?>