diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:43:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:43:12 +0000 |
commit | cd989f9c3aff968e19a3aeabc4eb9085787a6673 (patch) | |
tree | fbff2135e7013f196b891bbde54618eb050e4aaf /library/Director/ConfigDiff.php | |
parent | Initial commit. (diff) | |
download | icingaweb2-module-director-cd989f9c3aff968e19a3aeabc4eb9085787a6673.tar.xz icingaweb2-module-director-cd989f9c3aff968e19a3aeabc4eb9085787a6673.zip |
Adding upstream version 1.10.2.upstream/1.10.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/Director/ConfigDiff.php')
-rw-r--r-- | library/Director/ConfigDiff.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/library/Director/ConfigDiff.php b/library/Director/ConfigDiff.php new file mode 100644 index 0000000..acf5f7b --- /dev/null +++ b/library/Director/ConfigDiff.php @@ -0,0 +1,47 @@ +<?php + +namespace Icinga\Module\Director; + +use gipfl\Diff\HtmlRenderer\InlineDiff; +use gipfl\Diff\HtmlRenderer\SideBySideDiff; +use gipfl\Diff\PhpDiff; +use ipl\Html\ValidHtml; +use InvalidArgumentException; + +/** + * @deprecated will be removed with v1.9 - please use gipfl\Diff + */ +class ConfigDiff implements ValidHtml +{ + protected $renderClass; + + /** @var PhpDiff */ + protected $phpDiff; + + public function __construct($a, $b) + { + $this->phpDiff = new PhpDiff($a, $b); + } + + public function render() + { + $class = $this->renderClass; + return (new $class($this->phpDiff))->render(); + } + + public function setHtmlRenderer($name) + { + switch ($name) { + case 'SideBySide': + $this->renderClass = SideBySideDiff::class; + break; + case 'Inline': + $this->renderClass = InlineDiff::class; + break; + default: + throw new InvalidArgumentException("There is no known '$name' renderer"); + } + + return $this; + } +} |