Module: appdb Branch: master Commit: 0fe5512f08392647b183d25332f6f5581dbc43ea URL: http://source.winehq.org/git/appdb.git/?a=commit;h=0fe5512f08392647b183d2533...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Sun Aug 9 15:38:38 2009 +0200
Move matching of categories in SQL statements to a separate functions
---
include/application.php | 18 ++---------------- include/category.php | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/include/application.php b/include/application.php index 75f1bb5..256afa1 100644 --- a/include/application.php +++ b/include/application.php @@ -1022,14 +1022,7 @@ class Application { if($aOptions['appCategory']) { $oCategory = new Category($aOptions['appCategory']); - $aSubCats = $oCategory->getSubCatList(); - $sWhereFilter .= " AND ( catId = '{$aOptions['appCategory']}' "; - foreach($aSubCats as $oCat) - { - $iCatId = $oCat->objectGetId(); - $sWhereFilter .= " OR catId = '$iCatId' "; - } - $sWhereFilter .= ") "; + $sWhereFilter .= ' AND ' . $oCategory->getSqlQueryPart(); } /* Should we add a limit clause to the query? */ if($iRows || $iStart) @@ -1278,14 +1271,7 @@ class Application { if($aOptions['appCategory']) { $oCategory = new Category($aOptions['appCategory']); - $aSubCats = $oCategory->getSubCatList(); - $sWhereFilter .= " AND ( catId = '{$aOptions['appCategory']}' "; - foreach($aSubCats as $oCat) - { - $iCatId = $oCat->objectGetId(); - $sWhereFilter .= " OR catId = '$iCatId' "; - } - $sWhereFilter .= ") "; + $sWhereFilter .= ' AND ' . $oCategory->getSqlQueryPart(); }
if($sState != 'accepted' && !application::canEdit()) diff --git a/include/category.php b/include/category.php index daab5be..6156d1a 100644 --- a/include/category.php +++ b/include/category.php @@ -176,6 +176,23 @@ class Category { return $aCats; }
+ /* Returns an SQL statement that will match items in the current category + and all sub-categories */ + public function getSqlQueryPart() + { + $sRet = ''; + $aSubCats = $this->getSubCatList(); + $sRet .= " ( catId = '{$this->iCatId}' "; + foreach($aSubCats as $oCat) + { + $iCatId = $oCat->objectGetId(); + $sRet .= " OR catId = '$iCatId' "; + } + $sRet .= ") "; + + return $sRet; + } + function objectGetMail($sAction, $bMailSubmitter, $bParentAction) { /* We don't send notification mails */