}
$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),
`blocked` = 0,
`pending` = 0,
`network` = '%s',
+ `writable` = %d,
`rel` = %d
WHERE `id` = %d LIMIT 1
",
dbesc($notify),
dbesc($poll),
dbesc($network),
+ intval($writable),
intval($new_relation),
intval($contact_id)
);
dbesc($newurl),
intval($local_uid)
);
- if(! count($r)) {
+ if(! count($ret)) {
// this is either a bogus confirmation (?) or we deleted the original introduction.
$message = t('Contact record was not found for you on our site.');
xml_status(3,$message);
$foreign_pubkey = $ret[0]['site-pubkey'];
$dfrn_record = $ret[0]['id'];
+ if(! $foreign_pubkey) {
+ $message = sprintf( t('Site public key not available in contact record for URL %s.'), $newurl);
+ xml_status(3,$message);
+ }
+
$decrypted_dfrn_id = "";
openssl_public_decrypt($dfrn_id,$decrypted_dfrn_id,$foreign_pubkey);
`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]),
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