Merge pull request #1198 from fabrixxm/issues/1190

Issues/1190
This commit is contained in:
Michael Vogel 2014-10-23 22:29:50 +02:00
commit 26c82f210e
3 changed files with 17 additions and 13 deletions

View file

@ -522,21 +522,28 @@ if(! class_exists('App')) {
if (substr($this->query_string, 0, 1) == "/") if (substr($this->query_string, 0, 1) == "/")
$this->query_string = substr($this->query_string, 1); $this->query_string = substr($this->query_string, 1);
} }
if (x($_GET,'pagename')) if (x($_GET,'pagename'))
$this->cmd = trim($_GET['pagename'],'/\\'); $this->cmd = trim($_GET['pagename'],'/\\');
elseif (x($_GET,'q')) elseif (x($_GET,'q'))
$this->cmd = trim($_GET['q'],'/\\'); $this->cmd = trim($_GET['q'],'/\\');
// fix query_string
$this->query_string = str_replace($this->cmd."&",$this->cmd."?", $this->query_string);
// unix style "homedir" // unix style "homedir"
if(substr($this->cmd,0,1) === '~') if(substr($this->cmd,0,1) === '~')
$this->cmd = 'profile/' . substr($this->cmd,1); $this->cmd = 'profile/' . substr($this->cmd,1);
// Diaspora style profile url // Diaspora style profile url
if(substr($this->cmd,0,2) === 'u/') if(substr($this->cmd,0,2) === 'u/')
$this->cmd = 'profile/' . substr($this->cmd,2); $this->cmd = 'profile/' . substr($this->cmd,2);
/** /**
* *
* Break the URL path into C style argc/argv style arguments for our * Break the URL path into C style argc/argv style arguments for our

View file

@ -648,12 +648,8 @@ function dfrn_request_content(&$a) {
if(! local_user()) { if(! local_user()) {
info( 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 */ /* setup the return URL to come back to this page if they use openid */
$_SESSION['return_url'] = $a->query_string;
$stripped = str_replace('q=','',$a->query_string);
$_SESSION['return_url'] = trim($stripped,'/');
return login(); return login();
} }

View file

@ -16,9 +16,10 @@ function network_init(&$a) {
} }
} }
// convert query string to array and remove first element (which is friendica args) // convert query string to array. remove friendica args
$query_array = array(); $query_array = array();
parse_str($a->query_string, $query_array); $query_string = str_replace($a->cmd."?", "", $a->query_string);
parse_str($query_string, $query_array);
array_shift($query_array); array_shift($query_array);
// fetch last used network view and redirect if needed // fetch last used network view and redirect if needed
@ -297,11 +298,11 @@ function network_content(&$a, $update = 0) {
if(! local_user()) { if(! local_user()) {
$_SESSION['return_url'] = $a->query_string; $_SESSION['return_url'] = $a->query_string;
return login(false); return login(false);
} }
// TODO:is this really necessary? $a is already available to hooks
$arr = array('query' => $a->query_string); $arr = array('query' => $a->query_string);
call_hooks('network_content_init', $arr); call_hooks('network_content_init', $arr);