Alexander Nicolaysen Sørnes : Comments Management: Allow showing only comments for unmaintained versions
Alexander Nicolaysen Sørnes
asornes at winehq.org
Thu Nov 12 17:18:40 CST 2009
Module: appdb
Branch: master
Commit: ee0f672aa360dc0fc2f8e4dbdbae72b72dfc426e
URL: http://source.winehq.org/git/appdb.git/?a=commit;h=ee0f672aa360dc0fc2f8e4dbdbae72b72dfc426e
Author: Alexander Nicolaysen Sørnes <alexander at linux-xqqm.(none)>
Date: Thu Nov 12 17:58:37 2009 +0100
Comments Management: Allow showing only comments for unmaintained versions
---
include/comment.php | 38 ++++++++++++++++++++++++++++++++++----
1 files changed, 34 insertions(+), 4 deletions(-)
diff --git a/include/comment.php b/include/comment.php
index a4732f7..8625236 100644
--- a/include/comment.php
+++ b/include/comment.php
@@ -312,8 +312,27 @@ class Comment {
return false;
}
- public static function objectGetEntries($sState, $iNumRows = 0, $iStart = 0, $sOrderBy = 'commentId')
+ public function objectGetFilterInfo()
{
+ $oFilter = new FilterInterface();
+ $oFilter->AddFilterInfo('onlyWithoutMaintainers', 'Only show comments for versions without maintainers', array(FILTER_OPTION_BOOL), FILTER_VALUES_OPTION_BOOL, array('false','true'));
+ return $oFilter;
+ }
+
+
+ public static function objectGetEntries($sState, $iNumRows = 0, $iStart = 0, $sOrderBy = 'commentId', $bAscending = true, $oFilters = null)
+ {
+ $sExtraTables = '';
+ $aOptions = $oFilters ? $oFilters->getOptions() : array('onlyWithoutMaintainers' => 'false');
+ $sWhereFilter = '';
+
+ if($aOptions['onlyWithoutMaintainers'] == 'true')
+ {
+ $sExtraTables = ',appVersion';
+
+ $sWhereFilter .= " WHERE appVersion.hasMaintainer = 'false' AND appVersion.versionId = appComments.versionId";
+ }
+
$sLimit = '';
if($iNumRows)
@@ -326,7 +345,7 @@ class Comment {
if($sOrderBy)
$sOrderBy = " ORDER BY ".mysql_real_escape_string($sOrderBy);
- $hResult = query_parameters("SELECT * FROM appComments$sOrderBy$sLimit");
+ $hResult = query_parameters("SELECT * FROM appComments$sExtraTables$sWhereFilter$sOrderBy$sLimit");
return $hResult;
}
@@ -336,9 +355,20 @@ class Comment {
return 'commentId';
}
- public static function objectGetEntriesCount($sState)
+ public static function objectGetEntriesCount($sState, $oFilters = null)
{
- $hResult = query_parameters("SELECT COUNT(commentId) as count FROM appComments");
+ $sExtraTables = '';
+ $aOptions = $oFilters ? $oFilters->getOptions() : array('onlyWithoutMaintainers' => 'false');
+ $sWhereFilter = '';
+
+ if($aOptions['onlyWithoutMaintainers'] == 'true')
+ {
+ $sExtraTables = ',appVersion';
+
+ $sWhereFilter .= " WHERE appVersion.hasMaintainer = 'false' AND appVersion.versionId = appComments.versionId";
+ }
+
+ $hResult = query_parameters("SELECT COUNT(commentId) as count FROM appComments$sExtraTables$sWhereFilter");
if(!$hResult)
return null;
More information about the wine-cvs
mailing list