ChangeSet ID: 31283 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner@winehq.org 2007/07/28 15:10:54
Modified files: include : version.php version_queue.php
Log message: Alexander Nicolaysen Sørnes alex@thehandofagony.com Use multipage controls for version lists
Patch: http://cvs.winehq.org/patch.py?id=31283
Old revision New revision Changes Path 1.140 1.141 +42 -7 appdb/include/version.php 1.16 1.17 +13 -2 appdb/include/version_queue.php
Index: appdb/include/version.php diff -u -p appdb/include/version.php:1.140 appdb/include/version.php:1.141 --- appdb/include/version.php:1.140 28 Jul 2007 20:10:54 -0000 +++ appdb/include/version.php 28 Jul 2007 20:10:54 -0000 @@ -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) Index: appdb/include/version_queue.php diff -u -p appdb/include/version_queue.php:1.16 appdb/include/version_queue.php:1.17 --- appdb/include/version_queue.php:1.16 28 Jul 2007 20:10:54 -0000 +++ appdb/include/version_queue.php 28 Jul 2007 20:10:54 -0000 @@ -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()