com web/master: Paginate note search results instead of showing last 20: manage/user-notes.php
| From: | Maciej Sobaczewski | Date: | Sun, 04 Dec 2016 06:23:28 +0000 |
| Subject: | com web/master: Paginate note search results instead of showing last 20: manage/user-notes.php | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-25392@lists.php.net to get a copy of this message | ||
Commit: ab707a8a058e70f93419c046283a11c0a21135e8
Author: Sobak <msobaczewski@gmail.com> Sun, 4 Dec 2016 07:23:28 +0100
Parents: 4c0378e70421cc8294f7bf4c28f00f4420f0dc18
Branches: master
Link: http://git.php.net/?p=web/master.git;a=commitdiff;h=ab707a8a058e70f93419c046283a11c0a21135e8
Log:
Paginate note search results instead of showing last 20
Changed paths:
M manage/user-notes.php
Diff:
diff --git a/manage/user-notes.php b/manage/user-notes.php
index 35ea205..01f497a 100644
--- a/manage/user-notes.php
+++ b/manage/user-notes.php
@@ -74,6 +74,18 @@ if (!$action) {
}
if (isset($_REQUEST['keyword']) || isset($_REQUEST["view"])) {
+ // Pagination start
+ $page = isset($_REQUEST["page"]) ? intval($_REQUEST["page"]) : 0;
+ $NextPage = isset($_REQUEST["page"]) ? intval($_REQUEST["page"]) : 0;
+ $type = isset($_REQUEST["type"]) ? intval($_REQUEST["type"]) : 0;
+
+ if($page < 0) { $page = 0; }
+ if($NextPage < 0) { $NextPage = 0; }
+ $limit = $page * 10; $page++;
+ $limitVotes = $NextPage * 25; $NextPage++;
+ $PrevPage = ($NextPage - 2) > -1 ? $NextPage - 2 : 0;
+ // Pagination end
+
if(isset($_REQUEST['keyword'])) {
$sql = 'SELECT SUM(votes.vote) AS up, (COUNT(votes.vote) - SUM(votes.vote)) AS down,
note.*, UNIX_TIMESTAMP(note.ts) AS ts '.
'FROM note '.
@@ -84,19 +96,9 @@ if (!$action) {
$sql .= 'note.id = ' . (int) $_REQUEST['keyword'];
} else {
$search_heading = 'Search results for <em>' .
hscr($_REQUEST['keyword']) . '</em>';
- $sql .= 'note.note LIKE "%' . real_clean($_REQUEST['keyword']) .
'%" GROUP BY note.id LIMIT 20';
+ $sql .= "note.note LIKE '%" . real_clean($_REQUEST['keyword']) .
"%' GROUP BY note.id LIMIT $limit, 10";
}
} else {
- $page = isset($_REQUEST["page"]) ? intval($_REQUEST["page"]) : 0;
- $NextPage = isset($_REQUEST["page"]) ? intval($_REQUEST["page"]) : 0;
- $type = isset($_REQUEST["type"]) ? intval($_REQUEST["type"]) : 0;
-
- if($page < 0) { $page = 0; }
- if($NextPage < 0) { $NextPage = 0; }
- $limit = $page * 10; $page++;
- $limitVotes = $NextPage * 25; $NextPage++;
- $PrevPage = ($NextPage - 2) > -1 ? $NextPage - 2 : 0;
-
/* Added new voting information to be included in note from votes table. */
/* First notes */
if ($type == 1) {
@@ -369,8 +371,12 @@ if (!$action) {
"number of votes placed in a small timeframe to help detect spam and other
potential abuse.</p>\n".
"<p>Also note that a <em>0.0.0.0</em> IP address indicates a
client IP could not be resolved at the time of voting.</p>";
}
- if(isset($_REQUEST["view"]) && empty($search_votes)) {
- echo "<p><a href=\"?view=1&page=$page&type=$type\">Next
10</a>";
+ if((isset($_REQUEST["view"]) || isset($_REQUEST['keyword'])) &&
empty($search_votes)) {
+ $keyword = isset($_REQUEST['keyword']) ? '&keyword=' .
urlencode($_REQUEST['keyword']) : '';
+ // Setting type is here only to avoid notice or more conditions.
+ // It won't cause to show last notes (type=0) as $_REQUEST['keyword']
presence has higher priority.
+ $type = 0;
+ echo "<p><a
href=\"?view=1&page=$page&type=$type$keyword\">Next 10</a>";
} elseif (isset($_REQUEST["view"]) && !empty($search_votes)) {
echo "<p>";
if (isset($NextPage) && $NextPage > 1) {