Update website

This commit is contained in:
Guilhem Lavaux 2024-11-19 08:02:04 +01:00
parent 4413528994
commit 1d90fbf296
6865 changed files with 1091082 additions and 0 deletions

View file

@ -0,0 +1,37 @@
<?php
/**
* Image JPEG Upload Input Transformations plugin for phpMyAdmin
*/
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
*/
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';
}
}

View file

@ -0,0 +1,36 @@
<?php
/**
* Text Plain File Upload Input Transformations plugin for phpMyAdmin
*/
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.
*/
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';
}
}

View file

@ -0,0 +1,135 @@
<?php
/**
* Handles the IPv4/IPv6 to binary transformation for text plain
*/
declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Transformations\Input;
use PhpMyAdmin\FieldMetadata;
use PhpMyAdmin\Plugins\IOTransformationsPlugin;
use PhpMyAdmin\Utils\FormatConverter;
use function __;
use function htmlspecialchars;
use function inet_ntop;
use function pack;
use function strlen;
/**
* Handles the IPv4/IPv6 to binary transformation for text plain
*/
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 FieldMetadata|null $meta meta information
*
* @return string IP address
*/
public function applyTransformation($buffer, array $options = [], ?FieldMetadata $meta = null)
{
return FormatConverter::ipToBinary($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';
return $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) . '">';
}
/* ~~~~~~~~~~~~~~~~~~~~ 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';
}
}

View file

@ -0,0 +1,127 @@
<?php
/**
* Handles the IPv4/IPv6 to long transformation for text plain
*/
declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Transformations\Input;
use PhpMyAdmin\FieldMetadata;
use PhpMyAdmin\Plugins\IOTransformationsPlugin;
use PhpMyAdmin\Utils\FormatConverter;
use function __;
use function htmlspecialchars;
/**
* Handles the IPv4/IPv6 to long transformation for text plain
*/
class Text_Plain_Iptolong 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 into a long integer.');
}
/**
* 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 FieldMetadata $meta meta information
*
* @return string IP address
*/
public function applyTransformation($buffer, array $options = [], ?FieldMetadata $meta = null)
{
return (string) FormatConverter::ipToLong($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)) {
$val = FormatConverter::longToIp($value);
if ($value !== $val) {
$html = '<input type="hidden" name="fields_prev' . $column_name_appendix
. '" value="' . htmlspecialchars($val) . '"/>';
}
}
return $html . '<input type="text" name="fields' . $column_name_appendix . '"'
. ' value="' . htmlspecialchars($val) . '"'
. ' size="40"'
. ' dir="' . $text_dir . '"'
. ' class="transform_IPToLong"'
. ' id="field_' . $idindex . '_3"'
. ' tabindex="' . ($tabindex + $tabindex_for_value) . '" />';
}
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Gets the transformation name of the plugin
*
* @return string
*/
public static function getName()
{
return 'IPv4/IPv6 To Long';
}
/**
* 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';
}
}

View file

@ -0,0 +1,78 @@
<?php
/**
* JSON editing with syntax highlighted CodeMirror editor
*/
declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Transformations\Input;
use PhpMyAdmin\Plugins\Transformations\Abs\CodeMirrorEditorTransformationPlugin;
use function __;
/**
* JSON editing with syntax highlighted CodeMirror editor
*/
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';
}
}

View file

@ -0,0 +1,37 @@
<?php
/**
* Text Plain Regex Validation Input Transformations plugin for phpMyAdmin
*/
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
*/
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';
}
}

View file

@ -0,0 +1,78 @@
<?php
/**
* SQL editing with syntax highlighted CodeMirror editor
*/
declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Transformations\Input;
use PhpMyAdmin\Plugins\Transformations\Abs\CodeMirrorEditorTransformationPlugin;
use function __;
/**
* SQL editing with syntax highlighted CodeMirror editor
*/
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';
}
}

View file

@ -0,0 +1,78 @@
<?php
/**
* XML (and HTML) editing with syntax highlighted CodeMirror editor
*/
declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Transformations\Input;
use PhpMyAdmin\Plugins\Transformations\Abs\CodeMirrorEditorTransformationPlugin;
use function __;
/**
* XML (and HTML) editing with syntax highlighted CodeMirror editor
*/
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';
}
}