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