diff options
author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-12-18 12:39:02 +0000 |
---|---|---|
committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-12-18 12:39:02 +0000 |
commit | a2eca798585a345f17d2e57d27d29cb3abe17ee3 (patch) | |
tree | b2ed1002c8f12165476a718f40c479bf4a141072 /engine/lib/pagehandler.php | |
parent | e086d9c17d513b08d1625e4d3b2dc0235f4e4030 (diff) | |
download | elgg-a2eca798585a345f17d2e57d27d29cb3abe17ee3.tar.gz elgg-a2eca798585a345f17d2e57d27d29cb3abe17ee3.tar.bz2 |
better parsing of query for action and page handlers
git-svn-id: http://code.elgg.org/elgg/trunk@3768 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/lib/pagehandler.php')
-rw-r--r-- | engine/lib/pagehandler.php | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/engine/lib/pagehandler.php b/engine/lib/pagehandler.php index 79ac70c70..99b50a2bf 100644 --- a/engine/lib/pagehandler.php +++ b/engine/lib/pagehandler.php @@ -20,16 +20,20 @@ function page_handler($handler, $page) { set_context($handler); - //parse_url($_SERVER['REQUEST_URI']); - $query = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?') + 1); - if (isset($query)) { - parse_str($query, $query_arr); - if (is_array($query_arr)) { - foreach($query_arr as $name => $val) { - set_input($name, $val); + // if there are any query parameters, make them available from get_input + if (strpos($_SERVER['REQUEST_URI'], '?') !== FALSE) { + $query = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?') + 1); + if (isset($query)) { + parse_str($query, $query_arr); + if (is_array($query_arr)) { + foreach($query_arr as $name => $val) { + set_input($name, $val); + } } } } + + // if page url ends in a / then last element of $page is an empty string $page = explode('/',$page); if (!isset($CONFIG->pagehandler) || empty($handler)) { |