redirect to symbolic rather than absolute URL locations

This commit is contained in:
Friendika 2011-04-01 00:59:10 -07:00
parent d728961cbf
commit e33b6e0b5a
2 changed files with 19 additions and 4 deletions

View file

@ -447,6 +447,19 @@ function dfrn_poll_content(&$a) {
)); ));
} }
switch($destination_url) {
case 'profile':
$dest = $a->get_baseurl() . '/profile/' . $profile . '?tab=profile';
break;
case 'photos':
$dest = $a->get_baseurl() . '/photos/' . $profile;
break;
case 'status':
default:
$dest = $a->get_baseurl() . '/profile/' . $profile;
break;
}
logger("dfrn_poll: sec profile: " . $s, LOGGER_DATA); logger("dfrn_poll: sec profile: " . $s, LOGGER_DATA);
if(strlen($s) && strstr($s,'<?xml')) { if(strlen($s) && strstr($s,'<?xml')) {
@ -473,9 +486,10 @@ function dfrn_poll_content(&$a) {
); );
} }
$profile = $r[0]['nickname']; $profile = $r[0]['nickname'];
goaway((strlen($destination_url)) ? $destination_url : $a->get_baseurl() . '/profile/' . $profile);
goaway($dest);
} }
goaway($a->get_baseurl()); goaway($dest);
// NOTREACHED // NOTREACHED
} }

View file

@ -5,6 +5,7 @@ function redir_init(&$a) {
if((! local_user()) || (! ($a->argc == 2)) || (! intval($a->argv[1]))) if((! local_user()) || (! ($a->argc == 2)) || (! intval($a->argv[1])))
goaway($a->get_baseurl()); goaway($a->get_baseurl());
$cid = $a->argv[1]; $cid = $a->argv[1];
$url = ((x($_GET,'url')) ? $_GET['url'] : '');
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($cid), intval($cid),
@ -37,8 +38,8 @@ function redir_init(&$a) {
); );
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 goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec); . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest );
} }