diff options
Diffstat (limited to 'library/Reporting/Reports')
-rw-r--r-- | library/Reporting/Reports/SystemReport.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/library/Reporting/Reports/SystemReport.php b/library/Reporting/Reports/SystemReport.php new file mode 100644 index 0000000..8a3d8dd --- /dev/null +++ b/library/Reporting/Reports/SystemReport.php @@ -0,0 +1,39 @@ +<?php +// Icinga Reporting | (c) 2018 Icinga GmbH | GPLv2 + +namespace Icinga\Module\Reporting\Reports; + +use Icinga\Module\Reporting\Hook\ReportHook; +use Icinga\Module\Reporting\Timerange; +use ipl\Html\HtmlString; + +class SystemReport extends ReportHook +{ + public function getName() + { + return 'System'; + } + + public function getHtml(Timerange $timerange, array $config = null) + { + ob_start(); + phpinfo(); + $html = ob_get_clean(); + + $doc = new \DOMDocument(); + @$doc->loadHTML($html); + + $style = $doc->getElementsByTagName('style')->item(0); + $style->parentNode->removeChild($style); + + $title = $doc->getElementsByTagName('title')->item(0); + $title->parentNode->removeChild($title); + + $meta = $doc->getElementsByTagName('meta')->item(0); + $meta->parentNode->removeChild($meta); + + $doc->getElementsByTagName('div')->item(0)->setAttribute('class', 'system-report'); + + return new HtmlString($doc->saveHTML()); + } +} |