aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Contactgroup.php
diff options
context:
space:
mode:
authorWave <wave72@users.noreply.github.com>2016-07-22 10:55:02 +0200
committerGitHub <noreply@github.com>2016-07-22 10:55:02 +0200
commit744ad84714fe0f7a3d90250a4ff02dc4327b9061 (patch)
tree595fb74ec9ea0bc7130d18bd7993d719a222d343 /Zotlabs/Module/Contactgroup.php
parentc38c79d71c8ef70ef649f83e322f1984b75ee2dd (diff)
parent7d897a3f03bd57ed556433eb84a41963ba44e02e (diff)
downloadvolse-hubzilla-744ad84714fe0f7a3d90250a4ff02dc4327b9061.tar.gz
volse-hubzilla-744ad84714fe0f7a3d90250a4ff02dc4327b9061.tar.bz2
volse-hubzilla-744ad84714fe0f7a3d90250a4ff02dc4327b9061.zip
Merge pull request #6 from redmatrix/dev
Dev
Diffstat (limited to 'Zotlabs/Module/Contactgroup.php')
-rw-r--r--Zotlabs/Module/Contactgroup.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/Zotlabs/Module/Contactgroup.php b/Zotlabs/Module/Contactgroup.php
new file mode 100644
index 000000000..bbe56b4ad
--- /dev/null
+++ b/Zotlabs/Module/Contactgroup.php
@@ -0,0 +1,54 @@
+<?php
+namespace Zotlabs\Module;
+
+require_once('include/group.php');
+
+
+class Contactgroup extends \Zotlabs\Web\Controller {
+
+ function get() {
+
+ if(! local_channel()) {
+ killme();
+ }
+
+ if((argc() > 2) && (intval(argv(1))) && (argv(2))) {
+ $r = q("SELECT abook_xchan from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
+ dbesc(base64url_decode(argv(2))),
+ intval(local_channel())
+ );
+ if($r)
+ $change = $r[0]['abook_xchan'];
+ }
+
+ if((argc() > 1) && (intval(argv(1)))) {
+
+ $r = q("SELECT * FROM `groups` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
+ intval(argv(1)),
+ intval(local_channel())
+ );
+ if(! $r) {
+ killme();
+ }
+
+ $group = $r[0];
+ $members = group_get_members($group['id']);
+ $preselected = array();
+ if(count($members)) {
+ foreach($members as $member)
+ $preselected[] = $member['xchan_hash'];
+ }
+
+ if($change) {
+ if(in_array($change,$preselected)) {
+ group_rmv_member(local_channel(),$group['gname'],$change);
+ }
+ else {
+ group_add_member(local_channel(),$group['gname'],$change);
+ }
+ }
+ }
+
+ killme();
+ }
+}