X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_request.php;h=52b5eb9f90f076a7fb1508e4393d7fe783e3405b;hb=221cfa8c22b724228ed24618569cabcae582d331;hp=7a8021784de9d3d0671ee5283dc7737aa72d5e63;hpb=98b727029570b96febd0c5046b688cab1a9bb882;p=friendica.git diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 7a8021784d..52b5eb9f90 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -17,7 +17,7 @@ require_once('include/Scrape.php'); require_once('include/Probe.php'); require_once('include/group.php'); -function dfrn_request_init(&$a) { +function dfrn_request_init(App $a) { if($a->argc > 1) $which = $a->argv[1]; @@ -42,7 +42,7 @@ function dfrn_request_init(&$a) { * After logging in, we click 'submit' to approve the linkage. * */ -function dfrn_request_post(&$a) { +function dfrn_request_post(App $a) { if(($a->argc != 2) || (! count($a->profile))) { logger('Wrong count of argc or profiles: argc=' . $a->argc . ',profile()=' . count($a->profile)); @@ -120,17 +120,19 @@ function dfrn_request_post(&$a) { $parms = Probe::profile($dfrn_url); - if(! count($parms)) { + if (! count($parms)) { notice( t('Profile location is not valid or does not contain profile information.') . EOL ); return; } else { - if(! x($parms,'fn')) + if (! x($parms,'fn')) { notice( t('Warning: profile location has no identifiable owner name.') . EOL ); - if(! x($parms,'photo')) + } + if (! x($parms,'photo')) { notice( t('Warning: profile location has no profile photo.') . EOL ); + } $invalid = Probe::valid_dfrn($parms); - if($invalid) { + 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", $invalid), $invalid) . EOL ); @@ -143,9 +145,7 @@ function dfrn_request_post(&$a) { $photo = $parms["photo"]; // Escape the entire array - - dbesc_array($parms); - + dbm::esc_array($parms); /* * Create a contact record on our site for the other person @@ -176,7 +176,7 @@ function dfrn_request_post(&$a) { ); } - if($r) { + if ($r) { info( t("Introduction complete.") . EOL); } @@ -194,18 +194,21 @@ function dfrn_request_post(&$a) { update_contact_avatar($photo, local_user(), $r[0]["id"], true); $forwardurl = App::get_baseurl()."/contacts/".$r[0]['id']; - } else + } else { $forwardurl = App::get_baseurl()."/contacts"; + } /* * Allow the blocked remote notification to complete */ - if(is_array($contact_record)) + if (is_array($contact_record)) { $dfrn_request = $contact_record['request']; + } - if(strlen($dfrn_request) && strlen($confirm_key)) + if (strlen($dfrn_request) && strlen($confirm_key)) { $s = fetch_url($dfrn_request . '?confirm_key=' . $confirm_key); + } // (ignore reply, nothing we can do it failed) @@ -296,9 +299,9 @@ function dfrn_request_post(&$a) { dbesc(NETWORK_MAIL2) ); if (dbm::is_result($r)) { - foreach($r as $rr) { + foreach ($r as $rr) { if(! $rr['rel']) { - q("DELETE FROM `contact` WHERE `id` = %d", + q("DELETE FROM `contact` WHERE `id` = %d AND NOT `self`", intval($rr['cid']) ); } @@ -321,9 +324,9 @@ function dfrn_request_post(&$a) { dbesc(NETWORK_MAIL2) ); if (dbm::is_result($r)) { - foreach($r as $rr) { + foreach ($r as $rr) { if(! $rr['rel']) { - q("DELETE FROM `contact` WHERE `id` = %d", + q("DELETE FROM `contact` WHERE `id` = %d AND NOT `self`", intval($rr['cid']) ); } @@ -499,13 +502,13 @@ function dfrn_request_post(&$a) { ); } else { - if(! validate_url($url)) { + if (! validate_url($url)) { notice( t('Invalid profile URL.') . EOL); goaway(App::get_baseurl() . '/' . $a->cmd); return; // NOTREACHED } - if(! allowed_url($url)) { + if (! allowed_url($url)) { notice( t('Disallowed profile URL.') . EOL); goaway(App::get_baseurl() . '/' . $a->cmd); return; // NOTREACHED @@ -516,17 +519,19 @@ function dfrn_request_post(&$a) { $parms = Probe::profile(($hcard) ? $hcard : $url); - if(! count($parms)) { + if (! count($parms)) { notice( t('Profile location is not valid or does not contain profile information.') . EOL ); goaway(App::get_baseurl() . '/' . $a->cmd); } else { - if(! x($parms,'fn')) + if (! x($parms,'fn')) { notice( t('Warning: profile location has no identifiable owner name.') . EOL ); - if(! x($parms,'photo')) + } + if (! x($parms,'photo')) { notice( t('Warning: profile location has no profile photo.') . EOL ); + } $invalid = Probe::valid_dfrn($parms); - if($invalid) { + 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", $invalid), $invalid) . EOL ); @@ -540,7 +545,7 @@ function dfrn_request_post(&$a) { $parms['issued-id'] = $issued_id; $photo = $parms["photo"]; - dbesc_array($parms); + dbm::esc_array($parms); $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `name`, `nick`, `issued-id`, `photo`, `site-pubkey`, `request`, `confirm`, `notify`, `poll`, `poco`, `network`, `blocked`, `pending` ) VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )", @@ -565,7 +570,7 @@ function dfrn_request_post(&$a) { ); // find the contact record we just created - if($r) { + if ($r) { $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `issued-id` = '%s' LIMIT 1", intval($uid), @@ -579,14 +584,14 @@ function dfrn_request_post(&$a) { } } - if($r === false) { + if ($r === false) { notice( t('Failed to update contact record.') . EOL ); return; } $hash = random_string() . (string) time(); // Generate a confirm_key - if(is_array($contact_record)) { + if (is_array($contact_record)) { $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `note`, `hash`, `datetime`) VALUES ( %d, %d, 1, %d, '%s', '%s', '%s' )", intval($uid), @@ -600,8 +605,9 @@ function dfrn_request_post(&$a) { // This notice will only be seen by the requestor if the requestor and requestee are on the same server. - if(! $failed) + if (! $failed) { info( t('Your introduction has been sent.') . EOL ); + } // "Homecoming" - send the requestor back to their site to record the introduction. @@ -633,8 +639,9 @@ function dfrn_request_post(&$a) { $uri .= '/'.$a->get_path(); $uri = urlencode($uri); - } else + } else { $uri = App::get_baseurl().'/profile/'.$nickname; + } $url = str_replace('{uri}', $uri, $url); goaway($url); @@ -649,18 +656,19 @@ function dfrn_request_post(&$a) { } -function dfrn_request_content(&$a) { +function dfrn_request_content(App $a) { - if(($a->argc != 2) || (! count($a->profile))) + if (($a->argc != 2) || (! count($a->profile))) { return ""; + } // "Homecoming". Make sure we're logged in to this site as the correct user. Then offer a confirm button // to send us to the post section to record the introduction. - if(x($_GET,'dfrn_url')) { + if (x($_GET,'dfrn_url')) { - if(! local_user()) { + if (! local_user()) { info( t("Please login to confirm introduction.") . EOL ); /* setup the return URL to come back to this page if they use openid */ $_SESSION['return_url'] = $a->query_string; @@ -800,19 +808,20 @@ function dfrn_request_content(&$a) { // At first look if an address was provided // Otherwise take the local address - if (x($_GET,'addr') AND ($_GET['addr'] != "")) + if (x($_GET,'addr') AND ($_GET['addr'] != "")) { $myaddr = hex2bin($_GET['addr']); - elseif (x($_GET,'address') AND ($_GET['address'] != "")) + } elseif (x($_GET,'address') AND ($_GET['address'] != "")) { $myaddr = $_GET['address']; - elseif(local_user()) { - if(strlen($a->path)) { + } elseif (local_user()) { + if (strlen($a->path)) { $myaddr = App::get_baseurl() . '/profile/' . $a->user['nickname']; - } - else { + } else { $myaddr = $a->user['nickname'] . '@' . substr(z_root(), strpos(z_root(),'://') + 3 ); } - } else // last, try a zrl + } else { + // last, try a zrl $myaddr = get_my_url(); + } $target_addr = $a->profile['nickname'] . '@' . substr(z_root(), strpos(z_root(),'://') + 3 ); @@ -825,20 +834,23 @@ function dfrn_request_content(&$a) { * */ - if($a->profile['page-flags'] == PAGE_NORMAL) + if ($a->profile['page-flags'] == PAGE_NORMAL) { $tpl = get_markup_template('dfrn_request.tpl'); - else + } else { $tpl = get_markup_template('auto_request.tpl'); + } $page_desc = t("Please enter your 'Identity Address' from one of the following supported communications networks:"); // see if we are allowed to have NETWORK_MAIL2 contacts $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); - if(get_config('system','dfrn_only')) + + if (get_config('system','dfrn_only')) { $mail_disabled = 1; + } - if(! $mail_disabled) { + if (! $mail_disabled) { $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", intval($a->profile['uid']) );