X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_confirm.php;h=180e8ff31c7a587ab5eb1770a7b8de3d2f45cf60;hb=bcb672e7ff859168b639ffffc38553bbcf7e918c;hp=c4feef8ff1c09325c109c042eaa7b4b561cb70b8;hpb=3a0727d4961aa5743e1f9365c8a3848cfb24a66b;p=friendica.git diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index c4feef8ff1..180e8ff31c 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -123,11 +123,12 @@ function dfrn_confirm_post(&$a,$handsfree = null) { $dfrn_confirm = $contact['confirm']; $aes_allow = $contact['aes_allow']; - $network = ((strlen($contact['issued-id'])) ? 'dfrn' : 'stat'); + $network = ((strlen($contact['issued-id'])) ? NETWORK_DFRN : NETWORK_OSTATUS); + if($contact['network']) $network = $contact['network']; - if($network === 'dfrn') { + if($network === NETWORK_DFRN) { /** * @@ -300,13 +301,13 @@ function dfrn_confirm_post(&$a,$handsfree = null) { * */ - require_once("Photo.php"); + require_once('include/Photo.php'); $photos = import_profile_photo($contact['photo'],$uid,$contact_id); logger('dfrn_confirm: confirm - imported photos'); - if($network === 'dfrn') { + if($network === NETWORK_DFRN) { $new_relation = CONTACT_IS_FOLLOWER; if(($relation == CONTACT_IS_SHARING) || ($duplex)) @@ -339,9 +340,10 @@ function dfrn_confirm_post(&$a,$handsfree = null) { ); } else { - // $network !== 'dfrn' - $network = (($contact['network']) ? $contact['network'] : 'stat'); + // $network !== NETWORK_DFRN + + $network = (($contact['network']) ? $contact['network'] : NETWORK_OSTATUS); $notify = (($contact['notify']) ? $contact['notify'] : ''); $poll = (($contact['poll']) ? $contact['poll'] : ''); @@ -357,6 +359,16 @@ function dfrn_confirm_post(&$a,$handsfree = null) { } } + $new_relation = $contact['rel']; + $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), intval($uid) @@ -373,7 +385,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) { `poll` = '%s', `blocked` = 0, `pending` = 0, - `network` = '%s' + `network` = '%s', + `writable` = %d, + `rel` = %d WHERE `id` = %d LIMIT 1 ", dbesc($photos[0]), @@ -385,6 +399,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) { dbesc($notify), dbesc($poll), dbesc($network), + intval($writable), + intval($new_relation), intval($contact_id) ); } @@ -409,6 +425,12 @@ function dfrn_confirm_post(&$a,$handsfree = null) { ); if((count($r)) && ($r[0]['hide-friends'] == 0) && (is_array($contact)) && isset($new_relation) && ($new_relation == CONTACT_IS_FRIEND)) { + if($r[0]['network'] === NETWORK_DIASPORA) { + require_once('include/diaspora.php'); + $ret = diaspora_share($user[0],$r[0]); + logger('mod_follow: diaspora_share returns: ' . $ret); + } + require_once('include/items.php'); $self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1", @@ -544,7 +566,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { 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); @@ -559,6 +581,11 @@ function dfrn_confirm_post(&$a,$handsfree = null) { $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); @@ -626,7 +653,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]), @@ -636,6 +663,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