aboutsummaryrefslogtreecommitdiffstats
path: root/include/diaspora.php
diff options
context:
space:
mode:
authorMichael <icarus@dabo.de>2012-02-23 20:53:22 +0100
committerMichael <icarus@dabo.de>2012-02-23 20:53:22 +0100
commit0409b5cdba003b6ce90d5ad0181e81c06af95ab1 (patch)
treec677adb7c0e8140bdb1e115a95d1aa23fdf734ed /include/diaspora.php
parent311e35731c52102cbce3befc6343f179080ad38c (diff)
parent8cacff69858c2ad097bafb80c93405e79c311edf (diff)
downloadvolse-hubzilla-0409b5cdba003b6ce90d5ad0181e81c06af95ab1.tar.gz
volse-hubzilla-0409b5cdba003b6ce90d5ad0181e81c06af95ab1.tar.bz2
volse-hubzilla-0409b5cdba003b6ce90d5ad0181e81c06af95ab1.zip
Merge remote branch 'upstream/master'
Conflicts: include/bbcode.php
Diffstat (limited to 'include/diaspora.php')
-rwxr-xr-xinclude/diaspora.php26
1 files changed, 19 insertions, 7 deletions
diff --git a/include/diaspora.php b/include/diaspora.php
index a8e02e509..92f3500f2 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -451,7 +451,7 @@ function diaspora_request($importer,$xml) {
// perhaps we were already sharing with this person. Now they're sharing with us.
// That makes us friends.
- if($contact['rel'] == CONTACT_IS_FOLLOWER) {
+ if($contact['rel'] == CONTACT_IS_FOLLOWER && $importer['page-flags'] != PAGE_COMMUNITY) {
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval(CONTACT_IS_FRIEND),
intval($contact['id']),
@@ -619,6 +619,18 @@ function diaspora_request($importer,$xml) {
return;
}
+function diaspora_post_allow($importer,$contact) {
+ if(($contact['blocked']) || ($contact['readonly']))
+ return false;
+ if($contact['rel'] == CONTACT_IS_SHARING || $contact['rel'] == CONTACT_IS_FRIEND)
+ return true;
+ if($contact['rel'] == CONTACT_IS_FOLLOWER)
+ if($importer['page-flags'] == PAGE_COMMUNITY)
+ return true;
+ return false;
+}
+
+
function diaspora_post($importer,$xml) {
$a = get_app();
@@ -629,7 +641,7 @@ function diaspora_post($importer,$xml) {
if(! $contact)
return;
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
+ if(! diaspora_post_allow($importer,$contact)) {
logger('diaspora_post: Ignoring this author.');
return 202;
}
@@ -748,7 +760,7 @@ function diaspora_reshare($importer,$xml) {
if(! $contact)
return;
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
+ if(! diaspora_post_allow($importer,$contact)) {
logger('diaspora_reshare: Ignoring this author: ' . $diaspora_handle . ' ' . print_r($xml,true));
return 202;
}
@@ -900,7 +912,7 @@ function diaspora_asphoto($importer,$xml) {
if(! $contact)
return;
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
+ if(! diaspora_post_allow($importer,$contact)) {
logger('diaspora_asphoto: Ignoring this author.');
return 202;
}
@@ -1001,7 +1013,7 @@ function diaspora_comment($importer,$xml,$msg) {
return;
}
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
+ if(! diaspora_post_allow($importer,$contact)) {
logger('diaspora_comment: Ignoring this author.');
return 202;
}
@@ -1446,7 +1458,7 @@ function diaspora_photo($importer,$xml,$msg) {
return;
}
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
+ if(! diaspora_post_allow($importer,$contact)) {
logger('diaspora_photo: Ignoring this author.');
return 202;
}
@@ -1503,7 +1515,7 @@ function diaspora_like($importer,$xml,$msg) {
return;
}
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
+ if(! diaspora_post_allow($importer,$contact)) {
logger('diaspora_like: Ignoring this author.');
return 202;
}