]> git.mxchange.org Git - friendica.git/blobdiff - mod/dfrn_confirm.php
Merge pull request #10 from duthied/master
[friendica.git] / mod / dfrn_confirm.php
index 346d9d4451f65c6612a120f90e5fa82eaf349c12..180e8ff31c7a587ab5eb1770a7b8de3d2f45cf60 100644 (file)
@@ -301,7 +301,7 @@ 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);
                
@@ -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)
                        );                      
@@ -418,7 +426,7 @@ 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');
+                               require_once('include/diaspora.php');
                                $ret = diaspora_share($user[0],$r[0]);
                                logger('mod_follow: diaspora_share returns: ' . $ret);
                        }
@@ -558,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);
@@ -573,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);
 
@@ -640,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]),
@@ -650,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