diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Plugins/TransformationsPlugin.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/TransformationsPlugin.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Plugins/TransformationsPlugin.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/TransformationsPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/TransformationsPlugin.php new file mode 100644 index 0000000..32b1abe --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Plugins/TransformationsPlugin.php @@ -0,0 +1,69 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Abstract class for the transformations plugins + * + * @package PhpMyAdmin + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Plugins; + +use stdClass; + +/** + * Provides a common interface that will have to + * be implemented by all of the transformations plugins. + * + * @package PhpMyAdmin + */ +abstract class TransformationsPlugin implements TransformationsInterface +{ + /** + * Does the actual work of each specific transformations plugin. + * + * @param array $options transformation options + * + * @return void + */ + public function applyTransformationNoWrap(array $options = []) + { + } + + /** + * Does the actual work of each specific transformations plugin. + * + * @param string $buffer text to be transformed + * @param array $options transformation options + * @param stdClass|null $meta meta information + * + * @return string the transformed text + */ + abstract public function applyTransformation( + $buffer, + array $options = [], + ?stdClass $meta = null + ); + + /** + * Returns passed options or default values if they were not set + * + * @param string[] $options List of passed options + * @param string[] $defaults List of default values + * + * @return string[] List of options possibly filled in by defaults. + */ + public function getOptions(array $options, array $defaults) + { + $result = []; + foreach ($defaults as $key => $value) { + if (isset($options[$key]) && $options[$key] !== '') { + $result[$key] = $options[$key]; + } else { + $result[$key] = $value; + } + } + + return $result; + } +} |
