summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@n0v4.com>2011-02-22 17:52:26 +1100
committerSavetheinternet <savetheinternet@n0v4.com>2011-02-22 17:52:26 +1100
commit4de6598440fb7bdc76a8c220181829a8096c391a (patch)
tree7d07a9d7f99e2b371f01534ced851c26764041d8
parent3defed1c0b265895c2058029af98e1f595d8b0bb (diff)
Fix for page next/prev buttons in mod.php
-rw-r--r--inc/functions.php31
-rw-r--r--mod.php4
2 files changed, 25 insertions, 10 deletions
diff --git a/inc/functions.php b/inc/functions.php
index dabdbb64..19491d76 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -499,22 +499,33 @@
// There is no previous page.
$btn['prev'] = 'Previous';
} else {
- $btn['prev'] = '<form action="' . $root .
- ($num == 1 ?
- $config['file_index']
- :
- sprintf($config['file_page'], $num)
- ) .
- '" method="' . ($mod ? 'post' : 'get') . '"><input type="submit" value="Previous" /></form>';
+ $loc = ($mod ? '?/' . $board['uri'] . '/' : '') .
+ ($num == 1 ?
+ $config['file_index']
+ :
+ sprintf($config['file_page'], $num)
+ );
+
+ $btn['prev'] = '<form action="' . ($mod ? '' : $root . $loc) . '" method="get">' .
+ ($mod ?
+ '<input type="hidden" name="status" value="301" />' .
+ '<input type="hidden" name="r" value="' . htmlentities($loc) . '" />'
+ :'') .
+ '<input type="submit" value="Previous" /></form>';
}
if($num == count($pages) - 1) {
// There is no next page.
$btn['next'] = 'Next';
} else {
- $btn['next'] = '<form action="' . $root .
- sprintf($config['file_page'], $num + 2) .
- '" method="' . ($mod ? 'post' : 'get') . '"><input type="submit" value="Next" /></form>';
+ $loc = ($mod ? '?/' . $board['uri'] . '/' : '') . sprintf($config['file_page'], $num + 2);
+
+ $btn['next'] = '<form action="' . ($mod ? '' : $root . $loc) . '" method="get">' .
+ ($mod ?
+ '<input type="hidden" name="status" value="301" />' .
+ '<input type="hidden" name="r" value="' . htmlentities($loc) . '" />'
+ :'') .
+ '<input type="submit" value="Next" /></form>';
}
}
}
diff --git a/mod.php b/mod.php
index 340b6d80..48c63c08 100644
--- a/mod.php
+++ b/mod.php
@@ -59,6 +59,10 @@
loginForm(false, false, '?' . $query);
}
} else {
+ // Redirect (for index pages)
+ if(count($_GET) == 2 && isset($_GET['status']) && isset($_GET['r']))
+ header('Location: ' . $_GET['r'], true, $_GET['status']);
+
// A sort of "cache"
// Stops calling preg_quote and str_replace when not needed; only does it once
$regex = Array(