240 lines
12 KiB
HTML
240 lines
12 KiB
HTML
|
|
||
|
|
||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
|
||
|
|
||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
|
||
|
<title>Transformations — phpMyAdmin 4.1.14.8 documentation</title>
|
||
|
|
||
|
<link rel="stylesheet" href="_static/default.css" type="text/css" />
|
||
|
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
var DOCUMENTATION_OPTIONS = {
|
||
|
URL_ROOT: '',
|
||
|
VERSION: '4.1.14.8',
|
||
|
COLLAPSE_INDEX: false,
|
||
|
FILE_SUFFIX: '.html',
|
||
|
HAS_SOURCE: true
|
||
|
};
|
||
|
</script>
|
||
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
||
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
||
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
||
|
<link rel="copyright" title="Copyright" href="copyright.html" />
|
||
|
<link rel="top" title="phpMyAdmin 4.1.14.8 documentation" href="index.html" />
|
||
|
<link rel="up" title="User Guide" href="user.html" />
|
||
|
<link rel="next" title="User management" href="privileges.html" />
|
||
|
<link rel="prev" title="User Guide" href="user.html" />
|
||
|
</head>
|
||
|
<body>
|
||
|
<div class="related">
|
||
|
<h3>Navigation</h3>
|
||
|
<ul>
|
||
|
<li class="right" style="margin-right: 10px">
|
||
|
<a href="genindex.html" title="General Index"
|
||
|
accesskey="I">index</a></li>
|
||
|
<li class="right" >
|
||
|
<a href="privileges.html" title="User management"
|
||
|
accesskey="N">next</a> |</li>
|
||
|
<li class="right" >
|
||
|
<a href="user.html" title="User Guide"
|
||
|
accesskey="P">previous</a> |</li>
|
||
|
<li><a href="index.html">phpMyAdmin 4.1.14.8 documentation</a> »</li>
|
||
|
<li><a href="user.html" accesskey="U">User Guide</a> »</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
|
||
|
<div class="document">
|
||
|
<div class="documentwrapper">
|
||
|
<div class="bodywrapper">
|
||
|
<div class="body">
|
||
|
|
||
|
<div class="section" id="transformations">
|
||
|
<span id="id1"></span><h1>Transformations<a class="headerlink" href="#transformations" title="Permalink to this headline">¶</a></h1>
|
||
|
<div class="section" id="introduction">
|
||
|
<span id="transformationsintro"></span><h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
|
||
|
<p>To enable transformations, you have to setup the <tt class="docutils literal"><span class="pre">column_info</span></tt>
|
||
|
table and the proper directives. Please see the <a class="reference internal" href="config.html#config"><em>Configuration</em></a> on how to do so.</p>
|
||
|
<p>You can apply different transformations to the contents of each
|
||
|
column. The transformation will take the content of each column and
|
||
|
transform it with certain rules defined in the selected
|
||
|
transformation.</p>
|
||
|
<p>Say you have a column ‘filename’ which contains a filename. Normally
|
||
|
you would see in phpMyAdmin only this filename. Using transformations
|
||
|
you can transform that filename into a HTML link, so you can click
|
||
|
inside of the phpMyAdmin structure on the column’s link and will see
|
||
|
the file displayed in a new browser window. Using transformation
|
||
|
options you can also specify strings to append/prepend to a string or
|
||
|
the format you want the output stored in.</p>
|
||
|
<p>For a general overview of all available transformations and their
|
||
|
options, you can consult your <em><www.your-host.com>/<your-install-
|
||
|
dir>/transformation_overview.php</em> installation.</p>
|
||
|
<p>For a tutorial on how to effectively use transformations, see our
|
||
|
<a class="reference external" href="http://www.phpmyadmin.net/home_page/docs.php">Link section</a> on the
|
||
|
official phpMyAdmin homepage.</p>
|
||
|
</div>
|
||
|
<div class="section" id="usage">
|
||
|
<span id="transformationshowto"></span><h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
|
||
|
<p>Go to your <em>tbl_structure.php</em> page (i.e. reached through clicking on
|
||
|
the ‘Structure’ link for a table). There click on “Change” (or change
|
||
|
icon) and there you will see three new fields at the end of the line.
|
||
|
They are called ‘MIME-type’, ‘Browser transformation’ and
|
||
|
‘Transformation options’.</p>
|
||
|
<ul class="simple">
|
||
|
<li>The field ‘MIME-type’ is a drop-down field. Select the MIME-type that
|
||
|
corresponds to the column’s contents. Please note that transformations
|
||
|
are inactive as long as no MIME-type is selected.</li>
|
||
|
<li>The field ‘Browser transformation’ is a drop-down field. You can
|
||
|
choose from a hopefully growing amount of pre-defined transformations.
|
||
|
See below for information on how to build your own transformation.
|
||
|
There are global transformations and mimetype-bound transformations.
|
||
|
Global transformations can be used for any mimetype. They will take
|
||
|
the mimetype, if necessary, into regard. Mimetype-bound
|
||
|
transformations usually only operate on a certain mimetype. There are
|
||
|
transformations which operate on the main mimetype (like ‘image’),
|
||
|
which will most likely take the subtype into regard, and those who
|
||
|
only operate on a specific subtype (like ‘image/jpeg’). You can use
|
||
|
transformations on mimetypes for which the function was not defined
|
||
|
for. There is no security check for you selected the right
|
||
|
transformation, so take care of what the output will be like.</li>
|
||
|
<li>The field ‘Transformation options’ is a free-type textfield. You have
|
||
|
to enter transform-function specific options here. Usually the
|
||
|
transforms can operate with default options, but it is generally a
|
||
|
good idea to look up the overview to see which options are necessary.
|
||
|
Much like the ENUM/SET-Fields, you have to split up several options
|
||
|
using the format ‘a’,’b’,’c’,...(NOTE THE MISSING BLANKS). This is
|
||
|
because internally the options will be parsed as an array, leaving the
|
||
|
first value the first element in the array, and so forth. If you want
|
||
|
to specify a MIME character set you can define it in the
|
||
|
transformation_options. You have to put that outside of the pre-
|
||
|
defined options of the specific mime-transform, as the last value of
|
||
|
the set. Use the format “’; charset=XXX’”. If you use a transform, for
|
||
|
which you can specify 2 options and you want to append a character
|
||
|
set, enter “‘first parameter’,’second parameter’,’charset=us-ascii’”.
|
||
|
You can, however use the defaults for the parameters: “’‘,’‘,’charset
|
||
|
=us-ascii’”.</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="section" id="file-structure">
|
||
|
<span id="transformationsfiles"></span><h2>File structure<a class="headerlink" href="#file-structure" title="Permalink to this headline">¶</a></h2>
|
||
|
<p>All specific transformations for mimetypes are defined through class
|
||
|
files in the directory ‘libraries/plugins/transformations/’. Each of
|
||
|
them extends a certain transformation abstract class declared in
|
||
|
libraries/plugins/transformations/abstract.</p>
|
||
|
<p>They are stored in files to ease up customization and easy adding of
|
||
|
new transformations.</p>
|
||
|
<p>Because the user cannot enter own mimetypes, it is kept sure that
|
||
|
transformations always work. It makes no sense to apply a
|
||
|
transformation to a mimetype the transform-function doesn’t know to
|
||
|
handle.</p>
|
||
|
<p>There is a file called ‘<em>transformations.lib.php</em>‘ that provides some
|
||
|
basic functions which can be included by any other transform function.</p>
|
||
|
<p>The file name convention is <tt class="docutils literal"><span class="pre">[Mimetype]_[Subtype]_[Transformation</span>
|
||
|
<span class="pre">Name].class.php</span></tt>, while the abtract class that it extends has the
|
||
|
name <tt class="docutils literal"><span class="pre">[Transformation</span> <span class="pre">Name]TransformationsPlugin</span></tt>. All of the
|
||
|
methods that have to be implemented by a transformations plug-in are:</p>
|
||
|
<ol class="arabic simple">
|
||
|
<li>getMIMEType() and getMIMESubtype() in the main class;</li>
|
||
|
<li>getName(), getInfo() and applyTransformation() in the abstract class
|
||
|
it extends.</li>
|
||
|
</ol>
|
||
|
<p>The getMIMEType(), getMIMESubtype() and getName() methods return the
|
||
|
name of the MIME type, MIME Subtype and transformation accordingly.
|
||
|
getInfo() returns the transformation’s description and possible
|
||
|
options it may receive and applyTransformation() is the method that
|
||
|
does the actual work of the transformation plug-in.</p>
|
||
|
<p>Please see the libraries/plugins/transformations/TEMPLATE and
|
||
|
libraries/plugins/transformations/TEMPLATE_ABSTRACT files for adding
|
||
|
your own transformation plug-in. You can also generate a new
|
||
|
transformation plug-in (with or without the abstract transformation
|
||
|
class), by using
|
||
|
<tt class="file docutils literal"><span class="pre">libraries/plugins/transformations/generator_plugin.sh</span></tt> or
|
||
|
<tt class="file docutils literal"><span class="pre">libraries/plugins/transformations/generator_main_class.sh</span></tt>.</p>
|
||
|
<p>The applyTransformation() method always gets passed three variables:</p>
|
||
|
<ol class="arabic simple">
|
||
|
<li><strong>$buffer</strong> - Contains the text inside of the column. This is the
|
||
|
text, you want to transform.</li>
|
||
|
<li><strong>$options</strong> - Contains any user-passed options to a transform
|
||
|
function as an array.</li>
|
||
|
<li><strong>$meta</strong> - Contains an object with information about your column. The
|
||
|
data is drawn from the output of the <a class="reference external" href="http://www.php.net/mysql_fetch_field">mysql_fetch_field()</a> function. This means, all
|
||
|
object properties described on the <a class="reference external" href="http://www.php.net/mysql_fetch_field">manual page</a> are available in this
|
||
|
variable and can be used to transform a column accordingly to
|
||
|
unsigned/zerofill/not_null/... properties. The $meta->mimetype
|
||
|
variable contains the original MIME-type of the column (i.e.
|
||
|
‘text/plain’, ‘image/jpeg’ etc.)</li>
|
||
|
</ol>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="sphinxsidebar">
|
||
|
<div class="sphinxsidebarwrapper">
|
||
|
<h3><a href="index.html">Table Of Contents</a></h3>
|
||
|
<ul>
|
||
|
<li><a class="reference internal" href="#">Transformations</a><ul>
|
||
|
<li><a class="reference internal" href="#introduction">Introduction</a></li>
|
||
|
<li><a class="reference internal" href="#usage">Usage</a></li>
|
||
|
<li><a class="reference internal" href="#file-structure">File structure</a></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<h4>Previous topic</h4>
|
||
|
<p class="topless"><a href="user.html"
|
||
|
title="previous chapter">User Guide</a></p>
|
||
|
<h4>Next topic</h4>
|
||
|
<p class="topless"><a href="privileges.html"
|
||
|
title="next chapter">User management</a></p>
|
||
|
<h3>This Page</h3>
|
||
|
<ul class="this-page-menu">
|
||
|
<li><a href="_sources/transformations.txt"
|
||
|
rel="nofollow">Show Source</a></li>
|
||
|
</ul>
|
||
|
<div id="searchbox" style="display: none">
|
||
|
<h3>Quick search</h3>
|
||
|
<form class="search" action="search.html" method="get">
|
||
|
<input type="text" name="q" />
|
||
|
<input type="submit" value="Go" />
|
||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||
|
<input type="hidden" name="area" value="default" />
|
||
|
</form>
|
||
|
<p class="searchtip" style="font-size: 90%">
|
||
|
Enter search terms or a module, class or function name.
|
||
|
</p>
|
||
|
</div>
|
||
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="clearer"></div>
|
||
|
</div>
|
||
|
<div class="related">
|
||
|
<h3>Navigation</h3>
|
||
|
<ul>
|
||
|
<li class="right" style="margin-right: 10px">
|
||
|
<a href="genindex.html" title="General Index"
|
||
|
>index</a></li>
|
||
|
<li class="right" >
|
||
|
<a href="privileges.html" title="User management"
|
||
|
>next</a> |</li>
|
||
|
<li class="right" >
|
||
|
<a href="user.html" title="User Guide"
|
||
|
>previous</a> |</li>
|
||
|
<li><a href="index.html">phpMyAdmin 4.1.14.8 documentation</a> »</li>
|
||
|
<li><a href="user.html" >User Guide</a> »</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="footer">
|
||
|
© <a href="copyright.html">Copyright</a> 2012 - 2014, The phpMyAdmin devel team.
|
||
|
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|