$title";
}
function generate_pagination_image($id, $alt)
{
global $webimroot;
return "";
}
function prepare_pagination($items_count, $default_items_per_page = 15)
{
global $page;
if ($items_count) {
$items_per_page = verifyparam("items", "/^\d{1,3}$/", $default_items_per_page);
if ($items_per_page < 2)
$items_per_page = 2;
$total_pages = div($items_count + $items_per_page - 1, $items_per_page);
$curr_page = verifyparam("page", "/^\d{1,6}$/", 1);
if ($curr_page < 1)
$curr_page = 1;
if ($curr_page > $total_pages)
$curr_page = $total_pages;
$start_index = ($curr_page - 1) * $items_per_page;
$end_index = min($start_index + $items_per_page, $items_count);
$page['pagination'] =
array("page" => $curr_page, "items" => $items_per_page, "total" => $total_pages,
"count" => $items_count, "start" => $start_index, "end" => $end_index,
"limit" => "LIMIT $start_index," . ($end_index - $start_index));
} else {
$page['pagination'] = true;
}
}
function setup_pagination($items, $default_items_per_page = 15)
{
global $page;
prepare_pagination($items ? count($items) : 0, $default_items_per_page);
if ($items && count($items) > 0) {
$p = $page['pagination'];
$page['pagination.items'] = array_slice($items, $p['start'], $p['end'] - $p['start']);
} else {
$page['pagination.items'] = false;
}
}
/**
* Selects rows from database taking pagination into account.
*
* @global array $page
* @param string $fields Selected fields
* @param string $table Table name in database
* @param string $conditions Where close
* @param string $order Order clause
* @param string $countfields Field, substituted in SQL COUNT function
* @param array $values Associative array of substituted values. Keys are named placeholders in the
* query(see Database::query() and its $values parameter description)
*
* @see Database::query()
*/
function select_with_pagintation($fields, $table, $conditions, $order, $countfields, $values)
{
global $page;
$db = Database::getInstance();
list($count) = $db->query(
"select count(". ($countfields ? $countfieds : "*") .") from {$table} " .
"where " . (count($conditions) ? implode(" and ", $conditions) : "") .
($order ? " " . $order : ""),
$values,
array(
'return_rows' => Database::RETURN_ONE_ROW,
'fetch_type' => Database::FETCH_NUM
)
);
prepare_pagination($count);
if ($count) {
$p = $page['pagination'];
$limit = $p['limit'];
$page['pagination.items'] = $db->query(
"select {$fields} from {$table} " .
"where " . (count($conditions) ? implode(" and ", $conditions) : "") .
($order ? " " . $order : "") . " " . $limit,
$values,
array('return_rows' => Database::RETURN_ALL_ROWS)
);
} else {
$page['pagination.items'] = false;
}
}
function setup_empty_pagination()
{
global $page;
$page['pagination.items'] = false;
$page['pagination'] = false;
}
function generate_pagination($pagination, $bottom = true)
{
global $pagination_spacing, $links_on_page;
$result = getlocal2("tag.pagination.info",
array($pagination['page'], $pagination['total'], $pagination['start'] + 1, $pagination['end'], $pagination['count'])) . "
";
if ($pagination['total'] > 1) {
if (!$bottom) {
$result = "";
} else {
$result .= "
";
}
$result .= "