X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_request.php;h=7fe2527f3d73c9401654243c4bcaa1b2cf29d757;hb=0c9cc29a51941eb572bf16fd5489d0947d47d033;hp=837eec2dd244ef222e9013ccb8160439c00011f0;hpb=bdfd81e7234662004f5ca3de1212b58b6dee161b;p=friendica.git diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 837eec2dd2..7fe2527f3d 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -11,6 +11,8 @@ require_once('include/enotify.php'); require_once('include/Scrape.php'); +require_once('include/Probe.php'); +require_once('include/group.php'); if(! function_exists('dfrn_request_init')) { function dfrn_request_init(&$a) { @@ -115,7 +117,7 @@ function dfrn_request_post(&$a) { * Scrape the other site's profile page to pick up the dfrn links, key, fn, and photo */ - $parms = scrape_dfrn($dfrn_url); + $parms = Probe::profile($dfrn_url); if(! count($parms)) { notice( t('Profile location is not valid or does not contain profile information.') . EOL ); @@ -126,7 +128,7 @@ function dfrn_request_post(&$a) { notice( t('Warning: profile location has no identifiable owner name.') . EOL ); if(! x($parms,'photo')) notice( t('Warning: profile location has no profile photo.') . EOL ); - $invalid = validate_dfrn($parms); + $invalid = Probe::valid_dfrn($parms); if($invalid) { notice( sprintf( tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", @@ -137,6 +139,8 @@ function dfrn_request_post(&$a) { $dfrn_request = $parms['dfrn-request']; + $photo = $parms["photo"]; + /********* Escape the entire array ********/ dbesc_array($parms); @@ -181,10 +185,12 @@ function dfrn_request_post(&$a) { ); if(count($r)) { $def_gid = get_default_group(local_user(), $r[0]["network"]); - if(intval($def_gid)) { - require_once('include/group.php'); + if(intval($def_gid)) group_add_member(local_user(), '', $r[0]['id'], $def_gid); - } + + if (isset($photo)) + update_contact_avatar($photo, local_user(), $r[0]["id"], true); + $forwardurl = $a->get_baseurl()."/contacts/".$r[0]['id']; } else $forwardurl = $a->get_baseurl()."/contacts"; @@ -394,10 +400,8 @@ function dfrn_request_post(&$a) { $contact_id = $r[0]['id']; $def_gid = get_default_group($uid, $r[0]["network"]); - if (intval($def_gid)) { - require_once('include/group.php'); + if (intval($def_gid)) group_add_member($uid, '', $contact_id, $def_gid); - } $photo = avatar_img($addr); @@ -444,7 +448,7 @@ function dfrn_request_post(&$a) { $network = $data["network"]; // Canonicalise email-style profile locator - $url = webfinger_dfrn($url,$hcard); + $url = Probe::webfinger_dfrn($url,$hcard); if (substr($url,0,5) === 'stat:') { @@ -508,7 +512,7 @@ function dfrn_request_post(&$a) { require_once('include/Scrape.php'); - $parms = scrape_dfrn(($hcard) ? $hcard : $url); + $parms = Probe::profile(($hcard) ? $hcard : $url); if(! count($parms)) { notice( t('Profile location is not valid or does not contain profile information.') . EOL ); @@ -519,7 +523,7 @@ function dfrn_request_post(&$a) { notice( t('Warning: profile location has no identifiable owner name.') . EOL ); if(! x($parms,'photo')) notice( t('Warning: profile location has no profile photo.') . EOL ); - $invalid = validate_dfrn($parms); + $invalid = Probe::valid_dfrn($parms); if($invalid) { notice( sprintf( tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", @@ -532,7 +536,7 @@ function dfrn_request_post(&$a) { $parms['url'] = $url; $parms['issued-id'] = $issued_id; - + $photo = $parms["photo"]; dbesc_array($parms); $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `name`, `nick`, `issued-id`, `photo`, `site-pubkey`, @@ -541,7 +545,7 @@ function dfrn_request_post(&$a) { intval($uid), dbesc(datetime_convert()), $parms['url'], - dbesc(normalise_link($parms['url'])), + dbesc(normalise_link($url)), $parms['addr'], $parms['fn'], $parms['nick'], @@ -564,8 +568,10 @@ function dfrn_request_post(&$a) { $parms['url'], $parms['issued-id'] ); - if(count($r)) + if(count($r)) { $contact_record = $r[0]; + update_contact_avatar($photo, $uid, $contact_record["id"], true); + } } }