X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_request.php;h=f3875ed8e40939d8a0672c97fa312f53dcc07446;hb=325d3afe183a397ea6688480c1b2df8e1be99dc1;hp=236970a2e9d8c0bb91ed250b9e9f312b0df7a129;hpb=d4c3dcf2fccefcb2c79881be09fd3b1c73dc611a;p=friendica.git diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 236970a2e9..f3875ed8e4 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); } @@ -193,19 +193,22 @@ function dfrn_request_post(&$a) { 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"; + $forwardurl = App::get_baseurl()."/contacts/".$r[0]['id']; + } 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']) ); } @@ -371,7 +374,7 @@ function dfrn_request_post(&$a) { intval($uid) ); - if(! dbm::is_result($r)) { + if (! dbm::is_result($r)) { notice( t('This account has not been configured for email. Request failed.') . EOL); return; } @@ -499,15 +502,15 @@ function dfrn_request_post(&$a) { ); } else { - if(! validate_url($url)) { + if (! validate_url($url)) { notice( t('Invalid profile URL.') . EOL); - goaway($a->get_baseurl() . '/' . $a->cmd); + goaway(App::get_baseurl() . '/' . $a->cmd); return; // NOTREACHED } - if(! allowed_url($url)) { + if (! allowed_url($url)) { notice( t('Disallowed profile URL.') . EOL); - goaway($a->get_baseurl() . '/' . $a->cmd); + 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($a->get_baseurl() . '/' . $a->cmd); + 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,12 +605,13 @@ 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. - $dfrn_url = bin2hex($a->get_baseurl() . '/profile/' . $nickname); + $dfrn_url = bin2hex(App::get_baseurl() . '/profile/' . $nickname); $aes_allow = ((function_exists('openssl_encrypt')) ? 1 : 0); goaway($parms['dfrn-request'] . "?dfrn_url=$dfrn_url" @@ -633,8 +639,9 @@ function dfrn_request_post(&$a) { $uri .= '/'.$a->get_path(); $uri = urlencode($uri); - } else - $uri = $a->get_baseurl().'/profile/'.$nickname; + } 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; @@ -742,7 +750,7 @@ function dfrn_request_content(&$a) { 'to_name' => $r[0]['username'], 'to_email' => $r[0]['email'], 'uid' => $r[0]['uid'], - 'link' => $a->get_baseurl() . '/notifications/intros', + 'link' => App::get_baseurl() . '/notifications/intros', 'source_name' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : t('[Name Withheld]')), 'source_link' => $r[0]['url'], 'source_photo' => $r[0]['photo'], @@ -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)) { - $myaddr = $a->get_baseurl() . '/profile/' . $a->user['nickname']; - } - else { + } elseif (local_user()) { + if (strlen($a->path)) { + $myaddr = App::get_baseurl() . '/profile/' . $a->user['nickname']; + } 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,25 +834,29 @@ 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']) ); - if(! dbm::is_result($r)) + if (! dbm::is_result($r)) { $mail_disabled = 1; + } } // "coming soon" is disabled for now @@ -859,7 +872,7 @@ function dfrn_request_content(&$a) { '$header' => t('Friend/Connection Request'), '$desc' => t('Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca'), '$pls_answer' => t('Please answer the following:'), - '$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$a->profile['name']), false, '', array(t('No'),t('Yes'))), + '$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$a->profile['name']), false, '', array(t('No'), t('Yes'))), /*'$does_know' => sprintf( t('Does %s know you?'),$a->profile['name']), '$yes' => t('Yes'), '$no' => t('No'), */