BxDolFactoryObjectQuery.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php defined('BX_DOL') or defined('BX_DOL_INSTALL') 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. * Base class for DB classes associated with object instance
  11. */
  12. class BxDolFactoryObjectQuery extends BxDolDb
  13. {
  14. protected $_aObject;
  15. public function __construct($aObject = array())
  16. {
  17. parent::__construct();
  18. $this->_aObject = $aObject;
  19. }
  20. static public function getObjectFromTable($sObject, $sTable, $bUseCache = false)
  21. {
  22. $oDb = BxDolDb::getInstance();
  23. $aObject = false;
  24. if ($bUseCache) {
  25. $a = BxDolDb::getInstance()->fromCache($sTable, 'getAllWithKey', "SELECT * FROM `$sTable`", 'object');
  26. if ($a && isset($a[$sObject]))
  27. $aObject = $a[$sObject];
  28. }
  29. else {
  30. $sQuery = $oDb->prepare("SELECT * FROM `$sTable` WHERE `object` = ?", $sObject);
  31. $aObject = $oDb->getRow($sQuery);
  32. if(!$aObject || !is_array($aObject))
  33. $aObject = false;
  34. }
  35. return $aObject;
  36. }
  37. static public function getObjectsFromTable ($sTable)
  38. {
  39. $aObjects = BxDolDb::getInstance()->getAll("SELECT * FROM `$sTable`");
  40. if(empty($aObjects) || !is_array($aObjects))
  41. return array();
  42. return $aObjects;
  43. }
  44. }
  45. /** @} */