q('UPDATE phpgw_fud_group_members SET group_members_opt=' . $perm . ' WHERE id=' . (int) $_POST['edit']); grp_rebuild_cache(array($usr_id)); } } if (!$login_error) { unset($_POST); $gr_member = ''; } } if (isset($_GET['del']) && ($del = (int) $_GET['del']) && $group_id) { $is_gl = q_singleval("SELECT user_id FROM phpgw_fud_group_members WHERE group_id=" . $group_id . " AND user_id=" . $del . " AND group_members_opt>=131072 AND (group_members_opt & 131072) > 0"); grp_delete_member($group_id, $del); /* if the user was a group moderator, rebuild moderation cache */ if ($is_gl) { fud_use('groups_adm.inc', true); rebuild_group_ldr_cache($del); } } $edit = 0; if (isset($_GET['edit']) && ($edit = (int) $_GET['edit'])) { if (!($mbr = db_sab('SELECT gm.*, u.alias FROM phpgw_fud_group_members gm LEFT JOIN phpgw_fud_users u ON u.id=gm.user_id WHERE gm.group_id=' . $group_id . ' AND gm.id=' . $edit))) { invl_inp_err(); } if ($mbr->user_id == 0) { $gr_member = '<font class="anon">Anonimo</font>'; } else { if ($mbr->user_id == '2147483647') { $gr_member = '<font class="reg">Tutti gli utenti registrati</font>'; } else { $gr_member = $mbr->alias; }
// make group based on 'primary' 1st group $fld_lst = implode(',', $GLOBALS['__GROUPS_INC']['permlist']); $anon = "'" . implode("', '", db_arr_assoc('SELECT ' . $fld_lst . ' FROM ' . $tbl . 'groups WHERE id=1')) . "'"; $regu = "'" . implode("', '", db_arr_assoc('SELECT ' . $fld_lst . ' FROM ' . $tbl . 'groups WHERE id=2')) . "'"; $fld_lst = str_replace('p_', 'up_', $fld_lst); foreach ($glm as $k => $v) { foreach ($v as $uid) { q('INSERT INTO ' . $tbl . 'group_members (group_id, user_id, ' . $fld_lst . ') VALUES (' . $k . ', ' . $uid . ', ' . (!$uid ? $anon : $regu) . ')'); } } } draw_stat('Done: Validating group/primary user relations'); draw_stat('Rebuilding group leader cache'); $c = q('SELECT DISTINCT(user_id) FROM ' . $tbl . 'group_members WHERE group_members_opt>=131072 AND (group_members_opt & 131072) > 0'); while ($r = db_rowarr($c)) { rebuild_group_ldr_cache($r[0]); } unset($c); draw_stat('Done: Rebuilding group leader cache'); draw_stat('Rebuilding group cache'); grp_rebuild_cache(); draw_stat('Done: Rebuilding group cache'); draw_stat('Validating User/Theme Relations'); $te = array(); $c = uq('SELECT u.id FROM ' . $tbl . 'users u LEFT JOIN ' . $tbl . 'themes thm ON thm.id=u.theme WHERE thm.id IS NULL'); while (list($uid) = db_rowarr($c)) { $te[] = $uid; } if ($te) { $tid = q_singleval('SELECT id FROM ' . $tbl . 'themes WHERE theme_opt=3'); q('UPDATE ' . $tbl . 'users SET theme=' . $tid . ' WHERE id IN(' . implode(',', $te) . ')');