X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_request.php;h=79070604b796251f89447e27a77aba92f630f57d;hb=fcf6651299418f834076649f1fad4833476aad76;hp=d5c5b83d5b861efc9086c2ed7008f92f37647552;hpb=fb736b984d94ad95d85c15c260ade8c78a57a6ef;p=friendica.git diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index d5c5b83d5b..79070604b7 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -12,6 +12,10 @@ if(! function_exists('dfrn_request_init')) { function dfrn_request_init(&$a) { + if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { + return; + } + if($a->argc > 1) $which = $a->argv[1]; @@ -44,7 +48,7 @@ function dfrn_request_post(&$a) { if($_POST['cancel']) { - goaway($a->get_baseurl()); + goaway(z_root()); } @@ -123,9 +127,9 @@ function dfrn_request_post(&$a) { notice( t('Warning: profile location has no profile photo.') . EOL ); $invalid = validate_dfrn($parms); if($invalid) { - notice( $invalid . t(' required parameter') - . (($invalid == 1) ? t(" was ") : t("s were ") ) - . t("not found at the given location.") . EOL ) ; + 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 ); return; } } @@ -161,7 +165,7 @@ function dfrn_request_post(&$a) { } if($r) { - notice( t("Introduction complete.") . EOL); + info( t("Introduction complete.") . EOL); } /** @@ -186,7 +190,7 @@ function dfrn_request_post(&$a) { // invalid/bogus request notice( t('Unrecoverable protocol error.') . EOL ); - goaway($a->get_baseurl()); + goaway(z_root()); return; // NOTREACHED } @@ -238,7 +242,7 @@ function dfrn_request_post(&$a) { intval($uid) ); if(count($r) > $maxreq) { - notice( $a->profile['name'] . t(' has received too many connection requests today.') . EOL); + notice( sprintf( t('%s has received too many connection requests today.'), $a->profile['name']) . EOL); notice( t('Spam protection measures have been invoked.') . EOL); notice( t('Friends are advised to please try again in 24 hours.') . EOL); return; @@ -256,7 +260,7 @@ function dfrn_request_post(&$a) { FROM `intro` LEFT JOIN `contact` on `intro`.`contact-id` = `contact`.`id` WHERE `intro`.`blocked` = 1 AND `contact`.`self` = 0 AND `intro`.`datetime` < UTC_TIMESTAMP() - INTERVAL 30 MINUTE "); if(count($r)) { - foreach($r as ($rr) { + foreach($r as $rr) { if(! $rr['rel']) { q("DELETE FROM `contact` WHERE `id` = %d LIMIT 1", intval($rr['cid']) @@ -305,8 +309,8 @@ function dfrn_request_post(&$a) { notice( t('You have already introduced yourself here.') . EOL ); return; } - elseif($ret[0]['rel'] == REL_BUD) { - notice( t('Apparently you are already friends with .') . $a->profile['name'] . EOL); + elseif($ret[0]['rel'] == CONTACT_IS_FRIEND) { + notice( sprintf( t('Apparently you are already friends with %s.'), $a->profile['name']) . EOL); return; } else { @@ -354,9 +358,9 @@ function dfrn_request_post(&$a) { notice( t('Warning: profile location has no profile photo.') . EOL ); $invalid = validate_dfrn($parms); if($invalid) { - notice( $invalid . t(' required parameter') - . (($invalid == 1) ? t(" was ") : t("s were ") ) - . t("not found at the given location.") . EOL ) ; + 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 ); return; } @@ -420,7 +424,7 @@ 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) - notice( t('Your introduction has been sent.') . EOL ); + info( t('Your introduction has been sent.') . EOL ); // "Homecoming" - send the requestor back to their site to record the introduction. @@ -441,7 +445,7 @@ function dfrn_request_post(&$a) { * * OStatus network * Check contact existence - * Try and scrape together enough information to create a contact record, with us as REL_VIP + * Try and scrape together enough information to create a contact record, with us as CONTACT_IS_FOLLOWER * Substitute our user's feed URL into $url template * Send the subscriber home to subscribe * @@ -474,7 +478,7 @@ function dfrn_request_content(&$a) { if(x($_GET,'dfrn_url')) { if(! local_user()) { - notice( t("Please login to confirm introduction.") . EOL ); + info( t("Please login to confirm introduction.") . EOL ); /* setup the return URL to come back to this page if they use openid */ @@ -495,12 +499,14 @@ function dfrn_request_content(&$a) { $dfrn_url = notags(trim(hex2bin($_GET['dfrn_url']))); $aes_allow = (((x($_GET,'aes_allow')) && ($_GET['aes_allow'] == 1)) ? 1 : 0); $confirm_key = (x($_GET,'confirm_key') ? $_GET['confirm_key'] : ""); - $o .= load_view_file("view/dfrn_req_confirm.tpl"); - $o = replace_macros($o,array( + $tpl = get_markup_template("dfrn_req_confirm.tpl"); + $o = replace_macros($tpl,array( '$dfrn_url' => $dfrn_url, '$aes_allow' => (($aes_allow) ? '' : "" ), '$confirm_key' => $confirm_key, - '$username' => $a->user['username'], + '$welcome' => sprintf( t('Welcome home %s.'), $a->user['username']), + '$please' => sprintf( t('Please confirm your introduction/connection request to %s.'), $dfrn_url), + '$submit' => t('Confirm'), '$uid' => $_SESSION['uid'], '$nickname' => $a->user['nickname'], 'dfrn_rawurl' => $_GET['dfrn_url'] @@ -531,7 +537,7 @@ function dfrn_request_content(&$a) { if($r[0]['page-flags'] != PAGE_NORMAL) $auto_confirm = true; if(($r[0]['notify-flags'] & NOTIFY_INTRO) && (! $auto_confirm)) { - $email_tpl = load_view_file('view/request_notify_eml.tpl'); + $email_tpl = get_intltext_template('request_notify_eml.tpl'); $email = replace_macros($email_tpl, array( '$requestor' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : t('[Name Withheld]')), '$url' => stripslashes($r[0]['url']), @@ -540,9 +546,12 @@ function dfrn_request_content(&$a) { '$sitename' => $a->config['sitename'] )); $res = mail($r[0]['email'], - t("Introduction received at ") . $a->config['sitename'], + t("Introduction received at ") . $a->config['sitename'], $email, - 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] ); + 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n" + . 'Content-type: text/plain; charset=UTF-8' . "\n" + . 'Content-transfer-encoding: 8bit' ); + // This is a redundant notification - no point throwing errors if it fails. } if($auto_confirm) { @@ -578,6 +587,12 @@ function dfrn_request_content(&$a) { * Normal web request. Display our user's introduction form. */ + if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { + notice( t('Public access denied.') . EOL); + return; + } + + /** * Try to auto-fill the profile address */ @@ -587,11 +602,15 @@ function dfrn_request_content(&$a) { $myaddr = $a->get_baseurl() . '/profile/' . $a->user['nickname']; } else { - $myaddr = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3 ); + $myaddr = $a->user['nickname'] . '@' . substr(z_root(), strpos(z_root(),'://') + 3 ); } } - else { - $myaddr = ((x($_GET,'address')) ? urldecode($_GET['address']) : ''); + elseif(x($_GET,'addr')) { + $myaddr = hex2bin($_GET['addr']); + } + else { + /* $_GET variables are already urldecoded */ + $myaddr = ((x($_GET,'address')) ? $_GET['address'] : ''); } /** @@ -603,23 +622,24 @@ function dfrn_request_content(&$a) { */ if($a->profile['page-flags'] == PAGE_NORMAL) - $tpl = load_view_file('view/dfrn_request.tpl'); + $tpl = get_markup_template('dfrn_request.tpl'); else - $tpl = load_view_file('view/auto_request.tpl'); + $tpl = get_markup_template('auto_request.tpl'); $o .= replace_macros($tpl,array( '$header' => t('Friend/Connection Request'), + '$desc' => t('Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca'), '$pls_answer' => t('Please answer the following:'), - '$does_know' => t('Does $name know you?'), + '$does_know' => sprintf( t('Does %s know you?'),$a->profile['name']), '$yes' => t('Yes'), '$no' => t('No'), '$add_note' => t('Add a personal note:'), - '$page_desc' => t('Please enter your profile address from one of the following supported social networks:'), + '$page_desc' => t("Please enter your 'Identity Address' from one of the following supported social networks:"), '$friendika' => t('Friendika'), '$statusnet' => t('StatusNet/Federated Social Web'), '$private_net' => t("Private \x28secure\x29 network"), '$public_net' => t("Public \x28insecure\x29 network"), - '$your_address' => t('Your profile address:'), + '$your_address' => t('Your Identity Address:'), '$submit' => t('Submit Request'), '$cancel' => t('Cancel'), '$nickname' => $a->argv[1], @@ -630,4 +650,4 @@ function dfrn_request_content(&$a) { } return; // Somebody is fishing. -}} \ No newline at end of file +}}