friendica-github/mod/contactgroup.php

54 lines
1.1 KiB
PHP
Raw Normal View History

<?php
use Friendica\App;
use Friendica\Database\DBA;
2017-12-09 18:45:17 +00:00
use Friendica\Model\Contact;
use Friendica\Model\Group;
2017-12-09 18:42:02 +00:00
function contactgroup_content(App $a)
{
if (!local_user()) {
killme();
}
$change = null;
2017-12-09 18:42:02 +00:00
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::is_result($r)) {
$change = intval($a->argv[2]);
2017-12-09 18:42:02 +00:00
}
}
2017-12-09 18:42:02 +00:00
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::is_result($r)) {
killme();
}
$group = $r[0];
2017-12-09 18:45:17 +00:00
$members = Contact::getByGroupId($group['id']);
$preselected = [];
2017-12-09 18:42:02 +00:00
if (count($members)) {
foreach ($members as $member) {
$preselected[] = $member['id'];
2017-12-09 18:42:02 +00:00
}
}
2018-01-05 01:18:30 +00:00
if (x($change)) {
2017-12-09 18:45:17 +00:00
if (in_array($change, $preselected)) {
Group::removeMember($group['id'], $change);
} else {
Group::addMember($group['id'], $change);
}
}
}
killme();
}