Module: appdb Branch: master Commit: c6e3cc1007896eec427479f2389e0c60cc73d2b7 URL: http://source.winehq.org/git/appdb.git/?a=commit;h=c6e3cc1007896eec427479f23...
Author: Alexander Nicolaysen Sørnes alex@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)