+ if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
+ $r = q("SELECT `id` FROM `contact` WHERE `id` = %d AND `uid` = %d and `self` = 0 and `blocked` = 0 AND `pending` = 0 LIMIT 1",
+ intval($a->argv[2]),
+ intval(local_user())
+ );
+ if(count($r))
+ $change = intval($a->argv[2]);
+ }
+
+ if(($a->argc > 1) && (intval($a->argv[1]))) {
+
+ require_once('include/acl_selectors.php');
+ $r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
+ intval($a->argv[1]),
+ intval(local_user())
+ );
+ if(! count($r)) {
+ notice( t('Group not found.') . EOL );
+ goaway($a->get_baseurl() . '/contacts');
+ }
+ $group = $r[0];
+ $members = group_get_members($group['id']);
+ $preselected = array();
+ if(count($members)) {
+ foreach($members as $member)
+ $preselected[] = $member['id'];
+ }
+
+ if($change) {
+ if(in_array($change,$preselected)) {
+ group_rmv_member(local_user(),$group['name'],$change);
+ }
+ else {
+ group_add_member(local_user(),$group['name'],$change);
+ }
+
+ $members = group_get_members($group['id']);
+ $preselected = array();
+ if(count($members)) {
+ foreach($members as $member)
+ $preselected[] = $member['id'];
+ }
+ }
+
+
+ $drop_tpl = get_markup_template('group_drop.tpl');
+ $drop_txt = replace_macros($drop_tpl, array(
+ '$id' => $group['id'],
+ '$delete' => t('Delete')