aboutsummaryrefslogtreecommitdiff
path: root/mod/beechat/classes
diff options
context:
space:
mode:
authorSem <sembrestels@riseup.net>2013-11-09 16:27:50 +0100
committerSem <sembrestels@riseup.net>2013-11-09 16:27:50 +0100
commit77f0367d454711f1d00e1fcfc5d31147055cc66a (patch)
treea6eaa77c11d74b5e9f245470ed7101a5f0133438 /mod/beechat/classes
parent911d0021c374602c31e5bfd71b1cd8074f2c2293 (diff)
parent29be010b5837f36237216b187ad1d5988f98e8bc (diff)
downloadelgg-77f0367d454711f1d00e1fcfc5d31147055cc66a.tar.gz
elgg-77f0367d454711f1d00e1fcfc5d31147055cc66a.tar.bz2
Add 'mod/beechat/' from commit '29be010b5837f36237216b187ad1d5988f98e8bc'
git-subtree-dir: mod/beechat git-subtree-mainline: 911d0021c374602c31e5bfd71b1cd8074f2c2293 git-subtree-split: 29be010b5837f36237216b187ad1d5988f98e8bc
Diffstat (limited to 'mod/beechat/classes')
-rw-r--r--mod/beechat/classes/BeechatSync.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/mod/beechat/classes/BeechatSync.php b/mod/beechat/classes/BeechatSync.php
new file mode 100644
index 000000000..e0a2f90b8
--- /dev/null
+++ b/mod/beechat/classes/BeechatSync.php
@@ -0,0 +1,37 @@
+<?php
+
+class BeechatSync {
+ static function onFriendCreate($event, $object_type, $relationship) {
+ if ($relationship->relationship == 'friendrequest') {
+ elgg_load_library('elgg:beechat');
+ $friend = get_entity($relationship->guid_two);
+ // create friend request
+ ejabberd_friend_request(elgg_get_logged_in_user_entity(), $friend);
+ }
+ }
+ static function onFriendDelete($event, $object_type, $relationship) {
+ if ($relationship->relationship == 'friendrequest') {
+ elgg_load_library('elgg:beechat');
+ $subject = get_entity($relationship->guid_two);
+ // here friend is guid_one because is the one initiating
+ $friend = get_entity($relationship->guid_one);
+ $friends = $friend->isFriendsWith($subject->guid);
+ if ($friends) {
+ // accept friend request
+ ejabberd_friend_accept(elgg_get_logged_in_user_entity(), $friend);
+ } else {
+ // decline friend request
+ ejabberd_friend_deny(elgg_get_logged_in_user_entity(), $friend);
+ }
+ }
+ elseif ($relationship->relationship == 'friend') {
+ elgg_load_library('elgg:beechat');
+ $subject = get_entity($relationship->guid_one);
+ $friend = get_entity($relationship->guid_two);
+ // delete friendship
+ ejabberd_friend_remove(elgg_get_logged_in_user_entity(), $friend);
+ }
+
+ }
+
+}