summaryrefslogtreecommitdiff
path: root/includes/pager.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pager.inc')
-rw-r--r--includes/pager.inc174
1 files changed, 89 insertions, 85 deletions
diff --git a/includes/pager.inc b/includes/pager.inc
index 9f371e9bf..c48e11d04 100644
--- a/includes/pager.inc
+++ b/includes/pager.inc
@@ -2,41 +2,41 @@
// $Id$
/**
- @defgroup pager_api Pager API
- @{
-
- Pager external functions (API).
- **/
+ * @defgroup pager_api Pager API
+ * @{
+ *
+ * Pager external functions (API).
+ */
/**
- * Use this function when doing select queries you wish to be able to page.
- * The pager uses LIMIT-based queries to fetch only the records required
- * to render a certain page. However, it has to learn the total number
- * of records returned by the query to (among others) compute the number
- * of pages (= number of all records / number of records per page). This
- * is done by inserting "COUNT(*)" in the original query, ie. by rewriting
- * the original query, say "SELECT nid, type FROM node WHERE status = '1'
- * ORDER BY static DESC, created DESC" to read "SELECT COUNT(*) FROM node
- * WHERE status = '1' ORDER BY static DESC, created DESC". Rewriting the
- * query is accomplished using a regular expression.
+ * Use this function when doing select queries you wish to be able to page. The
+ * pager uses LIMIT-based queries to fetch only the records required to render a
+ * certain page. However, it has to learn the total number of records returned
+ * by the query to (among others) compute the number of pages (= number of all
+ * records / number of records per page). This is done by inserting "COUNT(*)"
+ * in the original query, ie. by rewriting the original query, say "SELECT nid,
+ * type FROM node WHERE status = '1' ORDER BY static DESC, created DESC" to read
+ * "SELECT COUNT(*) FROM node WHERE status = '1' ORDER BY static DESC, created
+ * DESC". Rewriting the query is accomplished using a regular expression.
*
- * Unfortunately, the rewrite rule does not always work as intended for
- * queries that (already) have a "COUNT(*)" or a "GROUP BY" clause, and
- * possibly for other complex queries. In those cases, you can optionally
- * pass a query that will be used to count the records.
+ * Unfortunately, the rewrite rule does not always work as intended for queries
+ * that (already) have a "COUNT(*)" or a "GROUP BY" clause, and possibly for
+ * other complex queries. In those cases, you can optionally pass a query that
+ * will be used to count the records.
*
- * For example, if you want to page this query: "SELECT COUNT(*), TYPE FROM
- * node GROUP BY TYPE", pager_query() would invoke the wrong query, being:
- * "SELECT COUNT(*) FROM node GROUP BY TYPE". So instead, you should pass
- * "SELECT COUNT(DISTINCT(TYPE)) FROM node" as the optional $count_query
- * parameter.
+ * For example, if you want to page this query: "SELECT COUNT(*), TYPE FROM node
+ * GROUP BY TYPE", pager_query() would invoke the wrong query, being: "SELECT
+ * COUNT(*) FROM node GROUP BY TYPE". So instead, you should pass "SELECT
+ * COUNT(DISTINCT(TYPE)) FROM node" as the optional $count_query parameter.
*
- * @param $query the SQL query that needs paging
- * @param $limit the number of rows per page
- * @param $element optional attribute to distringuish between multiple pagers on one page
- * @param $count_query an optional SQL query used to count records when rewriting the query would fail
+ * @param $query the SQL query that needs paging
+ * @param $limit the number of rows per page
+ * @param $element optional attribute to distringuish between multiple pagers
+ * on one page
+ * @param $count_query an optional SQL query used to count records when
+ * rewriting the query would fail
*
- * @return SQL query result
+ * @return SQL query result
*/
function pager_query($query, $limit = 10, $element = 0, $count_query = "") {
global $pager_from_array, $pager_total;
@@ -61,19 +61,21 @@ function pager_query($query, $limit = 10, $element = 0, $count_query = "") {
/**
* Use this function in your module or theme to display a pager.
*
- * @param $tags defines your buttons; text or img.
- * @param $limit how many nodes are displayed per page
- * @param $element support for multiple pagers per page (specify which this is)
- * @param $type allows for distinction between pagers on main page and admin page, etc.
- * Supported types are "default", "admin" and "simple".
- * @param $attributes extra html attributes for \<a href> (eg. title, onMouseOver, etc.)
+ * @param $tags defines your buttons; text or img.
+ * @param $limit how many nodes are displayed per page
+ * @param $element support for multiple pagers per page (specify which this
+ * is)
+ * @param $type allows for distinction between pagers on main page and admin
+ * page, etc. Supported types are "default", "admin" and "simple".
+ * @param $attributes extra html attributes for \<a href> (eg. title,
+ * onMouseOver, etc.)
*
- * @return string html of pager
+ * @return string html of pager
*/
function pager_display($tags = "", $limit = 10, $element = 0, $type = "default", $attributes = array()) {
return theme("pager_display_". $type, $tags, $limit, $element, $attributes);
}
-/** @} End of defgroup pager_api **/
+/** @} End of defgroup pager_api */
/**
* @addtogroup themeable
@@ -81,10 +83,9 @@ function pager_display($tags = "", $limit = 10, $element = 0, $type = "default",
*/
/**
- * DEFAULT PAGER:
- * When writing themes, you can rewrite this pager function in your
- * theme. This is the most common pager type, and thus the main one
- * to re-write in your theme.
+ * DEFAULT PAGER: When writing themes, you can rewrite this pager function in
+ * your theme. This is the most common pager type, and thus the main one to
+ * re-write in your theme.
*
* @see pager_display
*/
@@ -104,10 +105,9 @@ function theme_pager_display_default($tags = "", $limit = 10, $element = 0, $att
}
/**
- * SIMPLE PAGER:
- * When writing themes, you can rewrite this pager function in your
- * theme. Keep in mind that the pager it defines is intended to have
- * a "simple" look, possibly located in a table or block.
+ * SIMPLE PAGER: When writing themes, you can rewrite this pager function in
+ * your theme. Keep in mind that the pager it defines is intended to have a
+ * "simple" look, possibly located in a table or block.
*
* @see pager_display
*/
@@ -121,10 +121,9 @@ function theme_pager_display_simple($tags = "", $limit = 10, $element = 0, $attr
}
/**
- * ADMIN PAGER:
- * When writing themes, you can rewrite this pager function in your
- * theme. Most themes will probably NOT re-write this function, as
- * admin pages are not normally themed.
+ * ADMIN PAGER: When writing themes, you can rewrite this pager function in your
+ * theme. Most themes will probably NOT re-write this function, as admin pages
+ * are not normally themed.
*
* @see pager_display
*/
@@ -136,24 +135,25 @@ function theme_pager_display_admin($tags = "", $limit = 10, $element = 0, $attri
*/
return theme_pager_display_default($tags, $limit, $element, $attributes);
}
-/** @} End of addtogroup themeable **/
+/** @} End of addtogroup themeable */
/**
- * @name pager pieces
- * Use these pieces to construct your own custom pagers in your theme. Note
- * that you should NOT modify this file to customize your pager.
+ * @name pager pieces Use these pieces to construct your own custom pagers in
+ * your theme. Note that you should NOT modify this file to customize your
+ * pager.
* @{
*/
/**
* displays a "first-page" link
*
- * @param $text defines the name (or image) of the link
- * @param $limit how many nodes are displayed per page
- * @param $element distinguish between multiple pagers on one page
- * @param $attributes extra html attributes for \<a href> (eg. title, onMouseOver, etc.)
+ * @param $text defines the name (or image) of the link
+ * @param $limit how many nodes are displayed per page
+ * @param $element distinguish between multiple pagers on one page
+ * @param $attributes extra html attributes for \<a href> (eg. title,
+ * onMouseOver, etc.)
*
- * @return string html of this pager piece
+ * @return string html of this pager piece
*/
function pager_first($text, $limit, $element = 0, $attributes = array()) {
global $pager_from_array;
@@ -170,13 +170,14 @@ function pager_first($text, $limit, $element = 0, $attributes = array()) {
/**
* displays a "previous-page" link
*
- * @param $text defines the name (or image) of the link
- * @param $limit how many nodes are displayed per page
- * @param $element distinguish between multiple pagers on one page
- * @param $n how many pages we move back (defaults to 1)
- * @param $attributes extra html attributes for \<a href> (eg. title, onMouseOver, etc.)
+ * @param $text defines the name (or image) of the link
+ * @param $limit how many nodes are displayed per page
+ * @param $element distinguish between multiple pagers on one page
+ * @param $n how many pages we move back (defaults to 1)
+ * @param $attributes extra html attributes for \<a href> (eg. title,
+ * onMouseOver, etc.)
*
- * @return string html of this pager piece
+ * @return string html of this pager piece
*/
function pager_previous($text, $limit, $element = 0, $n = 1, $attributes = array()) {
global $pager_from_array;
@@ -190,13 +191,14 @@ function pager_previous($text, $limit, $element = 0, $n = 1, $attributes = array
/**
* displays a "next-page" link
*
- * @param $text defines the name (or image) of the link
- * @param $limit how many nodes are displayed per page
- * @param $element distinguish between multiple pagers on one page
- * @param $n how many pages we move back (defaults to 1)
- * @param $attributes extra html attributes for \<a href> (eg. title, onMouseOver, etc.)
+ * @param $text defines the name (or image) of the link
+ * @param $limit how many nodes are displayed per page
+ * @param $element distinguish between multiple pagers on one page
+ * @param $n how many pages we move back (defaults to 1)
+ * @param $attributes extra html attributes for \<a href> (eg. title,
+ * onMouseOver, etc.)
*
- * @return string html of this pager piece
+ * @return string html of this pager piece
*/
function pager_next($text, $limit, $element = 0, $n = 1, $attributes = array()) {
global $pager_from_array, $pager_total;
@@ -210,12 +212,13 @@ function pager_next($text, $limit, $element = 0, $n = 1, $attributes = array())
/**
* displays a "last-page" link
*
- * @param $text defines the name (or image) of the link
- * @param $limit how many nodes are displayed per page
- * @param $element distinguish between multiple pagers on one page
- * @param $attributes extra html attributes for \<a href> (eg. title, onMouseOver, etc.)
+ * @param $text defines the name (or image) of the link
+ * @param $limit how many nodes are displayed per page
+ * @param $element distinguish between multiple pagers on one page
+ * @param $attributes extra html attributes for \<a href> (eg. title,
+ * onMouseOver, etc.)
*
- * @return string html of this pager piece
+ * @return string html of this pager piece
*/
function pager_last($text, $limit, $element = 0, $attributes = array()) {
global $pager_from_array, $pager_total;
@@ -233,11 +236,11 @@ function pager_last($text, $limit, $element = 0, $attributes = array()) {
/**
* displays "%d through %d of $d" type detail about the cur page
*
- * @param $limit how many nodes are displayed per page
- * @param $element distinguish between multiple pagers on one page
- * @param $format allows you to reword the format string
+ * @param $limit how many nodes are displayed per page
+ * @param $element distinguish between multiple pagers on one page
+ * @param $format allows you to reword the format string
*
- * @return string html of this pager piece
+ * @return string html of this pager piece
*/
function pager_detail($limit, $element = 0, $format = "%d through %d of %d.") {
global $pager_from_array, $pager_total;
@@ -252,13 +255,14 @@ function pager_detail($limit, $element = 0, $format = "%d through %d of %d.") {
/**
* displays a list of nearby pages with additional nodes
*
- * @param $limit how many nodes are displayed per page
- * @param $element distinguish between multiple pagers on one page
- * @param $quantity defines the length of the page list
- * @param $text optional text to display before the page list
- * @param $attributes extra html attributes for \<a href> (eg. title, onMouseOver, etc.)
+ * @param $limit how many nodes are displayed per page
+ * @param $element distinguish between multiple pagers on one page
+ * @param $quantity defines the length of the page list
+ * @param $text optional text to display before the page list
+ * @param $attributes extra html attributes for \<a href> (eg. title,
+ * onMouseOver, etc.)
*
- * @return string html of this pager piece
+ * @return string html of this pager piece
*/
function pager_list($limit, $element = 0, $quantity = 5, $text = "", $attributes = array()) {
global $pager_from_array, $pager_total;