set writable (e.g. writeable) flag for Diaspora contacts

This commit is contained in:
Friendika 2011-08-18 21:31:34 -07:00
parent d2c6c21a88
commit c05c20aa56
3 changed files with 14 additions and 5 deletions

View file

@ -308,7 +308,7 @@ function diaspora_request($importer,$xml) {
// That makes us friends.
if($contact['rel'] == CONTACT_IS_FOLLOWER) {
q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval(CONTACT_IS_FRIEND),
intval($contact['id']),
intval($importer['uid'])

View file

@ -575,7 +575,7 @@ function notifier_run($argv, $argc){
/**
*
* If you have less than 150 dfrn friends and it's a public message,
* If you have less than 999 dfrn friends and it's a public message,
* we'll just go ahead and push them out securely with dfrn/rino.
* If you've got more than that, you'll have to rely on PuSH delivery.
*

View file

@ -360,8 +360,14 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
}
$new_relation = $contact['rel'];
if($network === NETWORK_DIASPORA && $duplex)
$new_relation = CONTACT_IS_FRIEND;
$writable = $contact['writable'];
if($network === NETWORK_DIASPORA) {
if($duplex)
$new_relation = CONTACT_IS_FRIEND;
if($new_relation != CONTACT_IS_FOLLOWER)
$writable = 1;
}
$r = q("DELETE FROM `intro` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($intro_id),
@ -380,6 +386,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
`blocked` = 0,
`pending` = 0,
`network` = '%s',
`writable` = %d,
`rel` = %d
WHERE `id` = %d LIMIT 1
",
@ -392,6 +399,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
dbesc($notify),
dbesc($poll),
dbesc($network),
intval($writable),
intval($new_relation),
intval($contact_id)
);
@ -640,7 +648,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
`blocked` = 0,
`pending` = 0,
`duplex` = %d,
`network` = 'dfrn' WHERE `id` = %d LIMIT 1
`network` = '%s' WHERE `id` = %d LIMIT 1
",
dbesc($photos[0]),
dbesc($photos[1]),
@ -650,6 +658,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($duplex),
dbesc(NETWORK_DFRN),
intval($dfrn_record)
);
if($r === false) { // indicates schema is messed up or total db failure