aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input')
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Image_JPEG_Upload.php44
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_FileUpload.php43
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_Iptobinary.php141
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_JsonEditor.php85
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_RegexValidation.php44
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_SqlEditor.php85
-rw-r--r--srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_XmlEditor.php85
7 files changed, 527 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Image_JPEG_Upload.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Image_JPEG_Upload.php
new file mode 100644
index 0000000..903bfd2
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Image_JPEG_Upload.php
@@ -0,0 +1,44 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Image JPEG Upload Input Transformations plugin for phpMyAdmin
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage ImageUpload
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\Transformations\Abs\ImageUploadTransformationsPlugin;
+
+/**
+ * Handles the image upload input transformation for JPEG.
+ * Has two option: width & height of the thumbnail
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage ImageUpload
+ */
+// @codingStandardsIgnoreLine
+class Image_JPEG_Upload extends ImageUploadTransformationsPlugin
+{
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Image";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "JPEG";
+ }
+}
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_FileUpload.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_FileUpload.php
new file mode 100644
index 0000000..b7a2ae3
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_FileUpload.php
@@ -0,0 +1,43 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Text Plain File Upload Input Transformations plugin for phpMyAdmin
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage TextFileUpload
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\Transformations\Abs\TextFileUploadTransformationsPlugin;
+
+/**
+ * Handles the input text file upload transformation for text plain.
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage TextFileUpload
+ */
+// @codingStandardsIgnoreLine
+class Text_Plain_FileUpload extends TextFileUploadTransformationsPlugin
+{
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Text";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "Plain";
+ }
+}
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_Iptobinary.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_Iptobinary.php
new file mode 100644
index 0000000..b504cac
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_Iptobinary.php
@@ -0,0 +1,141 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Handles the IPv4/IPv6 to binary transformation for text plain
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage IPToBinary
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\IOTransformationsPlugin;
+use stdClass;
+
+/**
+ * Handles the IPv4/IPv6 to binary transformation for text plain
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage IPToBinary
+ */
+// @codingStandardsIgnoreLine
+class Text_Plain_Iptobinary extends IOTransformationsPlugin
+{
+ /**
+ * Gets the transformation description of the plugin
+ *
+ * @return string
+ */
+ public static function getInfo()
+ {
+ return __(
+ 'Converts an Internet network address in (IPv4/IPv6) format to binary'
+ );
+ }
+
+ /**
+ * Does the actual work of each specific transformations plugin.
+ *
+ * @param string $buffer text to be transformed. a binary string containing
+ * an IP address, as returned from MySQL's INET6_ATON
+ * function
+ * @param array $options transformation options
+ * @param stdClass|null $meta meta information
+ *
+ * @return string IP address
+ */
+ public function applyTransformation($buffer, array $options = [], ?stdClass $meta = null)
+ {
+ $val = @inet_pton($buffer);
+ if ($val !== false) {
+ return '0x' . bin2hex($val);
+ }
+
+ return $buffer;
+ }
+
+ /**
+ * Returns the html for input field to override default textarea.
+ * Note: Return empty string if default textarea is required.
+ *
+ * @param array $column column details
+ * @param int $row_id row number
+ * @param string $column_name_appendix the name attribute
+ * @param array $options transformation options
+ * @param string $value Current field value
+ * @param string $text_dir text direction
+ * @param int $tabindex tab index
+ * @param int $tabindex_for_value offset for the values tabindex
+ * @param int $idindex id index
+ *
+ * @return string the html for input field
+ */
+ public function getInputHtml(
+ array $column,
+ $row_id,
+ $column_name_appendix,
+ array $options,
+ $value,
+ $text_dir,
+ $tabindex,
+ $tabindex_for_value,
+ $idindex
+ ) {
+ $html = '';
+ $val = '';
+ if (! empty($value)) {
+ $length = strlen($value);
+ if ($length == 4 || $length == 16) {
+ $ip = @inet_ntop(pack('A' . $length, $value));
+ if ($ip !== false) {
+ $val = $ip;
+ }
+ }
+ $html = '<input type="hidden" name="fields_prev' . $column_name_appendix
+ . '" value="' . htmlspecialchars($val) . '">';
+ }
+ $class = 'transform_IPToBin';
+ $html .= '<input type="text" name="fields' . $column_name_appendix . '"'
+ . ' value="' . htmlspecialchars($val) . '"'
+ . ' size="40"'
+ . ' dir="' . $text_dir . '"'
+ . ' class="' . $class . '"'
+ . ' id="field_' . $idindex . '_3"'
+ . ' tabindex="' . ($tabindex + $tabindex_for_value) . '">';
+
+ return $html;
+ }
+
+ /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
+
+ /**
+ * Gets the transformation name of the plugin
+ *
+ * @return string
+ */
+ public static function getName()
+ {
+ return "IPv4/IPv6 To Binary";
+ }
+
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Text";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "Plain";
+ }
+}
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_JsonEditor.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_JsonEditor.php
new file mode 100644
index 0000000..17d8cf6
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_JsonEditor.php
@@ -0,0 +1,85 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * JSON editing with syntax highlighted CodeMirror editor
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage JSON
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\Transformations\Abs\CodeMirrorEditorTransformationPlugin;
+
+/**
+ * JSON editing with syntax highlighted CodeMirror editor
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage JSON
+ */
+// @codingStandardsIgnoreLine
+class Text_Plain_JsonEditor extends CodeMirrorEditorTransformationPlugin
+{
+ /**
+ * Gets the transformation description of the specific plugin
+ *
+ * @return string
+ */
+ public static function getInfo()
+ {
+ return __(
+ 'Syntax highlighted CodeMirror editor for JSON.'
+ );
+ }
+
+ /**
+ * Returns the array of scripts (filename) required for plugin
+ * initialization and handling
+ *
+ * @return array javascripts to be included
+ */
+ public function getScripts()
+ {
+ $scripts = [];
+ if ($GLOBALS['cfg']['CodemirrorEnable']) {
+ $scripts[] = 'vendor/codemirror/lib/codemirror.js';
+ $scripts[] = 'vendor/codemirror/mode/javascript/javascript.js';
+ $scripts[] = 'transformations/json_editor.js';
+ }
+
+ return $scripts;
+ }
+
+ /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
+
+ /**
+ * Gets the transformation name of the specific plugin
+ *
+ * @return string
+ */
+ public static function getName()
+ {
+ return "JSON";
+ }
+
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Text";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "Plain";
+ }
+}
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_RegexValidation.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_RegexValidation.php
new file mode 100644
index 0000000..136fe62
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_RegexValidation.php
@@ -0,0 +1,44 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * Text Plain Regex Validation Input Transformations plugin for phpMyAdmin
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage RegexValidation
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\Transformations\Abs\RegexValidationTransformationsPlugin;
+
+/**
+ * Handles the input regex validation transformation for text plain.
+ * Has one option: the regular expression
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage RegexValidation
+ */
+// @codingStandardsIgnoreLine
+class Text_Plain_RegexValidation extends RegexValidationTransformationsPlugin
+{
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Text";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "Plain";
+ }
+}
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_SqlEditor.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_SqlEditor.php
new file mode 100644
index 0000000..478b21c
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_SqlEditor.php
@@ -0,0 +1,85 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * SQL editing with syntax highlighted CodeMirror editor
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage SQL
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\Transformations\Abs\CodeMirrorEditorTransformationPlugin;
+
+/**
+ * SQL editing with syntax highlighted CodeMirror editor
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage SQL
+ */
+// @codingStandardsIgnoreLine
+class Text_Plain_SqlEditor extends CodeMirrorEditorTransformationPlugin
+{
+ /**
+ * Gets the transformation description of the specific plugin
+ *
+ * @return string
+ */
+ public static function getInfo()
+ {
+ return __(
+ 'Syntax highlighted CodeMirror editor for SQL.'
+ );
+ }
+
+ /**
+ * Returns the array of scripts (filename) required for plugin
+ * initialization and handling
+ *
+ * @return array javascripts to be included
+ */
+ public function getScripts()
+ {
+ $scripts = [];
+ if ($GLOBALS['cfg']['CodemirrorEnable']) {
+ $scripts[] = 'vendor/codemirror/lib/codemirror.js';
+ $scripts[] = 'vendor/codemirror/mode/sql/sql.js';
+ $scripts[] = 'transformations/sql_editor.js';
+ }
+
+ return $scripts;
+ }
+
+ /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
+
+ /**
+ * Gets the transformation name of the specific plugin
+ *
+ * @return string
+ */
+ public static function getName()
+ {
+ return "SQL";
+ }
+
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Text";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "Plain";
+ }
+}
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_XmlEditor.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_XmlEditor.php
new file mode 100644
index 0000000..0c4e492
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Input/Text_Plain_XmlEditor.php
@@ -0,0 +1,85 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * XML (and HTML) editing with syntax highlighted CodeMirror editor
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage XML
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Plugins\Transformations\Input;
+
+use PhpMyAdmin\Plugins\Transformations\Abs\CodeMirrorEditorTransformationPlugin;
+
+/**
+ * XML (and HTML) editing with syntax highlighted CodeMirror editor
+ *
+ * @package PhpMyAdmin-Transformations
+ * @subpackage XML
+ */
+// @codingStandardsIgnoreLine
+class Text_Plain_XmlEditor extends CodeMirrorEditorTransformationPlugin
+{
+ /**
+ * Gets the transformation description of the specific plugin
+ *
+ * @return string
+ */
+ public static function getInfo()
+ {
+ return __(
+ 'Syntax highlighted CodeMirror editor for XML (and HTML).'
+ );
+ }
+
+ /**
+ * Returns the array of scripts (filename) required for plugin
+ * initialization and handling
+ *
+ * @return array javascripts to be included
+ */
+ public function getScripts()
+ {
+ $scripts = [];
+ if ($GLOBALS['cfg']['CodemirrorEnable']) {
+ $scripts[] = 'vendor/codemirror/lib/codemirror.js';
+ $scripts[] = 'vendor/codemirror/mode/xml/xml.js';
+ $scripts[] = 'transformations/xml_editor.js';
+ }
+
+ return $scripts;
+ }
+
+ /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
+
+ /**
+ * Gets the transformation name of the specific plugin
+ *
+ * @return string
+ */
+ public static function getName()
+ {
+ return "XML";
+ }
+
+ /**
+ * Gets the plugin`s MIME type
+ *
+ * @return string
+ */
+ public static function getMIMEType()
+ {
+ return "Text";
+ }
+
+ /**
+ * Gets the plugin`s MIME subtype
+ *
+ * @return string
+ */
+ public static function getMIMESubtype()
+ {
+ return "Plain";
+ }
+}