$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 .= ""; } return $result; } ?>