3.2
This commit is contained in:
4
libraries/transformations/README
Normal file
4
libraries/transformations/README
Normal file
@@ -0,0 +1,4 @@
|
||||
TRANSFORMATION USAGE (Garvin Hicking, <me@supergarv.de>)
|
||||
====================
|
||||
|
||||
See the Documentation.html for complete instructions on how to use transformation plugins.
|
28
libraries/transformations/TEMPLATE
Normal file
28
libraries/transformations/TEMPLATE
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/* $Id$ */
|
||||
// vim: expandtab sw=4 ts=4 sts=4:
|
||||
|
||||
/**
|
||||
* Plugin function TEMPLATE (Garvin Hicking).
|
||||
* -----------------------------------------
|
||||
*
|
||||
* For instructions, read the /Documentation.html file.
|
||||
*
|
||||
* The string [ENTER_FILENAME_HERE] shall be substituted with the filename without the '.inc.php'
|
||||
* extension. For further information regarding naming conventions see the /Documentation.html file.
|
||||
*/
|
||||
|
||||
function PMA_transformation_[ENTER_FILENAME_HERE]($buffer, $options = array(), $meta = '') {
|
||||
// possibly use a global transform and feed it with special options:
|
||||
// include('./libraries/transformations/global.inc.php');
|
||||
|
||||
// further operations on $buffer using the $options[] array.
|
||||
|
||||
// You can evaluate the propagated $meta Object. It's contained fields are described in http://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;
|
||||
}
|
||||
|
||||
?>
|
13
libraries/transformations/TEMPLATE_MIMETYPE
Normal file
13
libraries/transformations/TEMPLATE_MIMETYPE
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/* $Id$ */
|
||||
// vim: expandtab sw=4 ts=4 sts=4:
|
||||
|
||||
/**
|
||||
* MIME-Init function TEMPLATE (Garvin Hicking).
|
||||
* -----------------------------------------
|
||||
*
|
||||
* This files serves no function. It's only kept here to add a mimetype value for selection.
|
||||
* You can still use global or other mimetype's transforms with this mimetype.
|
||||
*/
|
||||
|
||||
?>
|
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_application_octetstream__download(&$buffer, $options = array(), $meta = '') {
|
||||
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">%s</a>',
|
||||
|
||||
$options['wrapper_link'],
|
||||
urlencode($cn),
|
||||
htmlspecialchars($cn),
|
||||
htmlspecialchars($cn)
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_application_octetstream__hex($buffer, $options = array(), $meta = '') {
|
||||
// possibly use a global transform and feed it with special options:
|
||||
// include './libraries/transformations/global.inc.php';
|
||||
if (!isset($options[0])) {
|
||||
$options[0] = 2;
|
||||
} else {
|
||||
$options[0] = (int)$options[0];
|
||||
}
|
||||
|
||||
if ($options[0] < 1) {
|
||||
return bin2hex($buffer);
|
||||
} else {
|
||||
return chunk_split(bin2hex($buffer), $options[0], ' ');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
33
libraries/transformations/generator.sh
Executable file
33
libraries/transformations/generator.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# $Id$
|
||||
#
|
||||
# Shell script that adds a new function file using a template. Should not be called directly
|
||||
# but instead by template_Generator.sh and template_generator_mimetype.sh
|
||||
#
|
||||
#
|
||||
# $1: Template
|
||||
# $2: Filename
|
||||
# $3: (optional) Description
|
||||
|
||||
if [ $# == 0 ]
|
||||
then
|
||||
echo "Please call template_generator.sh or template_generator_mimetype.sh instead"
|
||||
echo ""
|
||||
exit 65
|
||||
fi
|
||||
functionupper="`echo $2 | tr [:lower:] [:upper:]`"
|
||||
functionlower="`echo $2 | tr [:upper:] [:lower:]`"
|
||||
|
||||
cat $1 | sed "s/\[ENTER_FILENAME_HERE\]/$functionupper/" | sed "s/\[enter_filename_here\]/$functionlower/" >> $2.inc.php
|
||||
|
||||
if [ "$3" ]
|
||||
then
|
||||
echo ""
|
||||
echo "To do later:"
|
||||
echo "cd ../../lang"
|
||||
echo "./add_message.sh '\$strTransformation_${functionlower}' '$3'"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "Created $2.inc.php"
|
||||
echo ""
|
51
libraries/transformations/global.inc.php
Normal file
51
libraries/transformations/global.inc.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* GLOBAL Plugin function (Garvin Hicking).
|
||||
* ---------------
|
||||
*
|
||||
* THIS FILE PROVIDES BASIC FUNCTIONS TO USE IN OTHER PLUGINS!
|
||||
*
|
||||
* The basic filename usage for any plugin, residing in the libraries/transformations directory is:
|
||||
*
|
||||
* -- <mime_type>_<mime_subtype>__<transformation_name>.inc.php
|
||||
*
|
||||
* The function name has to be the like above filename:
|
||||
*
|
||||
* -- function PMA_transformation_<mime_type>_<mime_subtype>__<transformation_name>.inc.php
|
||||
*
|
||||
* Please use short and expressive names. For now, special characters which aren't allowed in
|
||||
* filenames or functions should not be used.
|
||||
*
|
||||
* Please provide a comment for your function, what it does and what parameters are available.
|
||||
*
|
||||
* @version $Id$
|
||||
* @package phpMyAdmin-Transformation
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_global_plain($buffer, $options = array(), $meta = '') {
|
||||
return htmlspecialchars($buffer);
|
||||
}
|
||||
|
||||
function PMA_transformation_global_html($buffer, $options = array(), $meta = '') {
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
function PMA_transformation_global_html_replace($buffer, $options = array(), $meta = '') {
|
||||
if (!isset($options['string'])) {
|
||||
$options['string'] = '';
|
||||
}
|
||||
|
||||
if (isset($options['regex']) && isset($options['regex_replace'])) {
|
||||
$buffer = preg_replace('@' . str_replace('@', '\@', $options['regex']) . '@si', $options['regex_replace'], $buffer);
|
||||
}
|
||||
|
||||
// Replace occurences of [__BUFFER__] with actual text
|
||||
$return = str_replace("[__BUFFER__]", $buffer, $options['string']);
|
||||
return $return;
|
||||
}
|
||||
|
||||
?>
|
24
libraries/transformations/image_jpeg__inline.inc.php
Normal file
24
libraries/transformations/image_jpeg__inline.inc.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_image_jpeg__inline($buffer, $options = array(), $meta = '') {
|
||||
require_once './libraries/transformations/global.inc.php';
|
||||
|
||||
if (PMA_IS_GD2) {
|
||||
$transform_options = array ('string' => '<a href="transformation_wrapper.php' . $options['wrapper_link'] . '" target="_blank"><img src="transformation_wrapper.php' . $options['wrapper_link'] . '&resize=jpeg&newWidth=' . (isset($options[0]) ? $options[0] : '100') . '&newHeight=' . (isset($options[1]) ? $options[1] : 100) . '" alt="[__BUFFER__]" border="0" /></a>');
|
||||
} else {
|
||||
$transform_options = array ('string' => '<img src="transformation_wrapper.php' . $options['wrapper_link'] . '" alt="[__BUFFER__]" width="320" height="240" />');
|
||||
}
|
||||
$buffer = PMA_transformation_global_html_replace($buffer, $transform_options);
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
?>
|
20
libraries/transformations/image_jpeg__link.inc.php
Normal file
20
libraries/transformations/image_jpeg__link.inc.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_image_jpeg__link($buffer, $options = array(), $meta = '') {
|
||||
require_once './libraries/transformations/global.inc.php';
|
||||
|
||||
$transform_options = array ('string' => '<a href="transformation_wrapper.php' . $options['wrapper_link'] . '" alt="[__BUFFER__]">[BLOB]</a>');
|
||||
$buffer = PMA_transformation_global_html_replace($buffer, $transform_options);
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
?>
|
24
libraries/transformations/image_png__inline.inc.php
Normal file
24
libraries/transformations/image_png__inline.inc.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_image_png__inline($buffer, $options = array(), $meta = '') {
|
||||
require_once './libraries/transformations/global.inc.php';
|
||||
|
||||
if (PMA_IS_GD2) {
|
||||
$transform_options = array ('string' => '<a href="transformation_wrapper.php' . $options['wrapper_link'] . '" target="_blank"><img src="transformation_wrapper.php' . $options['wrapper_link'] . '&resize=png&newWidth=' . (isset($options[0]) ? $options[0] : '100') . '&newHeight=' . (isset($options[1]) ? $options[1] : 100) . '" alt="[__BUFFER__]" border="0" /></a>');
|
||||
} else {
|
||||
$transform_options = array ('string' => '<img src="transformation_wrapper.php' . $options['wrapper_link'] . '" alt="[__BUFFER__]" width="320" height="240" />');
|
||||
}
|
||||
$buffer = PMA_transformation_global_html_replace($buffer, $transform_options);
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
?>
|
25
libraries/transformations/template_generator.sh
Executable file
25
libraries/transformations/template_generator.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
# $Id$
|
||||
#
|
||||
# Shell script that adds a new mimetype with transform function.
|
||||
#
|
||||
# The filename should contain either 'mimetype_subtype' or 'mimetype'.
|
||||
# The suffix '.inc.php' is appended automatically!
|
||||
#
|
||||
# The 'description' parameter will add a new entry in the language file. Watch out for
|
||||
# special escaping.
|
||||
#
|
||||
# Example: template_generator.sh 'filename' 'description'
|
||||
#
|
||||
if [ $# == 0 ]
|
||||
then
|
||||
echo "Usage: template_generator.sh 'filename' 'description'"
|
||||
echo ""
|
||||
exit 65
|
||||
fi
|
||||
|
||||
|
||||
|
||||
./generator.sh 'TEMPLATE' "$1" "$2"
|
||||
echo " "
|
||||
echo "New TRANSFORM FUNCTION $1.inc.php added."
|
20
libraries/transformations/template_generator_mimetype.sh
Executable file
20
libraries/transformations/template_generator_mimetype.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
# $Id$
|
||||
#
|
||||
# Shell script that adds a new mimetype without transform function.
|
||||
#
|
||||
# The filename should contain either 'mimetype_subtype' or 'mimetype'.
|
||||
# The suffix '.inc.php' is appended automatically!
|
||||
#
|
||||
# Example: template_generator_mimetype.sh 'filename'
|
||||
#
|
||||
if [ $# == 0 ]
|
||||
then
|
||||
echo "Usage: template_generator_mimetype.sh 'filename'"
|
||||
echo ""
|
||||
exit 65
|
||||
fi
|
||||
|
||||
./generator.sh 'TEMPLATE_MIMETYPE' "$1"
|
||||
echo " "
|
||||
echo "New MIMETYPE $1.inc.php added."
|
96
libraries/transformations/text_plain__dateformat.inc.php
Normal file
96
libraries/transformations/text_plain__dateformat.inc.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__dateformat($buffer, $options = array(), $meta = '') {
|
||||
// possibly use a global transform and feed it with special options:
|
||||
// include './libraries/transformations/global.inc.php';
|
||||
|
||||
// further operations on $buffer using the $options[] array.
|
||||
if (empty($options[0])) {
|
||||
$options[0] = 0;
|
||||
}
|
||||
|
||||
if (empty($options[2])) {
|
||||
$options[2] = 'local';
|
||||
} else {
|
||||
$options[2] = strtolower($options[2]);
|
||||
}
|
||||
|
||||
if (empty($options[1])) {
|
||||
if ($options[2] == 'local') {
|
||||
$options[1] = $GLOBALS['datefmt'];
|
||||
} 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 (strlen($buffer) == 14 || strlen($buffer) == 8) {
|
||||
$offset = 4;
|
||||
} else {
|
||||
$offset = 2;
|
||||
}
|
||||
|
||||
$d = array();
|
||||
$d['year'] = substr($buffer, 0, $offset);
|
||||
$d['month'] = substr($buffer, $offset, 2);
|
||||
$d['day'] = substr($buffer, $offset + 2, 2);
|
||||
$d['hour'] = substr($buffer, $offset + 4, 2);
|
||||
$d['minute'] = substr($buffer, $offset + 6, 2);
|
||||
$d['second'] = substr($buffer, $offset + 8, 2);
|
||||
|
||||
if (checkdate($d['month'], $d['day'], $d['year'])) {
|
||||
$timestamp = mktime($d['hour'], $d['minute'], $d['second'], $d['month'], $d['day'], $d['year']);
|
||||
}
|
||||
// If all fails, assume one of the dozens of valid strtime() syntaxes (http://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 -= $options[0] * 60 * 60;
|
||||
$source = $buffer;
|
||||
if ($options[2] == 'local') {
|
||||
$text = PMA_localisedDate($timestamp, $options[1]);
|
||||
} elseif ($options[2] == 'utc') {
|
||||
$text = gmdate($options[1], $timestamp);
|
||||
} else {
|
||||
$text = 'INVALID DATE TYPE';
|
||||
}
|
||||
$buffer = '<dfn onclick="alert(\'' . $source . '\');" title="' . $source . '">' . $text . '</dfn>';
|
||||
}
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
?>
|
97
libraries/transformations/text_plain__external.inc.php
Normal file
97
libraries/transformations/text_plain__external.inc.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__external_nowrap($options = array()) {
|
||||
if (!isset($options[3]) || $options[3] == '') {
|
||||
$nowrap = true;
|
||||
} elseif ($options[3] == '1' || $options[3] == 1) {
|
||||
$nowrap = true;
|
||||
} else {
|
||||
$nowrap = false;
|
||||
}
|
||||
|
||||
return $nowrap;
|
||||
}
|
||||
|
||||
function PMA_transformation_text_plain__external($buffer, $options = array(), $meta = '') {
|
||||
// possibly use a global transform and feed it with special options:
|
||||
// include './libraries/transformations/global.inc.php';
|
||||
|
||||
// further operations on $buffer using the $options[] array.
|
||||
|
||||
$allowed_programs = array();
|
||||
|
||||
//
|
||||
// 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;
|
||||
}
|
||||
|
||||
if (!isset($options[0]) || $options[0] == '' || !isset($allowed_programs[$options[0]])) {
|
||||
$program = $allowed_programs[0];
|
||||
} else {
|
||||
$program = $allowed_programs[$options[0]];
|
||||
}
|
||||
|
||||
if (!isset($options[1]) || $options[1] == '') {
|
||||
$poptions = '-f /dev/null -i -wrap -q';
|
||||
} else {
|
||||
$poptions = $options[1];
|
||||
}
|
||||
|
||||
if (!isset($options[2]) || $options[2] == '') {
|
||||
$options[2] = 1;
|
||||
}
|
||||
|
||||
if (!isset($options[3]) || $options[3] == '') {
|
||||
$options[3] = 1;
|
||||
}
|
||||
|
||||
// needs PHP >= 4.3.0
|
||||
$newstring = '';
|
||||
$descriptorspec = array(
|
||||
0 => array("pipe", "r"),
|
||||
1 => array("pipe", "w")
|
||||
);
|
||||
$process = proc_open($program . ' ' . $poptions, $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
|
||||
$return_value = proc_close($process);
|
||||
}
|
||||
|
||||
if ($options[2] == 1 || $options[2] == '2') {
|
||||
$retstring = htmlspecialchars($newstring);
|
||||
} else {
|
||||
$retstring = $newstring;
|
||||
}
|
||||
|
||||
return $retstring;
|
||||
}
|
||||
?>
|
15
libraries/transformations/text_plain__formatted.inc.php
Normal file
15
libraries/transformations/text_plain__formatted.inc.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__formatted($buffer, $options = array(), $meta = '') {
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
?>
|
19
libraries/transformations/text_plain__imagelink.inc.php
Normal file
19
libraries/transformations/text_plain__imagelink.inc.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__imagelink($buffer, $options = array(), $meta = '') {
|
||||
require_once './libraries/transformations/global.inc.php';
|
||||
|
||||
$transform_options = array ('string' => '<a href="' . (isset($options[0]) ? $options[0] : '') . $buffer . '" target="_blank"><img src="' . (isset($options[0]) ? $options[0] : '') . $buffer . '" border="0" width="' . (isset($options[1]) ? $options[1] : 100) . '" height="' . (isset($options[2]) ? $options[2] : 50) . '" />' . $buffer . '</a>');
|
||||
$buffer = PMA_transformation_global_html_replace($buffer, $transform_options);
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
?>
|
24
libraries/transformations/text_plain__link.inc.php
Normal file
24
libraries/transformations/text_plain__link.inc.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__link($buffer, $options = array(), $meta = '') {
|
||||
require_once './libraries/transformations/global.inc.php';
|
||||
|
||||
// $transform_options = array ('string' => '<a href="' . (isset($options[0]) ? $options[0] : '') . '%1$s" title="' . (isset($options[1]) ? $options[1] : '%1$s') . '">' . (isset($options[1]) ? $options[1] : '%1$s') . '</a>');
|
||||
|
||||
$transform_options = array ('string' => '<a href="' . (isset($options[0]) ? $options[0] : '') . $buffer . '" title="' . (isset($options[1]) ? $options[1] : '') . '">' . (isset($options[1]) ? $options[1] : $buffer) . '</a>');
|
||||
|
||||
$buffer = PMA_transformation_global_html_replace($buffer, $transform_options);
|
||||
|
||||
return $buffer;
|
||||
|
||||
}
|
||||
|
||||
?>
|
22
libraries/transformations/text_plain__longToIpv4.inc.php
Normal file
22
libraries/transformations/text_plain__longToIpv4.inc.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id: text_plain__dateformat.inc.php 10239 2007-04-01 09:51:41Z cybot_tm $
|
||||
*/
|
||||
|
||||
/**
|
||||
* returns IPv4 address
|
||||
*
|
||||
* @see http://php.net/long2ip
|
||||
*/
|
||||
function PMA_transformation_text_plain__longToIpv4($buffer, $options = array(), $meta = '')
|
||||
{
|
||||
if ($buffer < 0 || $buffer > 4294967295) {
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
return long2ip($buffer);
|
||||
}
|
||||
|
||||
?>
|
18
libraries/transformations/text_plain__sql.inc.php
Normal file
18
libraries/transformations/text_plain__sql.inc.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__sql($buffer, $options = array(), $meta = '') {
|
||||
$result = PMA_SQP_formatHtml(PMA_SQP_parse($buffer));
|
||||
// Need to clear error state not to break subsequent queries display.
|
||||
PMA_SQP_resetError();
|
||||
return $result;
|
||||
}
|
||||
|
||||
?>
|
50
libraries/transformations/text_plain__substr.inc.php
Normal file
50
libraries/transformations/text_plain__substr.inc.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* @package phpMyAdmin-Transformation
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function PMA_transformation_text_plain__substr($buffer, $options = array(), $meta = '') {
|
||||
// possibly use a global transform and feed it with special options:
|
||||
// include './libraries/transformations/global.inc.php';
|
||||
|
||||
// further operations on $buffer using the $options[] array.
|
||||
if (!isset($options[0]) || $options[0] == '') {
|
||||
$options[0] = 0;
|
||||
}
|
||||
|
||||
if (!isset($options[1]) || $options[1] == '') {
|
||||
$options[1] = 'all';
|
||||
}
|
||||
|
||||
if (!isset($options[2]) || $options[2] == '') {
|
||||
$options[2] = '...';
|
||||
}
|
||||
|
||||
$newtext = '';
|
||||
if ($options[1] != 'all') {
|
||||
$newtext = PMA_substr($buffer, $options[0], $options[1]);
|
||||
} else {
|
||||
$newtext = PMA_substr($buffer, $options[0]);
|
||||
}
|
||||
|
||||
$length = strlen($newtext);
|
||||
$baselength = strlen($buffer);
|
||||
if ($length != $baselength) {
|
||||
if ($options[0] != 0) {
|
||||
$newtext = $options[2] . $newtext;
|
||||
}
|
||||
|
||||
if (($length + $options[0]) != $baselength) {
|
||||
$newtext .= $options[2];
|
||||
}
|
||||
}
|
||||
|
||||
return $newtext;
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user