summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2012-09-18 13:57:09 +0200
committerLukas Fleischer <archlinux@cryptocrack.de>2012-09-18 14:05:11 +0200
commit2e552cbcad8f4abd64041c793851b7420dd5361c (patch)
tree3c36cbf15d5073a04f548456ed6fe97f923a4aab
parent20704e90534beeb0ce09276bd7954086c3b12d7a (diff)
downloadaur-2e552cbcad8f4abd64041c793851b7420dd5361c.tar.gz
aur-2e552cbcad8f4abd64041c793851b7420dd5361c.tar.xz
Do not set GET parameters in the routing framework
Setting GET parameters manually is bad style and causes some strange side effects when using virtual URLs and mkurl(). Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
-rw-r--r--web/html/index.php7
-rw-r--r--web/html/packages.php25
2 files changed, 19 insertions, 13 deletions
diff --git a/web/html/index.php b/web/html/index.php
index 2d80a945..5c568689 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -9,8 +9,11 @@ $tokens = explode('/', $path);
if (isset($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
if (isset($tokens[2])) {
- unset($_GET['ID']);
- $_GET['N'] = $tokens[2];
+ /* TODO: Create a proper data structure to pass variables from
+ * the routing framework to the individual pages instead of
+ * initializing arbitrary variables here. */
+ $pkgname = $tokens[2];
+ $pkgid = pkgid_from_name($pkgname);
if (isset($tokens[3])) {
if ($tokens[3] == 'voters') {
diff --git a/web/html/packages.php b/web/html/packages.php
index ec76e41a..44f76719 100644
--- a/web/html/packages.php
+++ b/web/html/packages.php
@@ -7,11 +7,22 @@ set_lang(); # this sets up the visitor's language
include_once('pkgfuncs.inc.php'); # package specific functions
check_sid(); # see if they're still logged in
+# Retrieve package ID and name, unless initialized by the routing framework
+if (!isset($pkgid) || !isset($pkgname)) {
+ if (isset($_GET['ID'])) {
+ $pkgid = intval($_GET['ID']);
+ $pkgname = pkgname_from_id($_GET['ID']);
+ } else if (isset($_GET['N'])) {
+ $pkgid = pkgid_from_name($_GET['N']);
+ $pkgname = $_GET['N'];
+ } else {
+ unset($pkgid, $pkgname);
+ }
+}
+
# Set the title to the current query if required
-if (isset($_GET['ID']) && ($pkgname = pkgname_from_id($_GET['ID']))) {
+if (isset($pkgname)) {
$title = $pkgname;
-} else if (isset($_GET['N'])) {
- $title = $pkgname = $_GET['N'];
} else if (!empty($_GET['K'])) {
$title = __("Search Criteria") . ": " . $_GET['K'];
} else {
@@ -90,14 +101,6 @@ html_header($title);
<?php endif; ?>
<?php
-if (isset($_GET['ID'])) {
- $pkgid = intval($_GET['ID']);
-} else if (isset($_GET['N'])) {
- $pkgid = pkgid_from_name($_GET['N']);
-} else {
- unset($pkgid);
-}
-
if (isset($pkgid)) {
include('pkg_search_form.php');
if ($pkgid) {