Soapbox-Improvements
This commit is contained in:
parent
3d614a0fcd
commit
d1e3ea7b46
3 changed files with 18 additions and 15 deletions
|
@ -590,7 +590,7 @@ function diaspora_request($importer,$xml) {
|
||||||
// perhaps we were already sharing with this person. Now they're sharing with us.
|
// perhaps we were already sharing with this person. Now they're sharing with us.
|
||||||
// That makes us friends.
|
// That makes us friends.
|
||||||
|
|
||||||
if($contact['rel'] == CONTACT_IS_FOLLOWER && $importer['page-flags'] != PAGE_COMMUNITY) {
|
if($contact['rel'] == CONTACT_IS_FOLLOWER && !in_array($importer['page-flags'], array(PAGE_COMMUNITY, PAGE_SOAPBOX))) {
|
||||||
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
||||||
intval(CONTACT_IS_FRIEND),
|
intval(CONTACT_IS_FRIEND),
|
||||||
intval($contact['id']),
|
intval($contact['id']),
|
||||||
|
@ -767,12 +767,12 @@ function diaspora_request($importer,$xml) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
function diaspora_post_allow($importer,$contact) {
|
function diaspora_post_allow($importer,$contact, $is_comment = false) {
|
||||||
|
|
||||||
// perhaps we were already sharing with this person. Now they're sharing with us.
|
// perhaps we were already sharing with this person. Now they're sharing with us.
|
||||||
// That makes us friends.
|
// That makes us friends.
|
||||||
// Normally this should have handled by getting a request - but this could get lost
|
// Normally this should have handled by getting a request - but this could get lost
|
||||||
if($contact['rel'] == CONTACT_IS_FOLLOWER && $importer['page-flags'] != PAGE_COMMUNITY) {
|
if($contact['rel'] == CONTACT_IS_FOLLOWER && !in_array($importer['page-flags'], array(PAGE_COMMUNITY, PAGE_SOAPBOX))) {
|
||||||
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
|
||||||
intval(CONTACT_IS_FRIEND),
|
intval(CONTACT_IS_FRIEND),
|
||||||
intval($contact['id']),
|
intval($contact['id']),
|
||||||
|
@ -787,7 +787,7 @@ function diaspora_post_allow($importer,$contact) {
|
||||||
if($contact['rel'] == CONTACT_IS_SHARING || $contact['rel'] == CONTACT_IS_FRIEND)
|
if($contact['rel'] == CONTACT_IS_SHARING || $contact['rel'] == CONTACT_IS_FRIEND)
|
||||||
return true;
|
return true;
|
||||||
if($contact['rel'] == CONTACT_IS_FOLLOWER)
|
if($contact['rel'] == CONTACT_IS_FOLLOWER)
|
||||||
if($importer['page-flags'] == PAGE_COMMUNITY)
|
if(($importer['page-flags'] == PAGE_COMMUNITY) OR $is_comment)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// Messages for the global users are always accepted
|
// Messages for the global users are always accepted
|
||||||
|
@ -840,7 +840,7 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
return 203;
|
return 203;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! diaspora_post_allow($importer,$contact)) {
|
if(! diaspora_post_allow($importer,$contact, false)) {
|
||||||
logger('diaspora_post: Ignoring this author.');
|
logger('diaspora_post: Ignoring this author.');
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
@ -1117,7 +1117,7 @@ function diaspora_reshare($importer,$xml,$msg) {
|
||||||
if(! $contact)
|
if(! $contact)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(! diaspora_post_allow($importer,$contact)) {
|
if(! diaspora_post_allow($importer,$contact, false)) {
|
||||||
logger('diaspora_reshare: Ignoring this author: ' . $diaspora_handle . ' ' . print_r($xml,true));
|
logger('diaspora_reshare: Ignoring this author: ' . $diaspora_handle . ' ' . print_r($xml,true));
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
@ -1303,7 +1303,7 @@ function diaspora_asphoto($importer,$xml,$msg) {
|
||||||
if(! $contact)
|
if(! $contact)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(! diaspora_post_allow($importer,$contact)) {
|
if(! diaspora_post_allow($importer,$contact, false)) {
|
||||||
logger('diaspora_asphoto: Ignoring this author.');
|
logger('diaspora_asphoto: Ignoring this author.');
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
@ -1399,7 +1399,7 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! diaspora_post_allow($importer,$contact)) {
|
if(! diaspora_post_allow($importer,$contact, true)) {
|
||||||
logger('diaspora_comment: Ignoring this author.');
|
logger('diaspora_comment: Ignoring this author.');
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
@ -1903,7 +1903,7 @@ function diaspora_photo($importer,$xml,$msg,$attempt=1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! diaspora_post_allow($importer,$contact)) {
|
if(! diaspora_post_allow($importer,$contact, false)) {
|
||||||
logger('diaspora_photo: Ignoring this author.');
|
logger('diaspora_photo: Ignoring this author.');
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
@ -1990,7 +1990,7 @@ function diaspora_like($importer,$xml,$msg) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(! diaspora_post_allow($importer,$contact)) {
|
if(! diaspora_post_allow($importer,$contact, false)) {
|
||||||
logger('diaspora_like: Ignoring this author.');
|
logger('diaspora_like: Ignoring this author.');
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
|
|
@ -130,9 +130,10 @@ function dfrn_notify_post(&$a) {
|
||||||
|
|
||||||
|
|
||||||
// If we are setup as a soapbox we aren't accepting input from this person
|
// If we are setup as a soapbox we aren't accepting input from this person
|
||||||
|
// This behaviour is deactivated since it really doesn't make sense to even disallow comments
|
||||||
if($importer['page-flags'] == PAGE_SOAPBOX)
|
// The check if someone is a friend or simply a follower is done in a later place so it needn't to be done here
|
||||||
xml_status(0);
|
//if($importer['page-flags'] == PAGE_SOAPBOX)
|
||||||
|
// xml_status(0);
|
||||||
|
|
||||||
$rino = get_config('system','rino_encrypt');
|
$rino = get_config('system','rino_encrypt');
|
||||||
$rino = intval($rino);
|
$rino = intval($rino);
|
||||||
|
|
|
@ -14,10 +14,12 @@ function follow_content(&$a) {
|
||||||
$uid = local_user();
|
$uid = local_user();
|
||||||
$url = notags(trim($_REQUEST['url']));
|
$url = notags(trim($_REQUEST['url']));
|
||||||
|
|
||||||
$r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND
|
// There is a current issue. It seems as if you can't start following a Friendica that is following you
|
||||||
|
// With Diaspora this works - but Friendica is special, it seems ...
|
||||||
|
$r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND ((`rel` != %d) OR (`network` = '%s')) AND
|
||||||
(`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') AND
|
(`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') AND
|
||||||
`network` != '%s' LIMIT 1",
|
`network` != '%s' LIMIT 1",
|
||||||
intval(local_user()), dbesc(normalise_link($url)),
|
intval(local_user()), dbesc(CONTACT_IS_FOLLOWER), dbesc(NETWORK_DFRN), dbesc(normalise_link($url)),
|
||||||
dbesc(normalise_link($url)), dbesc($url), dbesc(NETWORK_STATUSNET));
|
dbesc(normalise_link($url)), dbesc($url), dbesc(NETWORK_STATUSNET));
|
||||||
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
|
|
Loading…
Reference in a new issue