First attempt to add paging in the OPDS side.
Need more polishing before being used everywhere. --HG-- extra : rebase_source : 0fb3a4b12cf83d4b450a1fca81f82addd8d58c14
This commit is contained in:
parent
43f489051d
commit
4c9e8c67d0
5 changed files with 67 additions and 27 deletions
|
@ -200,18 +200,27 @@ class OPDSRenderer
|
|||
}
|
||||
|
||||
public function render ($page) {
|
||||
global $config;
|
||||
self::startXmlDocument ($page->title, $page->idPage);
|
||||
if ($page->query)
|
||||
if ($config['cops_max_item_per_page'] != -1 && $page->totalNumber != -1)
|
||||
{
|
||||
self::getXmlStream ()->startElement ("opensearch:totalResults");
|
||||
self::getXmlStream ()->text (count($page->entryArray));
|
||||
self::getXmlStream ()->text ($page->totalNumber);
|
||||
self::getXmlStream ()->endElement ();
|
||||
self::getXmlStream ()->startElement ("opensearch:itemsPerPage");
|
||||
self::getXmlStream ()->text (count($page->entryArray));
|
||||
self::getXmlStream ()->text ($config['cops_max_item_per_page']);
|
||||
self::getXmlStream ()->endElement ();
|
||||
self::getXmlStream ()->startElement ("opensearch:startIndex");
|
||||
self::getXmlStream ()->text ("1");
|
||||
self::getXmlStream ()->text (($page->n - 1) * $config['cops_max_item_per_page'] + 1);
|
||||
self::getXmlStream ()->endElement ();
|
||||
$currentUrl = $_SERVER['QUERY_STRING'];
|
||||
$currentUrl = preg_replace ("/\&n=.*?$/", "", "?" . $_SERVER['QUERY_STRING']);
|
||||
if ($page->n > 1) {
|
||||
self::renderLink (new LinkNavigation ($currentUrl . "&n=" . ($page->n - 1), "previous", "Page precedente"));
|
||||
}
|
||||
if (($page->n + 1) * $config['cops_max_item_per_page'] < $page->totalNumber) {
|
||||
self::renderLink (new LinkNavigation ($currentUrl . "&n=" . ($page->n + 1), "next", "Page suivante"));
|
||||
}
|
||||
}
|
||||
foreach ($page->entryArray as $entry) {
|
||||
self::getXmlStream ()->startElement ("entry");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue