BxDolStudioModulesQuery.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup DolphinStudio Dolphin Studio
  7. * @{
  8. */
  9. defined('BX_DOL') or die('hack attempt');
  10. bx_import('BxDolModuleQuery');
  11. class BxDolStudioModulesQuery extends BxDolModuleQuery {
  12. function BxDolStudioModulesQuery() {
  13. parent::BxDolModuleQuery();
  14. }
  15. function getModulesBy($aParams, &$aItems, $bReturnCount = true) {
  16. $aMethod = array('name' => 'getAll', 'params' => array(0 => 'query'));
  17. $sSelectClause = $sJoinClause = $sWhereClause = $sOrderClause = $sLimitClause = "";
  18. if(!isset($aParams['order']) || empty($aParams['order']))
  19. $sOrderClause = "ORDER BY `tm`.`id` ASC";
  20. switch($aParams['type']) {
  21. case 'all':
  22. break;
  23. case 'active':
  24. $sWhereClause = "AND `tm`.`enabled`='1'";
  25. break;
  26. }
  27. $aMethod['params'][0] = "SELECT " . ($bReturnCount ? "SQL_CALC_FOUND_ROWS" : "") . "
  28. `tm`.`id` AS `id`,
  29. `tm`.`title` AS `title`,
  30. `tm`.`vendor` AS `vendor`,
  31. `tm`.`version` AS `version`,
  32. `tm`.`product_url` AS `product_url`,
  33. `tm`.`update_url` AS `update_url`,
  34. `tm`.`path` AS `path`,
  35. `tm`.`uri` AS `uri`,
  36. `tm`.`class_prefix` AS `class_prefix`,
  37. `tm`.`db_prefix` AS `db_prefix`,
  38. `tm`.`date` AS `date`,
  39. `tm`.`enabled` AS `enabled`" . $sSelectClause . "
  40. FROM `sys_modules` AS `tm`
  41. WHERE 1 " . $sWhereClause . " " . $sOrderClause . " " . $sLimitClause;
  42. $aItems = call_user_func_array(array($this, $aMethod['name']), $aMethod['params']);
  43. if(!$bReturnCount)
  44. return !empty($aItems);
  45. return (int)$this->getOne("SELECT FOUND_ROWS()");
  46. }
  47. }
  48. /** @} */