X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fredir.php;h=b7292384268a4bc21f94e62b4c242701e54bd4f9;hb=5ebe10d7fc808dc2ed3502b532e6db020928aa1c;hp=e951b2d2a9871251c7256ccff4b7f60b8c5e7206;hpb=ee39aba490fb7e17ba9c01a9a4f4aedc51bee564;p=friendica.git diff --git a/mod/redir.php b/mod/redir.php index e951b2d2a9..b729238426 100644 --- a/mod/redir.php +++ b/mod/redir.php @@ -1,6 +1,10 @@ argc > 1 && intval($a->argv[1])) ) { + if ($con_url || (local_user() && $a->argc > 1 && intval($a->argv[1]))) { - if($con_url) { + if ($con_url) { $con_url = str_replace('https', 'http', $con_url); $r = q("SELECT * FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1", @@ -18,12 +22,14 @@ function redir_init(App &$a) { intval(local_user()) ); - if((! dbm::is_result($r)) || ($r[0]['network'] !== NETWORK_DFRN)) - goaway(z_root()); - + if (!DBM::is_result($r)) { + goaway(System::baseUrl()); + } + if ($r[0]['network'] !== NETWORK_DFRN) { + goaway(($url != '' ? $url : $r[0]['url'])); + } $cid = $r[0]['id']; - } - else { + } else { $cid = $a->argv[1]; $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", @@ -31,17 +37,21 @@ function redir_init(App &$a) { intval(local_user()) ); - if((! dbm::is_result($r)) || ($r[0]['network'] !== NETWORK_DFRN)) - goaway(z_root()); + if (!DBM::is_result($r)) { + goaway(System::baseUrl()); + } + if ($r[0]['network'] !== NETWORK_DFRN) { + goaway(($url != '' ? $url : $r[0]['url'])); + } } $dfrn_id = $orig_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']); - if($r[0]['duplex'] && $r[0]['issued-id']) { + if ($r[0]['duplex'] && $r[0]['issued-id']) { $orig_id = $r[0]['issued-id']; $dfrn_id = '1:' . $orig_id; } - if($r[0]['duplex'] && $r[0]['dfrn-id']) { + if ($r[0]['duplex'] && $r[0]['dfrn-id']) { $orig_id = $r[0]['dfrn-id']; $dfrn_id = '0:' . $orig_id; } @@ -57,14 +67,14 @@ function redir_init(App &$a) { intval(time() + 45) ); - logger('mod_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG); + logger('mod_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG); $dest = (($url) ? '&destination_url=' . $url : ''); - goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id - . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest . $quiet ); + goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id + . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest . $quiet); } if (local_user()) { - $handle = $a->user['nickname'] . '@' . substr(App::get_baseurl(),strpos(App::get_baseurl(),'://')+3); + $handle = $a->user['nickname'] . '@' . substr(System::baseUrl(),strpos(System::baseUrl(),'://')+3); } if (remote_user()) { $handle = $_SESSION['handle']; @@ -75,5 +85,5 @@ function redir_init(App &$a) { goaway($url); } - goaway(z_root()); + goaway(System::baseUrl()); }