diff options
Diffstat (limited to 'ratatoeskr/sys/textprocessors/LegacyTextprocessor.php')
-rw-r--r-- | ratatoeskr/sys/textprocessors/LegacyTextprocessor.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ratatoeskr/sys/textprocessors/LegacyTextprocessor.php b/ratatoeskr/sys/textprocessors/LegacyTextprocessor.php new file mode 100644 index 0000000..e7e5cc2 --- /dev/null +++ b/ratatoeskr/sys/textprocessors/LegacyTextprocessor.php @@ -0,0 +1,32 @@ +<?php + + +namespace r7r\cms\sys\textprocessors; + +/** + * LegacyTextprocessor is used to wrap an old-style textprocessor into an Textprocessor object. + */ +class LegacyTextprocessor implements Textprocessor +{ + /** @var callable */ + private $fx; + + /** @var bool */ + private $visible_in_backend; + + public function __construct(callable $fx, $visible_in_backend) + { + $this->fx = $fx; + $this->visible_in_backend = (bool)$visible_in_backend; + } + + public function apply(string $input): string + { + return (string)call_user_func($this->fx, $input); + } + + public function showInBackend(): bool + { + return $this->visible_in_backend; + } +} |