Ajaxlogcontent.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace Dotdigitalgroup\Email\Controller\Adminhtml\Connector;
  3. class Ajaxlogcontent extends \Magento\Backend\App\Action
  4. {
  5. /**
  6. * Authorization level of a basic admin session
  7. *
  8. * @see _isAllowed()
  9. */
  10. const ADMIN_RESOURCE = 'Dotdigitalgroup_Email::config';
  11. /**
  12. * @var \Dotdigitalgroup\Email\Helper\File
  13. */
  14. private $file;
  15. /**
  16. * @var \Magento\Framework\Json\Helper\Data
  17. */
  18. private $jsonHelper;
  19. /**
  20. * @var \Magento\Framework\Escaper
  21. */
  22. private $escaper;
  23. /**
  24. * Ajaxlogcontent constructor.
  25. *
  26. * @param \Dotdigitalgroup\Email\Helper\File $file
  27. * @param \Magento\Framework\Json\Helper\Data $jsonHelper
  28. * @param \Magento\Backend\App\Action\Context $context
  29. * @param \Magento\Framework\Escaper $escaper
  30. */
  31. public function __construct(
  32. \Dotdigitalgroup\Email\Helper\File $file,
  33. \Magento\Framework\Json\Helper\Data $jsonHelper,
  34. \Magento\Backend\App\Action\Context $context,
  35. \Magento\Framework\Escaper $escaper
  36. ) {
  37. $this->file = $file;
  38. $this->jsonHelper = $jsonHelper;
  39. $this->escaper = $escaper;
  40. parent::__construct($context);
  41. }
  42. /**
  43. * Ajax get log file content.
  44. *
  45. * @return null
  46. */
  47. public function execute()
  48. {
  49. $logFile = $this->getRequest()->getParam('log');
  50. switch ($logFile) {
  51. case "connector":
  52. $header = 'Marketing Automation Log';
  53. break;
  54. case "system":
  55. $header = 'Magento System Log';
  56. break;
  57. case "exception":
  58. $header = 'Magento Exception Log';
  59. break;
  60. case "debug":
  61. $header = 'Magento Debug Log';
  62. break;
  63. default:
  64. $header = 'Marketing Automation Log';
  65. }
  66. $content = nl2br($this->escaper->escapeHtml($this->file->getLogFileContent($logFile)));
  67. $response = [
  68. 'content' => $content,
  69. 'header' => $header
  70. ];
  71. $this->getResponse()->representJson($this->jsonHelper->jsonEncode($response));
  72. }
  73. }