function userGroups($loginname) { $result = array(); if (Sql_Table_exists("user_group")) { $req = Sql_Query(sprintf('select groupid from user_group,user where user_group.userid = user.id and user.email = "%s"', addslashes($loginname))); while ($row = Sql_Fetch_Row($req)) { array_push($result, $row[0]); } $ev = getEveryoneGroupID(); array_push($result, $ev); } return $result; }
if (is_array($_POST["groups"])) { foreach ($_POST["groups"] as $group) { Sql_Query(sprintf('insert into user_group (userid,groupid) values(%d,%d)', $id, $group)); $feedback .= "<br/>" . $GLOBALS['I18N']->get('Subscriber added to group') . ' ' . groupName($group); } } } elseif ($usegroups) { ## new method, allowing a group membership type $newgrouptype = sprintf('%d', $_POST['newgrouptype']); $newgroup = sprintf('%d', $_POST['newgroup']); if (!empty($newgrouptype) && !empty($newgroup)) { Sql_Query(sprintf('insert into user_group (userid,groupid,type) values(%d,%d,%d)', $id, $newgroup, $newgrouptype)); $feedback .= "<br/>" . $GLOBALS['I18N']->get('Subscriber added to group') . ' ' . groupName($newgroup); } ## make sure they're in the everyone group Sql_Query(sprintf('insert ignore into user_group (userid,groupid,type) values(%d,%d,0)', $id, getEveryoneGroupID())); } $new_lists = array_values($_POST['subscribe']); $new_subscriptions = array(); array_shift($new_lists); // remove dummy foreach ($new_lists as $list) { $listID = sprintf('%d', $list); $new_subscriptions[$listID] = listName($listID); } $subscribed_to = array_diff_assoc($new_subscriptions, $old_listmembership); $unsubscribed_from = array_diff_assoc($old_listmembership, $new_subscriptions); # submitting page now saves everything, so check is not necessary if ($subselect == "") { foreach ($unsubscribed_from as $listId => $listName) { Sql_Query(sprintf('delete from %s where userid = %d and listid = %d', $tables["listuser"], $id, $listId));