api_config.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCoreScripts Scripts
  7. * @{
  8. */
  9. $aPathInfo = pathinfo(__FILE__);
  10. require_once ($aPathInfo['dirname'] . '/../inc/header.inc.php');
  11. require_once(BX_DIRECTORY_PATH_INC . 'design.inc.php');
  12. class BxDolApiConfig
  13. {
  14. protected $_oDb;
  15. public function __construct()
  16. {
  17. $this->_oDb = BxDolDb::getInstance();
  18. }
  19. public function getQueries()
  20. {
  21. $sResult = "";
  22. $sResult .= "-- \n-- To copy 'Config API':\n-- ";
  23. $sResult .= $this->_getQueriesPagesConfigApi();
  24. $sResult .= $this->_getQueriesMenusConfigApi();
  25. $sResult .= "\n\n\n";
  26. /*
  27. * TODO: Don't include active_api for triggers (menu items, page blocks)
  28. */
  29. $sResult .= "-- \n-- To copy 'Active API':\n-- ";
  30. $sResult .= $this->_getQueriesPagesActiveApi();
  31. $sResult .= $this->_getQueriesMenusActiveApi();
  32. echo "<pre>" . $sResult . "</pre>";
  33. }
  34. protected function _getQueriesPagesConfigApi()
  35. {
  36. $aPages = $this->_oDb->getAll("SELECT `object`, `config_api` FROM `sys_objects_page` WHERE `config_api` <> '' ORDER BY `id` ASC");
  37. $sResult = "\n\n-- PAGES:\n";
  38. foreach($aPages as $aPage)
  39. $sResult .= $this->_oDb->prepareAsString("UPDATE `sys_objects_page` SET `config_api`=? WHERE `object`=?;\n", $aPage['config_api'], $aPage['object']);
  40. $aBlocks = $this->_oDb->getAll("SELECT `object`, `module`, `title_system`, `title`, `config_api` FROM `sys_pages_blocks` WHERE `config_api` <> '' ORDER BY `id` ASC");
  41. $sResult .= "\n\n-- PAGE BLOCKS:\n";
  42. foreach($aBlocks as $aBlock)
  43. $sResult .= $this->_oDb->prepareAsString("UPDATE `sys_pages_blocks` SET `config_api`=? WHERE `object`=? AND `module`=? AND `title_system`=? AND `title`=?;\n", $aBlock['config_api'], $aBlock['object'], $aBlock['module'], $aBlock['title_system'], $aBlock['title']);
  44. return $sResult;
  45. }
  46. protected function _getQueriesPagesActiveApi()
  47. {
  48. $aBlocks = $this->_oDb->getAll("SELECT `object`, `module`, `title_system`, `title`, `active_api` FROM `sys_pages_blocks` WHERE `active_api` <> '0' ORDER BY `id` ASC");
  49. $sResult = "\n\n-- PAGE BLOCKS:\n";
  50. foreach($aBlocks as $aBlock)
  51. $sResult .= $this->_oDb->prepareAsString("UPDATE `sys_pages_blocks` SET `active_api`=? WHERE `object`=? AND `module`=? AND `title_system`=? AND `title`=?;\n", $aBlock['active_api'], $aBlock['object'], $aBlock['module'], $aBlock['title_system'], $aBlock['title']);
  52. return $sResult;
  53. }
  54. protected function _getQueriesMenusConfigApi()
  55. {
  56. $aMenus = $this->_oDb->getAll("SELECT `object`, `config_api` FROM `sys_objects_menu` WHERE `config_api` <> '' ORDER BY `id` ASC");
  57. $sResult = "\n\n-- MENUS:\n";
  58. foreach($aMenus as $aMenu)
  59. $sResult .= $this->_oDb->prepareAsString("UPDATE `sys_objects_menu` SET `config_api`=? WHERE `object`=?;\n", $aMenu['config_api'], $aMenu['object']);
  60. $aItems = $this->_oDb->getAll("SELECT `set_name`, `module`, `name`, `config_api` FROM `sys_menu_items` WHERE `config_api` <> '' ORDER BY `id` ASC");
  61. $sResult .= "\n\n-- MENU ITEMS:\n";
  62. foreach($aItems as $aItem)
  63. $sResult .= $this->_oDb->prepareAsString("UPDATE `sys_menu_items` SET `config_api`=? WHERE `set_name`=? AND `module`=? AND `name`=?;\n", $aItem['config_api'], $aItem['set_name'], $aItem['module'], $aItem['name']);
  64. return $sResult;
  65. }
  66. protected function _getQueriesMenusActiveApi()
  67. {
  68. $aItems = $this->_oDb->getAll("SELECT `set_name`, `module`, `name`, `active_api` FROM `sys_menu_items` WHERE `active_api` <> '0' ORDER BY `id` ASC");
  69. $sResult = "\n\n-- MENU ITEMS:\n";
  70. foreach($aItems as $aItem)
  71. $sResult .= $this->_oDb->prepareAsString("UPDATE `sys_menu_items` SET `active_api`=? WHERE `set_name`=? AND `module`=? AND `name`=?;\n", $aItem['active_api'], $aItem['set_name'], $aItem['module'], $aItem['name']);
  72. return $sResult;
  73. }
  74. }
  75. $o = new BxDolApiConfig();
  76. $o->getQueries();
  77. /** @} */