diff options
Diffstat (limited to 'hugo/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php')
| -rw-r--r-- | hugo/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/hugo/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php b/hugo/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php new file mode 100644 index 0000000..8022da9 --- /dev/null +++ b/hugo/libraries/plugins/transformations/abstract/HexTransformationsPlugin.class.php @@ -0,0 +1,91 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Abstract class for the hex transformations plugins + * + * @package PhpMyAdmin-Transformations + * @subpackage Hex + */ +if (! defined('PHPMYADMIN')) { + exit; +} + +/* Get the transformations interface */ +require_once 'libraries/plugins/TransformationsPlugin.class.php'; + +/** + * Provides common methods for all of the hex transformations plugins. + * + * @package PhpMyAdmin + */ +abstract class HexTransformationsPlugin extends TransformationsPlugin +{ + /** + * Gets the transformation description of the specific plugin + * + * @return string + */ + public static function getInfo() + { + return __( + 'Displays hexadecimal representation of data. Optional first' + . ' parameter specifies how often space will be added (defaults' + . ' to 2 nibbles).' + ); + } + + /** + * Does the actual work of each specific transformations plugin. + * + * @param string $buffer text to be transformed + * @param array $options transformation options + * @param string $meta meta information + * + * @return void + */ + public function applyTransformation($buffer, $options = array(), $meta = '') + { + // possibly use a global transform and feed it with special options + if (!isset($options[0])) { + $options[0] = 2; + } else { + $options[0] = (int)$options[0]; + } + + if ($options[0] < 1) { + return bin2hex($buffer); + } else { + return chunk_split(bin2hex($buffer), $options[0], ' '); + } + } + + /** + * This method is called when any PluginManager to which the observer + * is attached calls PluginManager::notify() + * + * @param SplSubject $subject The PluginManager notifying the observer + * of an update. + * + * @todo implement + * @return void + */ + public function update (SplSubject $subject) + { + ; + } + + + /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ + + + /** + * Gets the transformation name of the specific plugin + * + * @return string + */ + public static function getName() + { + return "Hex"; + } +} +?>
\ No newline at end of file |
