Config.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Reports\Model;
  7. use Magento\Framework\Module\Dir;
  8. /**
  9. * Configuration for reports
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Config extends \Magento\Framework\DataObject
  14. {
  15. /**
  16. * @var \Magento\Framework\Module\Dir\Reader
  17. */
  18. protected $_moduleReader;
  19. /**
  20. * @var \Magento\Store\Model\StoreManagerInterface
  21. */
  22. protected $_storeManager;
  23. /**
  24. * @param \Magento\Framework\Module\Dir\Reader $moduleReader
  25. * @param \Magento\Store\Model\StoreManagerInterface $storeManager
  26. * @param array $data
  27. */
  28. public function __construct(
  29. \Magento\Framework\Module\Dir\Reader $moduleReader,
  30. \Magento\Store\Model\StoreManagerInterface $storeManager,
  31. array $data = []
  32. ) {
  33. parent::__construct($data);
  34. $this->_moduleReader = $moduleReader;
  35. $this->_storeManager = $storeManager;
  36. }
  37. /**
  38. * Return reports global configuration
  39. *
  40. * @return string
  41. */
  42. public function getGlobalConfig()
  43. {
  44. $dom = new \DOMDocument();
  45. $dom->load($this->_moduleReader->getModuleDir(Dir::MODULE_ETC_DIR, 'Magento_Reports') . '/flexConfig.xml');
  46. $baseUrl = $dom->createElement('baseUrl');
  47. $baseUrl->nodeValue = $this->_storeManager->getBaseUrl();
  48. $dom->documentElement->appendChild($baseUrl);
  49. return $dom->saveXML();
  50. }
  51. /**
  52. * Return reports language
  53. *
  54. * @return string
  55. */
  56. public function getLanguage()
  57. {
  58. return file_get_contents(
  59. $this->_moduleReader->getModuleDir(Dir::MODULE_ETC_DIR, 'Magento_Reports') . '/flexLanguage.xml'
  60. );
  61. }
  62. /**
  63. * Return reports dashboard
  64. *
  65. * @return string
  66. */
  67. public function getDashboard()
  68. {
  69. return file_get_contents(
  70. $this->_moduleReader->getModuleDir(Dir::MODULE_ETC_DIR, 'Magento_Reports') . '/flexDashboard.xml'
  71. );
  72. }
  73. }