<?php use Friendica\App; use Friendica\Database\DBA; use Friendica\Model\Contact; use Friendica\Model\Group; function contactgroup_content(App $a) { if (!local_user()) { killme(); } $change = null; 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 (DBA::isResult($r)) { $change = intval($a->argv[2]); } } if (($a->argc > 1) && (intval($a->argv[1]))) { $r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1", intval($a->argv[1]), intval(local_user()) ); if (!DBA::isResult($r)) { killme(); } $group = $r[0]; $members = Contact::getByGroupId($group['id']); $preselected = []; if (count($members)) { foreach ($members as $member) { $preselected[] = $member['id']; } } if (!empty($change)) { if (in_array($change, $preselected)) { Group::removeMember($group['id'], $change); } else { Group::addMember($group['id'], $change); } } } killme(); }