'); die (); } // security check $editable = is_allowed (ACCESS_DATAENTRY); if (!$editable) { include "accessdenied.php"; } // ADD MEMBER // - uses $p variable, set by masthead_person_search below if ($p) { // ensure no duplicates $r = query ('select * from persons,memberships where personid=memberid and memberid=' . $p . ' and groupid=' . $g . ';'); if ($info = mysql_fetch_array($r, MYSQL_ASSOC)) { noteerror ('"' . $info["firstname"] .' '. $info["lastname"] . '" is already a member of this group.'); } else { $r = query('insert into memberships set memberid=' . $p . ', groupid=' . $g . ', positionid=0;'); if ($r) { $change_report = 'Member successfully added.'; } else { noteerror ('Error installing new member.'); } } } // CHANGE/DELETE MEMBERS $membercount = 0; while (isset($_POST["edit_member_id_" . ++$membercount])) { // get information $memberid = $_POST["edit_member_id_" . $membercount]; $memberposition = $_POST["edit_member_position_" . $membercount]; $memberdelete = $_POST["edit_member_delete_" . $membercount]; // delete member if ($memberdelete) { if (query ('delete from memberships where memberid=' . $memberid . ' and groupid=' . $g . ';')) { $change_report = 'Information updated!'; } else { noteerror ("Couldn't remove a member from the group."); } // edit member's position } else { $q = 'update memberships set positionid=' . $memberposition; $q .= ' where memberid=' . $memberid . ' and groupid=' . $g . ';'; if (query($q)) { $change_report = 'Information updated!'; } else { noteerror ('Error updating member with query: "' . $q . '"'); } } } // ============================================================================================= // ----- BEGIN VISIBLE PAGE ----- // ============================================================================================= function masthead_membershipedit () { global $g, $userinfo, $BGCOLOUR_LIGHT, $BGCOLOUR_DARK; masthead_group_search('g'); if ($g) { print ''; print ' '; print 'Edit group |'; print ' Browse group | '; print ' Create new member | '; print ""; } } printhtmlheader ('group Members: ' . crunchtext($g_info["groupname"])); printmasthead ('Change group Members','masthead_membershipedit'); printeditfeedback(); print '

' . crunchtext($g_info["groupname"]) . "

\n"; // add member print "

Add New Member

\n"; print '' . "\n"; masthead_person_search(); print "
\n"; // get positions array for group // keys: position id's // values: position names $q = 'select * from positions where groupid=' . $g . ' order by sortlevel desc, positionid;'; $r = query ($q) or die ('Error accessing position information.'); $positions[0] = '-'; while ($position = mysql_fetch_array($r, MYSQL_ASSOC)) { $positions[$position["positionid"]] = $position["positionname"]; } // get current members & their positions $q = 'select * from persons'; $q .= ' left join memberships on memberid=personid'; $q .= ' left join positions on memberships.positionid=positions.positionid'; $q .= ' where memberships.groupid=' . $g; $q .= ' order by sortlevel desc, lastname, firstname;'; $r = query ($q) or die ('Error accessing group members with:

' . $q); $membercount = 0; function displaymember ($member) { global $membercount, $positions; // install relevant data into POST variable $memberformid="edit_member_id_" . ++$membercount; $_POST[$memberformid] = $member["personid"]; $memberformposition="edit_member_position_" . $membercount; $_POST[$memberformposition] = $member["positionid"]; $memberformdelete="edit_member_delete_" . $membercount; $_POST[$memberformdelete] = false; print ''; formhiddeninput ($memberformid); print crunchtext($member["firstname"]) . ' ' . crunchtext($member["lastname"]); print ""; formpopupinput ($memberformposition, $positions); print ""; formcheckboxinput ($memberformdelete); print "Delete"; print "\n"; } print "

Current Members:

\n"; if (mysql_num_rows($r)) { formstart(); $_POST["g"] = $g; formhiddeninput ("g"); print "\n"; print ''; while ($member = mysql_fetch_array($r, MYSQL_ASSOC)) { displaymember($member); } print "
NamePosition
\n"; formend(); } else { print "No members."; } ?>