You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.0 KiB
74 lines
2.0 KiB
2 years ago
|
<?php
|
||
|
/**
|
||
|
* This file contains the basic structure for an abstract class defining a
|
||
|
* transformation.
|
||
|
* For instructions, read the documentation
|
||
|
*
|
||
|
* @package PhpMyAdmin-Transformations
|
||
|
* @subpackage [TransformationName]
|
||
|
*/
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace PhpMyAdmin\Plugins\Transformations\Abs;
|
||
|
|
||
|
use PhpMyAdmin\Plugins\IOTransformationsPlugin;
|
||
|
use stdClass;
|
||
|
|
||
|
/**
|
||
|
* Provides common methods for all of the [TransformationName] transformations plugins.
|
||
|
*
|
||
|
* @package PhpMyAdmin
|
||
|
*/
|
||
|
abstract class [TransformationName]TransformationsPlugin
|
||
|
extends IOTransformationsPlugin
|
||
|
{
|
||
|
/**
|
||
|
* Gets the transformation description of the specific plugin
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public static function getInfo()
|
||
|
{
|
||
|
return __(
|
||
|
'Description of the transformation.'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Does the actual work of each specific transformations plugin.
|
||
|
*
|
||
|
* @param string $buffer text to be transformed
|
||
|
* @param array $options transformation options
|
||
|
* @param FieldMetadata|null $meta meta information
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public function applyTransformation($buffer, array $options = [], ?FieldMetadata $meta = null)
|
||
|
{
|
||
|
// possibly use a global transform and feed it with special options
|
||
|
|
||
|
// further operations on $buffer using the $options[] array.
|
||
|
|
||
|
// You can evaluate the propagated $meta Object. It's contained fields are described in https://www.php.net/mysql_fetch_field.
|
||
|
// This stored information can be used to get the field information about the transformed field.
|
||
|
// $meta->mimetype contains the original MimeType of the field (i.e. 'text/plain', 'image/jpeg' etc.)
|
||
|
|
||
|
return $buffer;
|
||
|
}
|
||
|
|
||
|
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Gets the TransformationName of the specific plugin
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public static function getName()
|
||
|
{
|
||
|
return '[TransformationName]';
|
||
|
}
|
||
|
}
|
||
|
?>
|