Alexander Nicolaysen Sørnes : browse by developer: Allow filtering by name

Chris Morgan cmorgan at winehq.org
Mon Jun 16 18:58:51 CDT 2008


Module: appdb
Branch: master
Commit: c6e3cc1007896eec427479f2389e0c60cc73d2b7
URL:    http://source.winehq.org/git/appdb.git/?a=commit;h=c6e3cc1007896eec427479f2389e0c60cc73d2b7

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Sun Jun 15 22:01:57 2008 +0200

browse by developer: Allow filtering by name

---

 include/vendor.php |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/include/vendor.php b/include/vendor.php
index 4e8d759..f9dfcf5 100644
--- a/include/vendor.php
+++ b/include/vendor.php
@@ -247,18 +247,30 @@ class Vendor {
         return 'vendorName';
     }
 
-    function objectGetEntries($sState, $iRows = 0, $iStart = 0, $sOrderBy = 'vendorName', $bAscending = TRUE)
+    function objectGetFilterInfo()
+    {
+        $oFilter = new FilterInterface();
+
+        $oFilter->AddFilterInfo('vendorName', 'Name', array(FILTER_CONTAINS, FILTER_STARTS_WITH, FILTER_ENDS_WITH), FILTER_VALUES_NORMAL);
+        return $oFilter;
+    }
+
+    function objectGetEntries($sState, $iRows = 0, $iStart = 0, $sOrderBy = 'vendorName', $bAscending = TRUE, $oFilter = null)
     {
         /* Not implemented */
         if($sState == 'rejected')
             return FALSE;
 
+        $sWhereFilter = $oFilter ? $oFilter->getWhereClause() : '';
         $sOrder = $bAscending ? 'ASC' : 'DESC';
 
+        if($sWhereFilter)
+            $sWhereFilter = " AND $sWhereFilter";
+
         if(!$iRows)
-            $iRows = Vendor::objectGetEntriesCount($sState);
+            $iRows = Vendor::objectGetEntriesCount($sState, $oFilter);
 
-        $hResult = query_parameters("SELECT * FROM vendor WHERE state = '?'
+        $hResult = query_parameters("SELECT * FROM vendor WHERE state = '?' $sWhereFilter
                                      ORDER BY $sOrderBy $sOrder LIMIT ?,?",
                                      $sState, $iStart, $iRows);
 
@@ -399,13 +411,17 @@ class Vendor {
         return "<a href=\"".$this->objectMakeUrl()."\">$this->sName</a>";
     }
 
-    function objectGetEntriesCount($sState)
+    function objectGetEntriesCount($sState, $oFilter = null)
     {
         /* Not implemented */
         if($sState == 'rejected')
             return FALSE;
 
-        $hResult = query_parameters("SELECT COUNT(vendorId) as count FROM vendor WHERE state = '?'",
+        $sWhereClause = $oFilter ? $oFilter->getWhereClause() : '';
+        if($sWhereClause)
+            $sWhereClause = " AND $sWhereClause";
+
+        $hResult = query_parameters("SELECT COUNT(vendorId) as count FROM vendor WHERE state = '?' $sWhereClause",
                                      $sState);
 
         if(!$hResult)




More information about the wine-cvs mailing list