BxDolCategoryQuery.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCore UNA Core
  7. * @{
  8. */
  9. /**
  10. * Database queries for category objects.
  11. * @see BxDolCategory
  12. */
  13. class BxDolCategoryQuery extends BxDolDb
  14. {
  15. protected $_aObject;
  16. public function __construct($aObject)
  17. {
  18. parent::__construct();
  19. $this->_aObject = $aObject;
  20. }
  21. static public function getCategoryObject ($sObject)
  22. {
  23. $oDb = BxDolDb::getInstance();
  24. $sQuery = $oDb->prepare("SELECT * FROM `sys_objects_category` WHERE `object` = ?", $sObject);
  25. $aObject = $oDb->getRow($sQuery);
  26. if (!$aObject || !is_array($aObject))
  27. return false;
  28. return $aObject;
  29. }
  30. static public function getCategoryObjectByFormAndList ($sObjectForm, $sListName)
  31. {
  32. $oDb = BxDolDb::getInstance();
  33. $sQuery = $oDb->prepare("SELECT * FROM `sys_objects_category` WHERE `form_object` = ? AND `list_name` = ?", $sObjectForm, $sListName);
  34. $aObject = $oDb->getRow($sQuery);
  35. if (!$aObject || !is_array($aObject))
  36. return false;
  37. return $aObject;
  38. }
  39. static public function getItemsNumInCategory ($aObject, $sCategoryValue)
  40. {
  41. $oDb = BxDolDb::getInstance();
  42. $sQuery = $oDb->prepare("SELECT COUNT(*) FROM `" . $aObject['table'] . "` " . $aObject['join'] . " WHERE `" . $aObject['field'] . "` = ? " . $aObject['where'], $sCategoryValue);
  43. return $oDb->getOne($sQuery);
  44. }
  45. }
  46. /** @} */