Use multipage controls for version lists

This commit is contained in:
Alexander Nicolaysen Sørnes
2007-07-28 20:10:54 +00:00
committed by WineHQ
parent 09107d7142
commit 1567fa2a32
2 changed files with 55 additions and 9 deletions

View File

@@ -1408,10 +1408,30 @@ class version {
return $aCells;
}
function objectGetEntries($bQueued, $bRejected, $sOrderBy = "versionId")
function objectGetItemsPerPage($bQueued = false)
{
$aItemsPerPage = array(25, 50, 100, 200);
$iDefaultPerPage = 25;
return array($aItemsPerPage, $iDefaultPerPage);
}
function objectGetEntries($bQueued, $bRejected, $iRows = 0, $iStart = 0, $sOrderBy = "versionId")
{
$sQueued = objectManager::getQueueString($bQueued, $bRejected);
$sLimit = "";
/* Should we add a limit clause to the query? */
if($iRows || $iStart)
{
$sLimit = " LIMIT ?,?";
/* Selecting 0 rows makes no sense, so we assume the user wants to select all of them
after an offset given by iStart */
if(!$iRows)
$iRows = maintainer::objectGetEntriesCount($bQueued, $bRejected);
}
if($bQueued && !$this->canEdit())
{
/* Users should see their own rejected entries, but maintainers should
@@ -1425,7 +1445,7 @@ class version {
AND
appVersion.submitterId = '?'
AND
appVersion.queued = '?' ORDER BY '?'";
appVersion.queued = '?' ORDER BY '?'$sLimit";
else
$sQuery = "SELECT appVersion.* FROM
appVersion, appMaintainers, appFamily WHERE
@@ -1451,10 +1471,17 @@ class version {
AND
appMaintainers.queued = 'false'
AND
appVersion.queued = '?' ORDER BY '?'";
appVersion.queued = '?' ORDER BY '?'$sLimit";
$hResult = query_parameters($sQuery, $_SESSION['current']->iUserId, $sQueued,
$sOrderBy);
if($sLimit)
{
$hResult = query_parameters($sQuery, $_SESSION['current']->iUserId,
$sQueued, $sOrderBy, $iStart, $iRows);
} else
{
$hResult = query_parameters($sQuery, $_SESSION['current']->iUserId,
$sQueued, $sOrderBy);
}
} else
{
$sQuery = "SELECT appVersion.*
@@ -1463,8 +1490,16 @@ class version {
AND
appFamily.queued = 'false'
AND
appVersion.queued = '?' ORDER BY '?'";
$hResult = query_parameters($sQuery, $sQueued, $sOrderBy);
appVersion.queued = '?' ORDER BY '?'$sLimit";
if($sLimit)
{
$hResult = query_parameters($sQuery, $sQueued, $sOrderBy,
$iStart, $iRows);
} else
{
$hResult = query_parameters($sQuery, $sQueued, $sOrderBy);
}
}
if(!$hResult)

View File

@@ -168,9 +168,20 @@ class version_queue
/* $this->oVersion->displayAddItemHelp(); */
}
function objectGetEntries($bQueued, $bRejected)
function objectGetItemsPerPage($bQueued = false)
{
return $this->oVersion->objectGetEntries($bQueued, $bRejected);
return $this->oVersion->objectGetItemsPerPage($bQueued);
}
function objectGetEntriesCount($bQueued, $bRejected)
{
return $this->oVersion->objectGetEntriesCount($bQueued, $bRejected);
}
function objectGetEntries($bQueued, $bRejected, $iRows = 0, $iStart = 0, $sOrderBy = "versionId")
{
return $this->oVersion->objectGetEntries($bQueued, $bRejected, $iRows, $iStart,
$sOrderBy);
}
function objectGetHeader()