ensure that auto_redir does not loop
This commit is contained in:
parent
d3b2b1b7ec
commit
4d289574ca
|
@ -2,6 +2,11 @@
|
||||||
|
|
||||||
function auto_redir(&$a, $contact_nick) {
|
function auto_redir(&$a, $contact_nick) {
|
||||||
|
|
||||||
|
// prevent looping
|
||||||
|
|
||||||
|
if(intval($_REQUEST,'redir'))
|
||||||
|
return;
|
||||||
|
|
||||||
if((! $contact_nick) || ($contact_nick === $a->user['nickname']))
|
if((! $contact_nick) || ($contact_nick === $a->user['nickname']))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -20,12 +25,15 @@ function auto_redir(&$a, $contact_nick) {
|
||||||
if($domain_st === false)
|
if($domain_st === false)
|
||||||
return;
|
return;
|
||||||
$baseurl = substr($baseurl, $domain_st + 3);
|
$baseurl = substr($baseurl, $domain_st + 3);
|
||||||
|
$nurl = normalise_link($baseurl);
|
||||||
|
|
||||||
|
|
||||||
$r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 )
|
$r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 )
|
||||||
AND nick = '%s' AND self = 0 AND url LIKE '%%%s%%' AND blocked = 0 AND pending = 0 LIMIT 1",
|
AND nick = '%s' AND self = 0 AND ( url LIKE '%%%s%%' or nurl LIKE '%%%s%%' ) AND blocked = 0 AND pending = 0 LIMIT 1",
|
||||||
dbesc($contact_nick),
|
dbesc($contact_nick),
|
||||||
dbesc($a->user['nickname']),
|
dbesc($a->user['nickname']),
|
||||||
dbesc($baseurl)
|
dbesc($baseurl),
|
||||||
|
dbesc($nurl)
|
||||||
);
|
);
|
||||||
|
|
||||||
if((!$r) || (! count($r)) || $r[0]['id'] == remote_user())
|
if((!$r) || (! count($r)) || $r[0]['id'] == remote_user())
|
||||||
|
|
|
@ -493,7 +493,7 @@ function dfrn_poll_content(&$a) {
|
||||||
|
|
||||||
switch($destination_url) {
|
switch($destination_url) {
|
||||||
case 'profile':
|
case 'profile':
|
||||||
$dest = $a->get_baseurl() . '/profile/' . $profile . '?tab=profile';
|
$dest = $a->get_baseurl() . '/profile/' . $profile . '?f=&tab=profile';
|
||||||
break;
|
break;
|
||||||
case 'photos':
|
case 'photos':
|
||||||
$dest = $a->get_baseurl() . '/photos/' . $profile;
|
$dest = $a->get_baseurl() . '/photos/' . $profile;
|
||||||
|
@ -503,7 +503,7 @@ function dfrn_poll_content(&$a) {
|
||||||
$dest = $a->get_baseurl() . '/profile/' . $profile;
|
$dest = $a->get_baseurl() . '/profile/' . $profile;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$dest = $destination_url;
|
$dest = $destination_url . '?f=&redir=1';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user