summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Allard <derek.allard@ellislab.com>2008-05-21 06:54:39 +0200
committerDerek Allard <derek.allard@ellislab.com>2008-05-21 06:54:39 +0200
commit8ddc0db3bb835fbb880c25882b1016747527742c (patch)
tree9db607ecc9bdbfc678d92337138fc80410f3d9d2
parentbd08d84525e5f9af869d3aaba92906d2047272cc (diff)
Added support for query strings to the Pagination class, automatically detected or explicitly declared.
-rw-r--r--system/libraries/Pagination.php13
-rw-r--r--user_guide/changelog.html1
-rw-r--r--user_guide/libraries/pagination.html11
3 files changed, 20 insertions, 5 deletions
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php
index 10af3fd11..2b8d3e454 100644
--- a/system/libraries/Pagination.php
+++ b/system/libraries/Pagination.php
@@ -50,6 +50,7 @@ class CI_Pagination {
var $prev_tag_close = '';
var $num_tag_open = '&nbsp;';
var $num_tag_close = '';
+ var $page_query_string = FALSE;
/**
* Constructor
@@ -152,8 +153,16 @@ class CI_Pagination {
$start = (($this->cur_page - $this->num_links) > 0) ? $this->cur_page - ($this->num_links - 1) : 1;
$end = (($this->cur_page + $this->num_links) < $num_pages) ? $this->cur_page + $this->num_links : $num_pages;
- // Add a trailing slash to the base URL if needed
- $this->base_url = rtrim($this->base_url, '/') .'/';
+ // Is pagination being used over GET or POST? If get, add a per_page query
+ // string. If post, add a trailing slash to the base URL if needed
+ if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
+ {
+ $this->base_url = rtrim($this->base_url).AMP.'per_page=';
+ }
+ else
+ {
+ $this->base_url = rtrim($this->base_url, '/') .'/';
+ }
// And here we go...
$output = '';
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 1c1d7a3c5..568b3b961 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -69,6 +69,7 @@ SVN Revision: not currently released</p>
<li>Libraries
<ul>
<li>Set the mime type check in the <a href="libraries/file_uploading.html">Upload class</a> to reference the global mimes variable.</li>
+ <li>Added support for query strings to the <a href="libraries/pagination.html">Pagination class</a>, automatically detected or explicitly declared.</li>
</ul>
</li>
<li>Other changes
diff --git a/user_guide/libraries/pagination.html b/user_guide/libraries/pagination.html
index 5f9d8a0f1..d96f2d00c 100644
--- a/user_guide/libraries/pagination.html
+++ b/user_guide/libraries/pagination.html
@@ -117,9 +117,14 @@ something different you can specify it.</p>
<h4>$config['num_links'] = 2;</h4>
-<p>The number of "digit" links you would like before and after the selected page number. For example, the number 2
-will place two digits on either side, as in the example links at the very top of this page.</p>
-
+<p>The number of &quot;digit&quot; links you would like before and after the selected page number. For example, the number 2
+ will place two digits on either side, as in the example links at the very top of this page.</p>
+<h4>$config['page_query_string'] = TRUE</h4>
+<p>By default, the pagination library assume you are using <a href="../general/urls.html">URI Segments</a>, and constructs your links something like</p>
+<p><code>http://www.your-site.com/index.php/test/page/20</code></p>
+<p>If you have $config['enable_query_strings'] set to TRUE your links will automatically be re-written using Query Strings. This option can also be explictly set. Using $config['page_query_string'] set to TRUE, the pagination link will become.</p>
+<p><code>http://www.your-site.com/index.php?c=test&amp;m=page&amp;per_page=20</code></p>
+<p>Note that &quot;per_page&quot; is the string automatically passed.</p>
<h2>Adding Enclosing Markup</h2>
<p>If you would like to surround the entire pagination with some markup you can do it with these two prefs:</p>