aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT')
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT73
1 files changed, 73 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT
new file mode 100644
index 0000000..4087ac9
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/TEMPLATE_ABSTRACT
@@ -0,0 +1,73 @@
+<?php
+// vim: expandtab sw=4 ts=4 sts=4:
+/**
+ * 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 stdClass|null $meta meta information
+ *
+ * @return string
+ */
+ public function applyTransformation($buffer, array $options = [], ?stdClass $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]";
+ }
+}
+?>