ensure that auto_redir does not loop
This commit is contained in:
parent
d3b2b1b7ec
commit
4d289574ca
2 changed files with 12 additions and 4 deletions
|
@ -2,6 +2,11 @@
|
|||
|
||||
function auto_redir(&$a, $contact_nick) {
|
||||
|
||||
// prevent looping
|
||||
|
||||
if(intval($_REQUEST,'redir'))
|
||||
return;
|
||||
|
||||
if((! $contact_nick) || ($contact_nick === $a->user['nickname']))
|
||||
return;
|
||||
|
||||
|
@ -20,12 +25,15 @@ function auto_redir(&$a, $contact_nick) {
|
|||
if($domain_st === false)
|
||||
return;
|
||||
$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 )
|
||||
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($a->user['nickname']),
|
||||
dbesc($baseurl)
|
||||
dbesc($baseurl),
|
||||
dbesc($nurl)
|
||||
);
|
||||
|
||||
if((!$r) || (! count($r)) || $r[0]['id'] == remote_user())
|
||||
|
|
|
@ -493,7 +493,7 @@ function dfrn_poll_content(&$a) {
|
|||
|
||||
switch($destination_url) {
|
||||
case 'profile':
|
||||
$dest = $a->get_baseurl() . '/profile/' . $profile . '?tab=profile';
|
||||
$dest = $a->get_baseurl() . '/profile/' . $profile . '?f=&tab=profile';
|
||||
break;
|
||||
case 'photos':
|
||||
$dest = $a->get_baseurl() . '/photos/' . $profile;
|
||||
|
@ -503,7 +503,7 @@ function dfrn_poll_content(&$a) {
|
|||
$dest = $a->get_baseurl() . '/profile/' . $profile;
|
||||
break;
|
||||
default:
|
||||
$dest = $destination_url;
|
||||
$dest = $destination_url . '?f=&redir=1';
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue