friendica/mod/contactgroup.php

54 lines
1.1 KiB
PHP
Raw Normal View History

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