diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
| commit | 5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch) | |
| tree | 39a1a4629749056191c05dfd899f931701b7acf3 /srcs/phpmyadmin/libraries/classes/Plugins/Transformations | |
| parent | 5afd237bbd22028b85532b8c0b3fcead49a00764 (diff) | |
| download | ft_server-master.tar.gz ft_server-master.tar.bz2 ft_server-master.zip | |
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/Transformations')
47 files changed, 0 insertions, 3227 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/Bool2TextTransformationsPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/Bool2TextTransformationsPlugin.php deleted file mode 100644 index 696aa64..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/Bool2TextTransformationsPlugin.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Abstract class for the Bool2Text transformations plugins - * - * @package PhpMyAdmin-Transformations - * @subpackage Bool2Text - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Transformations\Abs; - -use PhpMyAdmin\Plugins\TransformationsPlugin; -use stdClass; - -/** - * Provides common methods for all of the Bool2Text transformations plugins. - * - * @package PhpMyAdmin-Transformations - * @subpackage Bool2Text - */ -abstract class Bool2TextTransformationsPlugin extends TransformationsPlugin -{ - /** - * Gets the transformation description of the specific plugin - * - * @return string - */ - public static function getInfo() - { - return __( - 'Converts Boolean values to text (default \'T\' and \'F\').' - . ' First option is for TRUE, second for FALSE. Nonzero=true.' - ); - } - - /** - * 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) - { - $cfg = $GLOBALS['cfg']; - $options = $this->getOptions($options, $cfg['DefaultTransformations']['Bool2Text']); - - if ($buffer == '0') { - return $options[1]; // return false label - } - - return $options[0]; // or true one if nonzero - } - - /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ - - /** - * Gets the transformation name of the specific plugin - * - * @return string - */ - public static function getName() - { - return "Bool2Text"; - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/CodeMirrorEditorTransformationPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/CodeMirrorEditorTransformationPlugin.php deleted file mode 100644 index bbd1fff..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/CodeMirrorEditorTransformationPlugin.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Abstract class for syntax highlighted editors using CodeMirror - * - * @package PhpMyAdmin-Transformations - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Transformations\Abs; - -use PhpMyAdmin\Plugins\IOTransformationsPlugin; -use stdClass; - -/** - * Provides common methods for all the CodeMirror syntax highlighted editors - * - * @package PhpMyAdmin-Transformations - */ -abstract class CodeMirrorEditorTransformationPlugin extends IOTransformationsPlugin -{ - /** - * 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) - { - 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 = ''; - if (! empty($value)) { - $html = '<input type="hidden" name="fields_prev' . $column_name_appendix - . '" value="' . htmlspecialchars($value) . '">'; - } - $class = 'transform_' . strtolower(static::getName()) . '_editor'; - $html .= '<textarea name="fields' . $column_name_appendix . '"' - . ' dir="' . $text_dir . '" class="' . $class . '">' - . htmlspecialchars($value) . '</textarea>'; - - return $html; - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/DateFormatTransformationsPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/DateFormatTransformationsPlugin.php deleted file mode 100644 index 32ed494..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/DateFormatTransformationsPlugin.php +++ /dev/null @@ -1,158 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Abstract class for the date format transformations plugins - * - * @package PhpMyAdmin-Transformations - * @subpackage DateFormat - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Transformations\Abs; - -use PhpMyAdmin\Plugins\TransformationsPlugin; -use PhpMyAdmin\Sanitize; -use PhpMyAdmin\Util; -use stdClass; - -/** - * Provides common methods for all of the date format transformations plugins. - * - * @package PhpMyAdmin - */ -abstract class DateFormatTransformationsPlugin extends TransformationsPlugin -{ - /** - * Gets the transformation description of the specific plugin - * - * @return string - */ - public static function getInfo() - { - return __( - 'Displays a TIME, TIMESTAMP, DATETIME or numeric unix timestamp' - . ' column as formatted date. The first option is the offset (in' - . ' hours) which will be added to the timestamp (Default: 0). Use' - . ' second option to specify a different date/time format string.' - . ' Third option determines whether you want to see local date or' - . ' UTC one (use "local" or "utc" strings) for that. According to' - . ' that, date format has different value - for "local" see the' - . ' documentation for PHP\'s strftime() function and for "utc" it' - . ' is done using gmdate() function.' - ); - } - - /** - * 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) - { - $buffer = (string) $buffer; - // possibly use a global transform and feed it with special options - $cfg = $GLOBALS['cfg']; - $options = $this->getOptions($options, $cfg['DefaultTransformations']['DateFormat']); - - // further operations on $buffer using the $options[] array. - $options[2] = mb_strtolower($options[2]); - - if (empty($options[1])) { - if ($options[2] == 'local') { - $options[1] = __('%B %d, %Y at %I:%M %p'); - } else { - $options[1] = 'Y-m-d H:i:s'; - } - } - - $timestamp = -1; - - // INT columns will be treated as UNIX timestamps - // and need to be detected before the verification for - // MySQL TIMESTAMP - if ($meta->type == 'int') { - $timestamp = $buffer; - - // Detect TIMESTAMP(6 | 8 | 10 | 12 | 14) - // TIMESTAMP (2 | 4) not supported here. - // (Note: prior to MySQL 4.1, TIMESTAMP has a display size - // for example TIMESTAMP(8) means YYYYMMDD) - } else { - if (preg_match('/^(\d{2}){3,7}$/', $buffer)) { - if (mb_strlen($buffer) == 14 || mb_strlen($buffer) == 8) { - $offset = 4; - } else { - $offset = 2; - } - - $aDate = []; - $aDate['year'] = (int) mb_substr($buffer, 0, $offset); - $aDate['month'] = (int) mb_substr($buffer, $offset, 2); - $aDate['day'] = (int) mb_substr($buffer, $offset + 2, 2); - $aDate['hour'] = (int) mb_substr($buffer, $offset + 4, 2); - $aDate['minute'] = (int) mb_substr($buffer, $offset + 6, 2); - $aDate['second'] = (int) mb_substr($buffer, $offset + 8, 2); - - if (checkdate($aDate['month'], $aDate['day'], $aDate['year'])) { - $timestamp = mktime( - $aDate['hour'], - $aDate['minute'], - $aDate['second'], - $aDate['month'], - $aDate['day'], - $aDate['year'] - ); - } - // If all fails, assume one of the dozens of valid strtime() syntaxes - // (https://www.gnu.org/manual/tar-1.12/html_chapter/tar_7.html) - } else { - if (preg_match('/^[0-9]\d{1,9}$/', $buffer)) { - $timestamp = (int) $buffer; - } else { - $timestamp = strtotime($buffer); - } - } - } - - // If all above failed, maybe it's a Unix timestamp already? - if ($timestamp < 0 && preg_match('/^[1-9]\d{1,9}$/', $buffer)) { - $timestamp = $buffer; - } - - // Reformat a valid timestamp - if ($timestamp >= 0) { - $timestamp -= (int) $options[0] * 60 * 60; - $source = $buffer; - if ($options[2] == 'local') { - $text = Util::localisedDate( - $timestamp, - $options[1] - ); - } elseif ($options[2] == 'utc') { - $text = gmdate($options[1], $timestamp); - } else { - $text = 'INVALID DATE TYPE'; - } - return '<dfn onclick="alert(\'' . Sanitize::jsFormat($source, false) . '\');" title="' - . htmlspecialchars((string) $source) . '">' . htmlspecialchars((string) $text) . '</dfn>'; - } - - return htmlspecialchars((string) $buffer); - } - - /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ - - /** - * Gets the transformation name of the specific plugin - * - * @return string - */ - public static function getName() - { - return "Date Format"; - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/DownloadTransformationsPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/DownloadTransformationsPlugin.php deleted file mode 100644 index d6c21d6..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/DownloadTransformationsPlugin.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Abstract class for the download transformations plugins - * - * @package PhpMyAdmin-Transformations - * @subpackage Download - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Transformations\Abs; - -use PhpMyAdmin\Plugins\TransformationsPlugin; -use stdClass; - -/** - * Provides common methods for all of the download transformations plugins. - * - * @package PhpMyAdmin - */ -abstract class DownloadTransformationsPlugin extends TransformationsPlugin -{ - /** - * Gets the transformation description of the specific plugin - * - * @return string - */ - public static function getInfo() - { - return __( - 'Displays a link to download the binary data of the column. You can' - . ' use the first option to specify the filename, or use the second' - . ' option as the name of a column which contains the filename. If' - . ' you use the second option, you need to set the first option to' - . ' the empty string.' - ); - } - - /** - * 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) - { - global $row, $fields_meta; - - if (isset($options[0]) && ! empty($options[0])) { - $cn = $options[0]; // filename - } else { - if (isset($options[1]) && ! empty($options[1])) { - foreach ($fields_meta as $key => $val) { - if ($val->name == $options[1]) { - $pos = $key; - break; - } - } - if (isset($pos)) { - $cn = $row[$pos]; - } - } - if (empty($cn)) { - $cn = 'binary_file.dat'; - } - } - - return sprintf( - '<a href="transformation_wrapper.php%s&ct=application' - . '/octet-stream&cn=%s" title="%s" class="disableAjax">%s</a>', - $options['wrapper_link'], - htmlspecialchars(urlencode($cn)), - htmlspecialchars($cn), - htmlspecialchars($cn) - ); - } - - - /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ - - /** - * Gets the transformation name of the specific plugin - * - * @return string - */ - public static function getName() - { - return "Download"; - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/ExternalTransformationsPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/ExternalTransformationsPlugin.php deleted file mode 100644 index 006ee86..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/ExternalTransformationsPlugin.php +++ /dev/null @@ -1,160 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Abstract class for the external transformations plugins - * - * @package PhpMyAdmin-Transformations - * @subpackage External - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Transformations\Abs; - -use PhpMyAdmin\Plugins\TransformationsPlugin; -use stdClass; - -/** - * Provides common methods for all of the external transformations plugins. - * - * @package PhpMyAdmin - */ -abstract class ExternalTransformationsPlugin extends TransformationsPlugin -{ - /** - * Gets the transformation description of the specific plugin - * - * @return string - */ - public static function getInfo() - { - return __( - 'LINUX ONLY: Launches an external application and feeds it the column' - . ' data via standard input. Returns the standard output of the' - . ' application. The default is Tidy, to pretty-print HTML code.' - . ' For security reasons, you have to manually edit the file' - . ' libraries/classes/Plugins/Transformations/Output/Text_Plain_External' - . '.php and list the tools you want to make available.' - . ' The first option is then the number of the program you want to' - . ' use and the second option is the parameters for the program.' - . ' The third option, if set to 1, will convert the output using' - . ' htmlspecialchars() (Default 1). The fourth option, if set to 1,' - . ' will prevent wrapping and ensure that the output appears all on' - . ' one line (Default 1).' - ); - } - - /** - * Enables no-wrapping - * - * @param array $options transformation options - * - * @return bool - */ - public function applyTransformationNoWrap(array $options = []) - { - if (! isset($options[3]) || $options[3] == '') { - $nowrap = true; - } elseif ($options[3] == '1' || $options[3] == 1) { - $nowrap = true; - } else { - $nowrap = false; - } - - return $nowrap; - } - - /** - * 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. - - $allowed_programs = []; - - // - // WARNING: - // - // It's up to administrator to allow anything here. Note that users may - // specify any parameters, so when programs allow output redirection or - // any other possibly dangerous operations, you should write wrapper - // script that will publish only functions you really want. - // - // Add here program definitions like (note that these are NOT safe - // programs): - // - //$allowed_programs[0] = '/usr/local/bin/tidy'; - //$allowed_programs[1] = '/usr/local/bin/validate'; - - // no-op when no allowed programs - if (count($allowed_programs) === 0) { - return $buffer; - } - - $cfg = $GLOBALS['cfg']; - $options = $this->getOptions( - $options, - $cfg['DefaultTransformations']['External'] - ); - - if (isset($allowed_programs[$options[0]])) { - $program = $allowed_programs[$options[0]]; - } else { - $program = $allowed_programs[0]; - } - - // needs PHP >= 4.3.0 - $newstring = ''; - $descriptorspec = [ - 0 => [ - "pipe", - "r", - ], - 1 => [ - "pipe", - "w", - ], - ]; - $process = proc_open($program . ' ' . $options[1], $descriptorspec, $pipes); - if (is_resource($process)) { - fwrite($pipes[0], $buffer); - fclose($pipes[0]); - - while (! feof($pipes[1])) { - $newstring .= fgets($pipes[1], 1024); - } - fclose($pipes[1]); - // we don't currently use the return value - proc_close($process); - } - - if ($options[2] == 1 || $options[2] == '2') { - $retstring = htmlspecialchars($newstring); - } else { - $retstring = $newstring; - } - - return $retstring; - } - - - /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ - - /** - * Gets the transformation name of the specific plugin - * - * @return string - */ - public static function getName() - { - return "External"; - } -} diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/FormattedTransformationsPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/FormattedTransformationsPlugin.php deleted file mode 100644 index b40ffe3..0000000 --- a/srcs/phpmyadmin/libraries/classes/Plugins/Transformations/Abs/FormattedTransformationsPlugin.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/* vim: set expandtab sw=4 ts=4 sts=4: */ -/** - * Abstract class for the formatted transformations plugins - * - * @package PhpMyAdmin-Transformations - * @subpackage Formatted - */ -declare(strict_types=1); - -namespace PhpMyAdmin\Plugins\Transformations\Abs; - -use PhpMyAdmin\Plugins\TransformationsPlugin; -use stdClass; - -/** - * Provides common methods for all of the formatted transformations plugins. - * - * @package PhpMyAdmin - */ -abstract class FormattedTransformationsPlugin extends TransformationsPlugin -{ - /** |
