]> git.mxchange.org Git - friendica.git/blobdiff - include/Scrape.php
Merge pull request #512 from fermionic/auto-redir-for-local-hub-contacts
[friendica.git] / include / Scrape.php
index b784650cd168722cb462d4031e1a9fb888b9e7a8..7eaac3b44924669981b072bfe7347bf6c9f1b170 100644 (file)
@@ -394,7 +394,10 @@ function probe_url($url, $mode = PROBE_NORMAL) {
                                }
                                if($link['@attributes']['rel'] === 'diaspora-public-key') {
                                        $diaspora_key = base64_decode(unamp($link['@attributes']['href']));
-                                       $pubkey = rsatopem($diaspora_key);
+                                       if(strstr($diaspora_key,'RSA '))
+                                               $pubkey = rsatopem($diaspora_key);
+                                       else
+                                               $pubkey = $diaspora_key;
                                        $diaspora = true;
                                }
                        }
@@ -455,10 +458,10 @@ function probe_url($url, $mode = PROBE_NORMAL) {
                                                $poll = 'email ' . random_string();
                                                $priority = 0;
                                                $x = email_msg_meta($mbox,$msgs[0]);
-                                               if(stristr($x->from,$orig_url))
-                                                       $adr = imap_rfc822_parse_adrlist($x->from,'');
-                                               elseif(stristr($x->to,$orig_url))
-                                                       $adr = imap_rfc822_parse_adrlist($x->to,'');
+                                               if(stristr($x[0]->from,$orig_url))
+                                                       $adr = imap_rfc822_parse_adrlist($x[0]->from,'');
+                                               elseif(stristr($x[0]->to,$orig_url))
+                                                       $adr = imap_rfc822_parse_adrlist($x[0]->to,'');
                                                if(isset($adr)) {
                                                        foreach($adr as $feadr) {
                                                                if((strcasecmp($feadr->mailbox,$name) == 0)
@@ -551,6 +554,13 @@ function probe_url($url, $mode = PROBE_NORMAL) {
                        logger('probe_url: scrape_vcard: ' . print_r($vcard,true), LOGGER_DATA);
                }
 
+               if($diaspora && $addr) {
+                       // Diaspora returns the name as the nick. As the nick will never be updated,
+                       // let's use the Diaspora nickname (the first part of the handle) as the nick instead
+                       $addr_parts = explode('@', $addr);
+                       $vcard['nick'] = $addr_parts[0];
+               }
+
                if($twitter) {          
                        logger('twitter: setup');
                        $tid = basename($url);
@@ -560,9 +570,10 @@ function probe_url($url, $mode = PROBE_NORMAL) {
                        else
                                $poll = $tapi . '?screen_name=' . $tid;
                        $profile = 'http://twitter.com/#!/' . $tid;
-                       $vcard['photo'] = 'https://api.twitter.com/1/users/profile_image/' . $tid;
+                       //$vcard['photo'] = 'https://api.twitter.com/1/users/profile_image/' . $tid;
+                       $vcard['photo'] = 'https://api.twitter.com/1/users/profile_image?screen_name=' . $tid . '&size=bigger';
                        $vcard['nick'] = $tid;
-                       $vcard['fn'] = $tid . '@twitter';
+                       $vcard['fn'] = $tid;
                }
 
                if($lastfm) {