diff options
Diffstat (limited to 'hugo/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php')
| -rw-r--r-- | hugo/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/hugo/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php b/hugo/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php new file mode 100644 index 0000000..054b2f9 --- /dev/null +++ b/hugo/libraries/plugins/transformations/abstract/TextImageLinkTransformationsPlugin.class.php @@ -0,0 +1,96 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Abstract class for the image link transformations plugins + * + * @package PhpMyAdmin-Transformations + * @subpackage ImageLink + */ +if (! defined('PHPMYADMIN')) { + exit; +} + +/* Get the transformations interface */ +require_once 'libraries/plugins/TransformationsPlugin.class.php'; +/* For PMA_transformation_global_html_replace */ +require_once 'libraries/transformations.lib.php'; + +/** + * Provides common methods for all of the image link transformations plugins. + * + * @package PhpMyAdmin + */ +abstract class TextImageLinkTransformationsPlugin extends TransformationsPlugin +{ + /** + * Gets the transformation description of the specific plugin + * + * @return string + */ + public static function getInfo() + { + return __( + 'Displays an image and a link; the column contains the filename. The' + . ' first option is a URL prefix like "http://www.example.com/". The' + . ' second and third options are the width and the height in pixels.' + ); + } + + /** + * 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 = '') + { + $transform_options = array ( + 'string' => '<a href="' . (isset($options[0]) ? $options[0] : '') + . $buffer . '" target="_blank"><img src="' + . (isset($options[0]) ? $options[0] : '') . $buffer + . '" border="0" width="' . (isset($options[1]) ? $options[1] : 100) + . '" height="' . (isset($options[2]) ? $options[2] : 50) . '" />' + . $buffer . '</a>' + ); + + $buffer = PMA_transformation_global_html_replace( + $buffer, + $transform_options + ); + + return $buffer; + } + + /** + * 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 "Image Link"; + } +} +?> |
