Module: appdb Branch: master Commit: 64f3219c94e2d2806dd0ce866b0ad8e7917013c0 URL: http://source.winehq.org/git/appdb.git/?a=commit;h=64f3219c94e2d2806dd0ce866...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Mon Jul 14 14:33:18 2008 +0200
Let application::getVersions() optionally return only accepted versions
---
include/application.php | 24 ++++++++++++------------ include/version.php | 2 +- screenshots.php | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/include/application.php b/include/application.php index 6b2cd77..a7ffa09 100644 --- a/include/application.php +++ b/include/application.php @@ -101,20 +101,20 @@ class Application { } }
- private function _internal_retrieve_all_versions($bIncludeObsolete = TRUE, $bIncludeDeleted = false) + private function _internal_retrieve_all_versions($bOnlyAccepted = false, $bIncludeObsolete = TRUE, $bIncludeDeleted = false) { + $sExtraTerms = ''; + if(!$bIncludeObsolete) - $sObsolete = " AND obsoleteBy = '0'"; - else - $sObsolete = ""; + $sExtraTerms .= " AND obsoleteBy = '0'";
- if($bIncludeDeleted) - $sExcludeDeleted = ""; - else - $sExcludeDeleted = " AND state != 'deleted'"; + if($bOnlyAccepted) + $sExtraTerms .= " AND state = 'accepted'"; + else if(!$bIncludeDeleted) + $sExtraTerms .= " AND state != 'deleted'";
$sQuery = "SELECT versionId FROM appVersion WHERE - appId = '?'$sObsolete$sExcludeDeleted ORDER by versionName"; + appId = '?'$sExtraTerms ORDER by versionName"; $hResult = query_parameters($sQuery, $this->iAppId); return $hResult; } @@ -1224,7 +1224,7 @@ class Application { return $oRow->count; }
- public function getVersions($bIncludeObsolete = TRUE, $bIncludeDeleted = false) + public function getVersions($bOnlyAccepted = false, $bIncludeObsolete = TRUE, $bIncludeDeleted = false) { /* If no id is set we cannot query for the versions, but perhaps objects are already cached? */ if(!$this->iAppId) @@ -1232,7 +1232,7 @@ class Application {
$aVersions = array();
- $hResult = $this->_internal_retrieve_all_versions($bIncludeObsolete, $bIncludeDeleted); + $hResult = $this->_internal_retrieve_all_versions($bOnlyAccepted, $bIncludeObsolete, $bIncludeDeleted);
while($oRow = mysql_fetch_object($hResult)) $aVersions[] = new version($oRow->versionId); @@ -1268,7 +1268,7 @@ class Application { $aChildren = array();
/* Get versions */ - foreach($this->getVersions(true, $bIncludeDeleted) as $oVersion) + foreach($this->getVersions(false, true, $bIncludeDeleted) as $oVersion) { $aChildren += $oVersion->objectGetChildren($bIncludeDeleted); $aChildren[] = $oVersion; diff --git a/include/version.php b/include/version.php index e04955b..3526012 100644 --- a/include/version.php +++ b/include/version.php @@ -687,7 +687,7 @@ class version {
echo "<input type="hidden" name="iObsoleteBy" value="". $oVersionInDB->iObsoleteBy."" type="hidden" >\n"; - } else if(sizeof($oApp->getVersions(FALSE)) > 1) + } else if(sizeof($oApp->getVersions(TRUE, FALSE)) > 1) { if($this->iObsoleteBy) $sObsolete = "checked="checked""; diff --git a/screenshots.php b/screenshots.php index aa55225..fdb1d0b 100644 --- a/screenshots.php +++ b/screenshots.php @@ -165,7 +165,7 @@ if($aClean['iVersionId'] && $_SESSION['current']->isLoggedIn()) echo html_frame_start("Upload Screenshot", "30%"); echo 'If you would like to submit screenshots, please select an application version below.<br>'; echo '<ul>'; - foreach($oApp->getVersions() as $oVersion) + foreach($oApp->getVersions(true) as $oVersion) echo '<li><a href="'.BASE.'screenshots.php?iVersionId='.$oVersion->objectGetId().'">'.$oVersion->sName.'</a></li>';
echo '</ul>';