Merge remote branch 'upstream/master'

This commit is contained in:
Chanaka Indrajith 2012-07-09 21:26:13 +05:30
commit 4a3ae41cf0
45 changed files with 2754 additions and 713 deletions

View File

@ -2486,8 +2486,10 @@ setfacl -d -m "g:www-data:rwx" tmp
<h3 id="transformationsfiles">3. File structure</h3>
<p> All mimetypes and their transformations are defined through single files in
the directory 'libraries/transformations/'.</p>
<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>
@ -2496,109 +2498,35 @@ setfacl -d -m "g:www-data:rwx" tmp
always work. It makes no sense to apply a transformation to a mimetype the
transform-function doesn't know to handle.</p>
<p> One can, however, use empty mime-types and global transformations which should work
for many mimetypes. You can also use transforms on a different mimetype than what they where built
for, but pay attention to option usage as well as what the transformation does to your
column.</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> There are 5 possible file names:</p>
<p> The file name convention is
<code>[Mimetype]_[Subtype]_[Transformation Name].class.php</code>,<br />
while the abtract class that it extends has the name
<code>[Transformation Name]TransformationsPlugin</code>.<br /><br />
All of the methods that have to be implemented by a transformations plug-in are: <Br />
<ol>
<li>getMIMEType() and getMIMESubtype() in the main class;</li>
<li>getName(), getInfo() and applyTransformation() in the abstract class it extends.</li>
</ol>
</p>
<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>
<ol><li>A mimetype+subtype transform:<br /><br />
<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
<code>libraries/plugins/transformations/generator_plugin.sh</code> or<br />
<code>libraries/plugins/transformations/generator_main_class.sh</code>.</p>
<code>[mimetype]_[subtype]__[transform].inc.php</code><br /><br />
Please not that mimetype and subtype are separated via '_', which shall
not be contained in their names. The transform function/filename may
contain only characters which cause no problems in the file system as
well as the PHP function naming convention.<br /><br />
The transform function will the be called
'<code>PMA_transform_[mimetype]_[subtype]__[transform]()</code>'.<br /><br />
<strong>Example:</strong><br /><br />
<code>text_html__formatted.inc.php</code><br />
<code>PMA_transform_text_html__formatted()</code></li>
<li>A mimetype (w/o subtype) transform:<br /><br />
<code>[mimetype]__[transform].inc.php</code><br /><br />
Please note that there are no single '_' characters.
The transform function/filename may contain only characters which cause
no problems in the file system as well as the PHP function naming
convention.<br /><br />
The transform function will the be called
'<code>PMA_transform_[mimetype]__[transform]()</code>'.<br /><br />
<strong>Example:</strong><br /><br />
<code>text__formatted.inc.php</code><br />
<code>PMA_transform_text__formatted()</code></li>
<li>A mimetype+subtype without specific transform function<br /><br />
<code>[mimetype]_[subtype].inc.php</code><br /><br />
Please note that there are no '__' characters in the filename. Do not
use special characters in the filename causing problems with the file
system.<br /><br />
No transformation function is defined in the file itself.<br /><br />
<strong>Example:</strong><br /><br />
<code>text_plain.inc.php</code><br />
(No function)</li>
<li>A mimetype (w/o subtype) without specific transform function<br /><br />
<code>[mimetype].inc.php</code><br /><br />
Please note that there are no '_' characters in the filename. Do not use
special characters in the filename causing problems with the file system.
<br /><br />
No transformation function is defined in the file itself.<br /><br />
<strong>Example:</strong><br /><br />
<code>text.inc.php</code><br />
(No function)</li>
<li>A global transform function with no specific mimetype<br /><br />
<code>global__[transform].inc.php</code><br /><br />
The transform function will the be called
'<code>PMA_transform_global__[transform]()</code>'.<br /><br />
<strong>Example:</strong><br /><br />
<code>global__formatted</code><br />
<code>PMA_transform_global__formatted()</code></li>
</ol>
<p> So generally use '_' to split up mimetype and subtype, and '__' to provide a
transform function.</p>
<p> All filenames containing no '__' in themselves are not shown as valid transform
functions in the dropdown.</p>
<p> Please see the libraries/transformations/TEMPLATE file for adding your own transform
function. See the libraries/transformations/TEMPLATE_MIMETYPE for adding a mimetype
without a transform function.</p>
<p> To create a new transform function please see
<code>libraries/transformations/template_generator.sh</code>.
To create a new, empty mimetype please see
<code>libraries/transformations/template_generator_mimetype.sh</code>.</p>
<p> A transform function always gets passed three variables:</p>
<p> The applyTransformation() method always gets passed three variables:</p>
<ol><li><strong>$buffer</strong> - Contains the text inside of the column. This is the text,
you want to transform.</li>
@ -2615,18 +2543,6 @@ setfacl -d -m "g:www-data:rwx" tmp
column (i.e. 'text/plain', 'image/jpeg' etc.)</li>
</ol>
<p> Additionally you should also provide additional function to provide
information about the transformation to the user. This function should
have same name as transformation function just with appended
<code>_info</code> suffix. This function accepts no parameters and returns
array with information about the transformation. Currently following keys
can be used:
</p>
<dl>
<dt><code>info</code></dt>
<dd>Long description of the transformation.</dd>
</dl>
<!-- FAQ -->
<h2 id="faq">FAQ - Frequently Asked Questions</h2>

View File

@ -792,6 +792,7 @@ class PMA_Table
// do not create the table if dataonly
if ($what != 'dataonly') {
require_once "libraries/plugin_interface.lib.php";
// get Export SQL instance
$export_sql_plugin = PMA_getPlugin(
"export",

View File

@ -13,7 +13,7 @@ if (! defined('PHPMYADMIN')) {
require_once "PluginObserver.class.php";
/**
* Provides a common interface that will have to implemented by all of the
* Provides a common interface that will have to be implemented by all of the
* authentication plugins.
*
* @package PhpMyAdmin

View File

@ -13,7 +13,7 @@ if (! defined('PHPMYADMIN')) {
require_once "PluginObserver.class.php";
/**
* Provides a common interface that will have to implemented by all of the
* Provides a common interface that will have to be implemented by all of the
* export plugins. Some of the plugins will also implement other public
* methods, but those are not declared here, because they are not implemented
* by all export plugins.

View File

@ -13,7 +13,7 @@ if (! defined('PHPMYADMIN')) {
require_once "PluginObserver.class.php";
/**
* Provides a common interface that will have to implemented by all of the
* Provides a common interface that will have to be implemented by all of the
* import plugins.
*
* @package PhpMyAdmin

View File

@ -10,7 +10,7 @@ if (! defined('PHPMYADMIN')) {
}
/**
* Provides a common interface that will have to implemented by all of the
* Provides a common interface that will have to be implemented by all of the
* transformations plugins.
*
* @package PhpMyAdmin

View File

@ -0,0 +1,46 @@
<?php
// vim: expandtab sw=4 ts=4 sts=4:
/**
* This file contains the basic structure for a specific MIME Type and Subtype
* transformations class.
* For instructions, read the /Documentation.html file.
*
* @package PhpMyAdmin-Transformations
* @subpackage [TransformationName]
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* Get the [TransformationName] transformations interface */
require_once "abstract/[TransformationName]TransformationsPlugin.class.php";
/**
* Handles the [TransformationName] transformation for [MIMEType] - [MIMESubtype]
*
* @package PhpMyAdmin
*/
class [MIMEType]_[MIMESubtype]_[TransformationName]
extends [TransformationName]TransformationsPlugin
{
/**
* Gets the plugin`s MIME type
*
* @return string
*/
public static function getMIMEType()
{
return "[MIMEType]";
}
/**
* Gets the plugin`s MIME subtype
*
* @return string
*/
public static function getMIMESubtype()
{
return "[MIMESubtype]";
}
}
?>

View File

@ -0,0 +1,89 @@
<?php
// vim: expandtab sw=4 ts=4 sts=4:
/**
* This file contains the basic structure for an abstract class defining a
* transformation.
* For instructions, read the /Documentation.html file.
*
* @package PhpMyAdmin-Transformations
* @subpackage [TransformationName]
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* Get the transformations interface */
require_once "libraries/plugins/TransformationsPlugin.class.php";
/**
* Provides common methods for all of the [TransformationName] transformations plugins.
*
* @package PhpMyAdmin
*/
abstract class [TransformationName]TransformationsPlugin
extends TransformationsPlugin
{
/**
* Gets the transformation description of the specific plugin
*
* @return string
*/
public static function getInfo()
{
return __(
'Description of the transformation.'
);
}
/**
* Does the actual work of each specific transformations plugin.
*
* @param string $buffer text to be transformed
* @param array $options transformation options
* @param string $meta meta information
*
* @return void
*/
public function applyTransformation($buffer, $options = array(), $meta = '')
{
// possibly use a global transform and feed it with special options
// 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;
}
/**
* This method is called when any PluginManager to which the observer
* is attached calls PluginManager::notify()
*
* @param SplSubject $subject The PluginManager notifying the observer
* of an update.
*
* @todo implement
* @return void
*/
public function update (SplSubject $subject)
{
;
}
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Gets the TransformationName of the specific plugin
*
* @return string
*/
public static function getName()
{
return "[TransformationName]";
}
}
?>

View File

@ -0,0 +1,16 @@
#!/bin/bash
#
# Shell script that creates only the main class for a new transformation
# plug-in, using a template
#
# $1: MIMEType
# $2: MIMESubtype
# $3: Transformation Name
if [ $# != 3 ]
then
echo -e "Usage: ./generator_main_class.sh MIMEType MIMESubtype TransformationName\n"
exit 65
fi
./generator_plugin.sh "$1" "$2" "$3" "--generate_only_main_class"

View File

@ -0,0 +1,64 @@
#!/bin/bash
#
# Shell script that creates a new transformation plug-in (both main and
# abstract class) using a template.
#
# The 'description' parameter will add a new entry in the language file.
# Watch out for special escaping.
#
# $1: MIMEType
# $2: MIMESubtype
# $3: Transformation Name
# $4: (optional) Description
echo $#
if [ $# -ne 3 -a $# -ne 4 ]; then
echo -e "Usage: ./generator_plugin.sh MIMEType MIMESubtype TransformationName [Description]\n"
exit 65
fi
# make sure that the MIME Type, MIME Subtype and Transformation names
# are in the correct format
# make all names lowercase
MT="`echo $1 | tr [:upper:] [:lower:]`"
MS="`echo $2 | tr [:upper:] [:lower:]`"
TN="`echo $3 | tr [:upper:] [:lower:]`"
# make first letter uppercase
MT="${MT^}"
MS="${MS^}"
TN="${TN^}"
# make the first letter after each underscore uppercase
MT="`echo $MT`"
MT="`echo $MT | sed -e 's/_./\U&\E/g'`"
MS="`echo $MS`"
MS="`echo $MS | sed -e 's/_./\U&\E/g'`"
TN="`echo $TN`"
TN="`echo $TN | sed -e 's/_./\U&\E/g'`"
# define the name of the main class file and of its template
ClassFile=$MT\_$MS\_$TN.class.php
Template=TEMPLATE
# define the name of the abstract class file and its template
AbstractClassFile=abstract/"$TN"TransformationsPlugin.class.php
AbstractTemplate=TEMPLATE_ABSTRACT
# replace template names with argument names
sed "s/\[MIMEType]/$MT/; s/\[MIMESubtype\]/$MS/; s/\[TransformationName\]/$TN/;" < $Template > $ClassFile
echo "Created $ClassFile"
GenerateAbstractClass=1
if [ -n $4 ]; then
if [ "$4" == "--generate_only_main_class" ]; then
if [ -e $AbstractClassFile ]; then
GenerateAbstractClass=0
fi
fi
fi
if [ $GenerateAbstractClass -eq 1 ]; then
# replace template names with argument names
sed "s/\[TransformationName\]/$TN/; s/Description of the transformation./$4/;" < $AbstractTemplate > $AbstractClassFile
echo "Created $AbstractClassFile"
fi
echo ""

View File

@ -1,38 +0,0 @@
<?php
// vim: expandtab sw=4 ts=4 sts=4:
/**
* Plugin function TEMPLATE (Garvin Hicking).
* -----------------------------------------
*
* For instructions, read the /Documentation.html file.
*
* The basic filename usage for any plugin, residing in the libraries/transformations directory is:
*
* -- <mime_type>_<mime_subtype>__<transformation_name>.inc.php
*
* 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]_info()
{
return array(
'info' => __('Description of the transformation.'),
);
}
function PMA_transformation_[ENTER_FILENAME_HERE]($buffer, $options = array(), $meta = '')
{
// possibly use a global transform and feed it with special options
// 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;
}
?>

View File

@ -1,12 +0,0 @@
<?php
// 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.
*/
?>

View File

@ -1,23 +0,0 @@
#!/bin/bash
#
# 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:]`"
sed "s/\[ENTER_FILENAME_HERE\]/$functionupper/; s/\[enter_filename_here\]/$functionlower/; s/Description of the transformation./$3/;" < $1 > $2.inc.php
echo "Created $2.inc.php"
echo ""

View File

@ -1,24 +0,0 @@
#!/bin/bash
#
# 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."

View File

@ -1,19 +0,0 @@
#!/bin/bash
#
# 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."

350
po/ca.po

File diff suppressed because it is too large Load Diff

View File

@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.0.0-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2012-07-03 09:19+0200\n"
"PO-Revision-Date: 2012-05-26 20:03+0200\n"
"Last-Translator: Aso Naderi <aso.naderi@gmail.com>\n"
"PO-Revision-Date: 2012-07-04 20:30+0200\n"
"Last-Translator: Hunar kirkuk <huner.kurdish@gmail.com>\n"
"Language-Team: none\n"
"Language: ckb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 1.0\n"
"X-Generator: Weblate 1.1\n"
#: browse_foreigners.php:36 browse_foreigners.php:60 js/messages.php:354
#: libraries/DisplayResults.class.php:609 server_privileges.php:1851
@ -777,9 +777,9 @@ msgid "Bad parameters!"
msgstr ""
#: export.php:196 export.php:227 export.php:781
#, php-format
#, php-format, fuzzy
msgid "Insufficient space to save the file %s."
msgstr ""
msgstr "پاشکەوتکردنی فایل وەک"
#: export.php:362
#, php-format
@ -799,7 +799,7 @@ msgstr ""
#: file_echo.php:21
msgid "Invalid export type"
msgstr ""
msgstr "هەناردنی ئەم جۆرە ڕێگەپێدراو نییە"
#: gis_data_editor.php:75
#, php-format
@ -919,7 +919,7 @@ msgid ""
"No data was received to import. Either no file name was submitted, or the "
"file size exceeded the maximum size permitted by your PHP configuration. See "
"[a@./Documentation.html#faq1_16@Documentation]FAQ 1.16[/a]."
msgstr ""
msgstr "هێنان"
#: import.php:412
msgid ""
@ -1025,7 +1025,7 @@ msgstr ""
#. l10n: Default description for the y-Axis of Charts
#: js/messages.php:48
msgid "Total count"
msgstr ""
msgstr "تێکڕای گشتی"
#: js/messages.php:51
msgid "The host name is empty!"
@ -1040,8 +1040,9 @@ msgid "The password is empty!"
msgstr "وشەی نهێنی بەتاڵە!"
#: js/messages.php:54 server_privileges.php:1446 user_password.php:112
#, fuzzy
msgid "The passwords aren't the same!"
msgstr ""
msgstr "وشە نهێنیەکان وەک خۆیان نین"
#: js/messages.php:55 server_privileges.php:1965 server_privileges.php:1989
#: server_privileges.php:2405 server_privileges.php:2601
@ -2279,20 +2280,20 @@ msgstr ""
#: libraries/Advisor.class.php:425 server_status.php:972
msgid "per second"
msgstr ""
msgstr "لە چرکەیەک دا"
#: libraries/Advisor.class.php:428 server_status.php:967
msgid "per minute"
msgstr ""
msgstr "لە خولەکێک دا"
#: libraries/Advisor.class.php:431 server_status.php:963 server_status.php:999
#: server_status.php:1129 server_status.php:1192
msgid "per hour"
msgstr ""
msgstr "لە کاتژمێرێکدا"
#: libraries/Advisor.class.php:434
msgid "per day"
msgstr ""
msgstr "لە ڕؤژێکدا"
#: libraries/CommonFunctions.class.php:251
#, php-format
@ -2305,7 +2306,7 @@ msgstr ""
#: libraries/display_export.lib.php:248 libraries/engines/pbxt.lib.php:114
#: libraries/relation.lib.php:90 main.php:249 server_variables.php:130
msgid "Documentation"
msgstr ""
msgstr "به‌ڵگه‌سازی"
#. l10n: Please check that translation actually exists.
#: libraries/CommonFunctions.class.php:534
@ -2330,12 +2331,12 @@ msgstr "en"
#: libraries/insert_edit.lib.php:1195 tbl_operations.php:232
#: tbl_relation.php:292 view_operations.php:55
msgid "Error"
msgstr ""
msgstr "هەڵە"
#: libraries/CommonFunctions.class.php:683 server_status.php:613
#: server_status.php:1295 sql.php:969
msgid "SQL query"
msgstr ""
msgstr "داواکاری SQL"
#: libraries/CommonFunctions.class.php:727
#: libraries/rte/rte_events.lib.php:105 libraries/rte/rte_events.lib.php:110
@ -6212,7 +6213,7 @@ msgstr ""
#: libraries/display_select_lang.lib.php:52
#: libraries/display_select_lang.lib.php:53 setup/frames/index.inc.php:75
msgid "Language"
msgstr ""
msgstr "زمان"
#: libraries/engines/bdb.lib.php:25 main.php:248
msgid "Version information"
@ -7142,7 +7143,7 @@ msgstr ""
#: libraries/plugins/export/ExportSql.class.php:703
#: libraries/plugins/export/ExportXml.class.php:200
msgid "Server version"
msgstr ""
msgstr "وەشانی ڕاژە"
#: libraries/plugins/export/ExportLatex.class.php:231
#: libraries/plugins/export/ExportSql.class.php:705

135
po/da.po
View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.0.0-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2012-07-03 09:19+0200\n"
"PO-Revision-Date: 2012-07-04 01:34+0200\n"
"PO-Revision-Date: 2012-07-05 23:51+0200\n"
"Last-Translator: Aputsiaq Niels Janussen <aj@isit.gl>\n"
"Language-Team: danish <da@li.org>\n"
"Language: da\n"
@ -1059,7 +1059,7 @@ msgstr "Intet brugernavn!"
#: js/messages.php:53 server_privileges.php:1448 user_password.php:109
msgid "The password is empty!"
msgstr "Der er ikke angivet nogen adgangskode"
msgstr "Adgangskoden er tom!"
#: js/messages.php:54 server_privileges.php:1446 user_password.php:112
msgid "The passwords aren't the same!"
@ -1397,7 +1397,7 @@ msgid ""
"restart:"
msgstr ""
"De følgende indstillinger vil blive anvendt globalt og nulstillet til "
"standard ved genstart af server"
"standard ved genstart af server:"
#. l10n: %s is FILE or TABLE
#: js/messages.php:153
@ -2489,7 +2489,7 @@ msgstr "%s dage, %s timer, %s minutter og %s sekunder"
#: libraries/CommonFunctions.class.php:2204
msgid "Missing parameter:"
msgstr "Manglende parameter"
msgstr "Manglende parameter:"
#: libraries/CommonFunctions.class.php:2624
#: libraries/CommonFunctions.class.php:2628
@ -3088,10 +3088,10 @@ msgid "Source database `%s` was not found!"
msgstr "Kildedatabasen '%s' blev ikke fundet!"
#: libraries/Table.class.php:774
#, fuzzy, php-format
#, php-format
#| msgid "Theme %s not found!"
msgid "Target database `%s` was not found!"
msgstr "Tema %s ikke fundet!"
msgstr "Mål-databasen '%s' blev ikke fundet!"
#: libraries/Table.class.php:1200
msgid "Invalid database"
@ -3107,10 +3107,10 @@ msgid "Error renaming table %1$s to %2$s"
msgstr "Fejl ved omdøbning af tabel %1$s til %2$s"
#: libraries/Table.class.php:1265
#, fuzzy, php-format
#, php-format
#| msgid "Table %s has been renamed to %s"
msgid "Table %1$s has been renamed to %2$s."
msgstr "Tabellen %s er nu omdøbt til %s"
msgstr "Tabellen %1$s er nu omdøbt til %2$s."
#: libraries/Table.class.php:1409
msgid "Could not save table UI preferences"
@ -3165,7 +3165,7 @@ msgstr "Rediger/Indsæt"
#: libraries/TableSearch.class.php:795
msgid "Select columns (at least one):"
msgstr "Vælg mindst een kolonne"
msgstr "Vælg kolonner (mindst én):"
#: libraries/TableSearch.class.php:815
msgid "Add search conditions (body of the \"where\" clause):"
@ -3215,10 +3215,9 @@ msgid "How to use"
msgstr "Hvordan man bruger"
#: libraries/TableSearch.class.php:1227
#, fuzzy
#| msgid "Reset"
msgid "Reset zoom"
msgstr "Nulstil"
msgstr "Nulstil zoom"
#: libraries/Theme.class.php:169
#, php-format
@ -3323,10 +3322,10 @@ msgid "An alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE"
msgstr ""
#: libraries/Types.class.php:319 libraries/Types.class.php:721
#, fuzzy, php-format
#, php-format
#| msgid "Create version %s of %s.%s"
msgid "A date, supported range is %1$s to %2$s"
msgstr "Opret version %s af %s.%s"
msgstr "En dato, understøttet interval er %1$s til %2$s"
#: libraries/Types.class.php:321 libraries/Types.class.php:723
#, php-format
@ -3340,10 +3339,10 @@ msgid ""
msgstr ""
#: libraries/Types.class.php:325 libraries/Types.class.php:727
#, fuzzy, php-format
#, php-format
#| msgid "Error renaming table %1$s to %2$s"
msgid "A time, range is %1$s to %2$s"
msgstr "Fejl ved omdøbning af tabel %1$s til %2$s"
msgstr "Et tidspunkt, interval er %1$s til %2$s"
#: libraries/Types.class.php:327
msgid ""
@ -3448,10 +3447,9 @@ msgid "A curve with linear interpolation between points"
msgstr ""
#: libraries/Types.class.php:363
#, fuzzy
#| msgid "Add a polygon"
msgid "A polygon"
msgstr "Tilføj polygon"
msgstr "En polygon"
#: libraries/Types.class.php:365
msgid "A collection of points"
@ -3475,21 +3473,18 @@ msgid "Numeric"
msgstr ""
#: libraries/Types.class.php:642 libraries/Types.class.php:976
#, fuzzy
#| msgid "Create an index"
msgctxt "date and time types"
msgid "Date and time"
msgstr "Lav et nyt indeks"
msgstr "Dato og tid"
#: libraries/Types.class.php:651 libraries/Types.class.php:979
#, fuzzy
#| msgid "Linestring"
msgctxt "string types"
msgid "String"
msgstr "Linjestreng"
msgstr "Streng"
#: libraries/Types.class.php:672
#, fuzzy
#| msgid "Spatial"
msgctxt "spatial types"
msgid "Spatial"
@ -3610,7 +3605,6 @@ msgid "Could not load default configuration from: %1$s"
msgstr "Kunne ikke indlæse standardkonfiguration fra: %1$s"
#: libraries/common.inc.php:588
#, fuzzy
#| msgid ""
#| "The <code>$cfg['PmaAbsoluteUri']</code> directive MUST be set in your "
#| "configuration file!"
@ -3618,7 +3612,7 @@ msgid ""
"The [code]$cfg['PmaAbsoluteUri'][/code] directive MUST be set in your "
"configuration file!"
msgstr ""
"<code>$cfg['PmaAbsoluteUri']</code> direktivet SKAL være sat i din "
"Direktitvet [code]$cfg['PmaAbsoluteUri'][/code] SKAL være sat i din "
"konfigurationsfil!"
#: libraries/common.inc.php:621
@ -3949,10 +3943,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:37
#, fuzzy
#| msgid "Customize text input fields"
msgid "Minimum size for input field"
msgstr "Tilpas tekstfelter"
msgstr "Mindste størrelse for input-felt"
#: libraries/config/messages.inc.php:38
msgid ""
@ -3961,10 +3954,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:39
#, fuzzy
#| msgid "Maximum size for temporary sort files"
msgid "Maximum size for input field"
msgstr "Maksimal størrelse for midlertidige sorteringsfiler"
msgstr "Maksimal størrelse for input-felt"
#: libraries/config/messages.inc.php:40
msgid "Number of columns for CHAR/VARCHAR textareas"
@ -4053,10 +4045,9 @@ msgid "Whether the table structure actions should be hidden"
msgstr ""
#: libraries/config/messages.inc.php:59
#, fuzzy
#| msgid "Propose table structure"
msgid "Hide table structure actions"
msgstr "Foreslå tabelstruktur"
msgstr "Skjul handlinger for tabelstruktur"
#: libraries/config/messages.inc.php:60
msgid "Show binary contents as HEX by default"
@ -4629,20 +4620,18 @@ msgid "Customize startup page"
msgstr "Tilpas opstartside"
#: libraries/config/messages.inc.php:228
#, fuzzy
#| msgid "Database server"
msgid "Database structure"
msgstr "Database server"
msgstr "Database-struktur"
#: libraries/config/messages.inc.php:229
msgid "Choose which details to show in the database structure (list of tables)"
msgstr ""
#: libraries/config/messages.inc.php:230
#, fuzzy
#| msgid "Database server"
msgid "Table structure"
msgstr "Database server"
msgstr "Tabel-struktur"
#: libraries/config/messages.inc.php:231
msgid "Settings for the table structure (list of columns)"
@ -4816,10 +4805,9 @@ msgid "Minimum number of tables to display the table filter box"
msgstr "Mindste antal tabeller der skal vises i tabel-filterboksen"
#: libraries/config/messages.inc.php:281
#, fuzzy
#| msgid "Minimum number of tables to display the table filter box"
msgid "Minimum number of databases to display the database filter box"
msgstr "Mindste antal tabeller der skal vises i tabel-filterboksen"
msgstr "Mindste antal databaser, der skal vises i database-filterboksen"
#: libraries/config/messages.inc.php:282
msgid "String that separates databases into different tree levels"
@ -5308,10 +5296,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:388
#, fuzzy
#| msgid "Control user"
msgid "Control host"
msgstr "Kontrolbruger"
msgstr "Kontrolvært"
#: libraries/config/messages.inc.php:389
msgid "Count tables when showing database list"
@ -5393,10 +5380,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:405
#, fuzzy
#| msgid "Maximum number of tables displayed in table list"
msgid "Maximal number of table preferences to store"
msgstr "Maksimalt antal tabeller vist i tabellisten"
msgstr "Maksimalt antal tabel-præferencer, der lagres"
#: libraries/config/messages.inc.php:406
msgid "Try to connect without password"
@ -5692,10 +5678,9 @@ msgid "Show or hide a column displaying the Creation timestamp for all tables"
msgstr ""
#: libraries/config/messages.inc.php:461
#, fuzzy
#| msgid "Show more actions"
msgid "Show Creation timestamp"
msgstr "Vis flere operationer"
msgstr "Vis tidsstempel for oprettelse"
#: libraries/config/messages.inc.php:462
msgid ""
@ -5712,10 +5697,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:465
#, fuzzy
#| msgid "Show master status"
msgid "Show Last check timestamp"
msgstr "Vis master status"
msgstr "Vis tidsstempel for Seneste tjek"
#: libraries/config/messages.inc.php:466
msgid ""
@ -6121,18 +6105,18 @@ msgid "possible deep recursion attack"
msgstr "muligt dybt rekursionsangreb"
#: libraries/database_interface.lib.php:1966
#, fuzzy
#| msgid " the local MySQL server's socket is not correctly configured)"
msgid ""
"The server is not responding (or the local server's socket is not correctly "
"configured)."
msgstr "(eller den lokale MySQL servers socket er ikke korrekt konfigureret)"
msgstr ""
"Serveren svarer ikke (eller den lokale servers socket er ikke korrekt "
"konfigureret)."
#: libraries/database_interface.lib.php:1969
#, fuzzy
#| msgid "The server is not responding"
msgid "The server is not responding."
msgstr "Serveren svarer ikke"
msgstr "Serveren svarer ikke."
#: libraries/database_interface.lib.php:1974
msgid "Please check privileges of directory containing database."
@ -6155,13 +6139,13 @@ msgstr[0] "<b>I alt:</b> <i>%s</i> sammenfald"
msgstr[1] "<b>I alt</b> <i>%s</i> sammenfald"
#: libraries/db_search.lib.php:211
#, fuzzy, php-format
#, php-format
#| msgid "%1$s match inside table <i>%2$s</i>"
#| msgid_plural "%1$s matches inside table <i>%2$s</i>"
msgid "%1$s match in <strong>%2$s</strong>"
msgid_plural "%1$s matches in <strong>%2$s</strong>"
msgstr[0] "%1$s sammenfald i tabel <i>%2$s</i>"
msgstr[1] "%1$s sammenfald i tabel <i>%2$s</i>"
msgstr[0] "%1$s sammenfald i <strong>%2$s</strong>"
msgstr[1] "%1$s sammenfald i <strong>%2$s</strong>"
#: libraries/db_search.lib.php:233
#, php-format
@ -6402,7 +6386,7 @@ msgstr ""
#: libraries/display_export.lib.php:367 libraries/display_import.lib.php:326
msgid "Encoding Conversion:"
msgstr "Inkodningskonvertering"
msgstr "Konvertering af indkodning:"
#: libraries/display_git_revision.lib.php:59
#, php-format
@ -6418,16 +6402,16 @@ msgid "Git revision"
msgstr ""
#: libraries/display_git_revision.lib.php:70
#, fuzzy, php-format
#, php-format
#| msgid "Create version %s of %s.%s"
msgid "committed on %1$s by %2$s"
msgstr "Opret version %s af %s.%s"
msgstr "indsendt den %1$s af %2$s"
#: libraries/display_git_revision.lib.php:78
#, fuzzy, php-format
#, php-format
#| msgid "Create version %s of %s.%s"
msgid "authored on %1$s by %2$s"
msgstr "Opret version %s af %s.%s"
msgstr "forfattet den %1$s af %2$s"
#: libraries/display_import.lib.php:68
msgid ""
@ -6445,10 +6429,9 @@ msgid "%s of %s"
msgstr ""
#: libraries/display_import.lib.php:85
#, fuzzy
#| msgid "Format of imported file"
msgid "Uploading your import file..."
msgstr "Format på importeret fil"
msgstr "Overfører din importfil ..."
#: libraries/display_import.lib.php:93
#, php-format
@ -6921,10 +6904,10 @@ msgid "Edit structure by following the \"Structure\" link"
msgstr "Rediger struktur ved at følge linket \"Struktur\""
#: libraries/import.lib.php:1178
#, fuzzy, php-format
#, php-format
#| msgid "Go to database"
msgid "Go to database: %s"
msgstr "Gå til database"
msgstr "Gå til databasen: %s"
#: libraries/import.lib.php:1181 libraries/import.lib.php:1209
#, php-format
@ -6932,10 +6915,10 @@ msgid "Edit settings for %s"
msgstr "Rediger indstillinger for %s"
#: libraries/import.lib.php:1204
#, fuzzy, php-format
#, php-format
#| msgid "Go to table"
msgid "Go to table: %s"
msgstr "Gå til tabel"
msgstr "Gå til tabellen: %s"
#: libraries/import.lib.php:1207
#, php-format
@ -6943,10 +6926,10 @@ msgid "Structure of %s"
msgstr "Strukturen af %s"
#: libraries/import.lib.php:1215
#, fuzzy, php-format
#, php-format
#| msgid "Go to view"
msgid "Go to view: %s"
msgstr "Gå til view"
msgstr "Gå til view: %s"
#: libraries/insert_edit.lib.php:235 libraries/insert_edit.lib.php:266
#: pmd_general.php:174
@ -7055,10 +7038,9 @@ msgid "Add prefix"
msgstr "Tilføj præfiks"
#: libraries/mult_submits.inc.php:309
#, fuzzy
#| msgid "Do you really want to "
msgid "Do you really want to execute the following query?"
msgstr "Er du sikker på at du vil "
msgstr "Er du sikker på at du vil udføre følgende forespørgsel?"
#: libraries/mult_submits.inc.php:533 tbl_replace.php:243
msgid "No change"
@ -7550,16 +7532,14 @@ msgid "MediaWiki Table"
msgstr "MediaWiki tabel"
#: libraries/plugins/export/ExportMediawiki.class.php:77
#, fuzzy
#| msgid "Export contents"
msgid "Export table names"
msgstr "Eksport indhold"
msgstr "Eksportér tabelnavne"
#: libraries/plugins/export/ExportMediawiki.class.php:84
#, fuzzy
#| msgid "horizontal (rotated headers)"
msgid "Export table headers"
msgstr "vandret (roterede overskrifter)"
msgstr "Eksportér tabel-hoveder"
#: libraries/plugins/export/ExportPdf.class.php:69
msgid "PDF"
@ -7730,7 +7710,7 @@ msgstr "RELATIONS FOR TABLE (Relationer for tabellen)"
#: libraries/plugins/export/ExportSql.class.php:1537
msgid "Error reading data:"
msgstr "Fejl ved læsning af data."
msgstr "Fejl ved læsning af data:"
#: libraries/plugins/export/ExportXml.class.php:68
#: libraries/plugins/import/ImportXml.class.php:49
@ -7820,10 +7800,10 @@ msgid "This plugin does not support compressed imports!"
msgstr "Denne plugin understøtter ikke komprimeret import!"
#: libraries/plugins/import/ImportMediawiki.class.php:298
#, fuzzy, php-format
#, php-format
#| msgid "Invalid format of CSV input on line %d."
msgid "Invalid format of mediawiki input on line: <br />%s."
msgstr "Ugyldigt format for CSV-input på linie %d."
msgstr "Ugyldigt format for mediawiki-input på linje: <br />%s."
#: libraries/plugins/import/ImportOds.class.php:73
msgid "Import percentages as proper decimals <i>(ex. 12.00% to .12)</i>"
@ -7867,7 +7847,7 @@ msgstr "MySQL Spatial Extension understøtter ikke ESRI type \"%s\"."
#: libraries/plugins/import/ImportShp.class.php:256
msgid "The imported file does not contain any data"
msgstr "Den importerede fil indeholder ingen data!"
msgstr "Den importerede fil indeholder ingen data"
#: libraries/plugins/import/ImportSql.class.php:57
msgid "SQL compatibility mode:"
@ -8034,11 +8014,10 @@ msgid "not OK"
msgstr "ikke OK"
#: libraries/relation.lib.php:94
#, fuzzy
#| msgid "OK"
msgctxt "Correctly working"
msgid "OK"
msgstr "OK"
msgstr "O.K."
#: libraries/relation.lib.php:97
msgid "Enabled"
@ -11236,7 +11215,7 @@ msgstr "Opdateringsfrekvens"
#: server_status.php:1662
msgid "Chart columns"
msgstr "Diagramkolonner:"
msgstr "Diagramkolonner"
#: server_status.php:1678
msgid "Chart arrangement"
@ -11375,7 +11354,7 @@ msgstr "Slet serie"
#: server_status.php:1776
msgid "Series in Chart:"
msgstr "Serier i diagram"
msgstr "Serier i diagram:"
#: server_status.php:1791
msgid "Log statistics"

View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 3.5.2-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2012-07-03 09:19+0200\n"
"PO-Revision-Date: 2012-07-04 11:24+0200\n"
"PO-Revision-Date: 2012-07-05 21:15+0200\n"
"Last-Translator: Ashiyane Digital Security Team <HeXa.ashiyane@gmail.com>\n"
"Language-Team: persian <fa@li.org>\n"
"Language: fa\n"
@ -2673,7 +2673,7 @@ msgstr "تنظمیات دسترسی اشتباه در فایل تنظیمات ،
#: libraries/Config.class.php:1521
msgid "Font size"
msgstr "اندازه حروف"
msgstr "اندازه فونت"
#: libraries/DisplayResults.class.php:500
msgid "Save edited data"
@ -6179,10 +6179,9 @@ msgid "Exporting rows from \"%s\" table"
msgstr "ساخت جدول جديد در پايگاه داده %s"
#: libraries/display_export.lib.php:105
#, fuzzy
#| msgid "Export"
msgid "Export Method:"
msgstr "صدور"
msgstr "صدور:"
#: libraries/display_export.lib.php:121
msgid "Quick - display only the minimal options"
@ -6193,10 +6192,9 @@ msgid "Custom - display all possible options"
msgstr ""
#: libraries/display_export.lib.php:145
#, fuzzy
#| msgid "Databases"
msgid "Database(s):"
msgstr "پايگاههاي داده"
msgstr "پايگاههاي داده:"
#: libraries/display_export.lib.php:147
#, fuzzy

View File

@ -13616,15 +13616,14 @@ msgstr "concurrent_insert está definido a 0"
#~ "No description is available for this transformation.<br />Please ask the "
#~ "author what %s does."
#~ msgstr ""
#~ "Non existe descrición desta transformación.<br />Pregúntelle ao autor que "
#~ "é o que fai %s."
#~ "Non existe descrición desta transformación.<br />Pregúntelle ao autor que é "
#~ "o que fai %s."
#~ msgid ""
#~ "MIME types printed in italics do not have a separate transformation "
#~ "function"
#~ msgstr ""
#~ "Os tipos MIME en cursiva non contan cunha función de transformación "
#~ "separada"
#~ "Os tipos MIME en cursiva non contan cunha función de transformación separada"
#~ msgid "rows"
#~ msgstr "Visualizar"

279
po/nb.po
View File

@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.0.0-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2012-07-03 09:19+0200\n"
"PO-Revision-Date: 2012-07-04 16:03+0200\n"
"PO-Revision-Date: 2012-07-09 03:26+0200\n"
"Last-Translator: Nicholas Arnesen <baretester@live.no>\n"
"Language-Team: norwegian <no@li.org>\n"
"Language: nb\n"
@ -1180,6 +1180,11 @@ msgid ""
"likely that your current configuration will not work anymore. Please reset "
"your configuration to default in the <i>Settings</i> menu."
msgstr ""
"Den grafiske fremstillinskonfigurasjonen i din nettlesers lokale lager er "
"ikke lengre kompatibel til den nyere versjonen av overvåkningsdialogen. Det "
"er veldig sannsynlig at din nåværende konfigurasjon ikke vil fungere lengre. "
"Vennlist tilbakestill din konfigurasjon til standard i menyen "
"<i>Innstillinger</i>."
#: js/messages.php:93
msgid "Query cache efficiency"
@ -1396,94 +1401,90 @@ msgstr ""
#. l10n: %s is FILE or TABLE
#: js/messages.php:153
#, fuzzy, php-format
#, php-format
#| msgid "Save output to a file"
msgid "Set log_output to %s"
msgstr "Lagre utdata til fil"
msgstr "Lagre utdata til %s"
#. l10n: Enable in this context means setting a status variable to ON
#: js/messages.php:155
#, fuzzy, php-format
#, php-format
#| msgid "Enabled"
msgid "Enable %s"
msgstr "Påslått"
msgstr "Aktiver %s"
#. l10n: Disable in this context means setting a status variable to OFF
#: js/messages.php:157
#, fuzzy, php-format
#, php-format
#| msgid "Disabled"
msgid "Disable %s"
msgstr "Avslått"
msgstr "Deaktiver %s"
#. l10n: %d seconds
#: js/messages.php:159
#, php-format
msgid "Set long_query_time to %ds"
msgstr ""
msgstr "Sett long_query_time til %ds"
#: js/messages.php:160
msgid ""
"You can't change these variables. Please log in as root or contact your "
"database administrator."
msgstr ""
"Du kan ikke endre disse verdiene. Logg inn som root eller kontakt din "
"databaseadministrator."
#: js/messages.php:161
#, fuzzy
#| msgid "Manage your settings"
msgid "Change settings"
msgstr "Endre dine innstillinger"
msgstr "Endre innstillinger"
#: js/messages.php:162
#, fuzzy
#| msgid "More settings"
msgid "Current settings"
msgstr "Flere innstillinger"
msgstr "Nåværende innstillinger"
#: js/messages.php:164 server_status.php:1726
#, fuzzy
#| msgid "Report title"
msgid "Chart Title"
msgstr "Rapporttittel"
msgstr "Fremstillings-tittel"
#. l10n: As in differential values
#: js/messages.php:166
#, fuzzy
#| msgid "Difference"
msgid "Differential"
msgstr "Differanse"
msgstr "Differensial"
#: js/messages.php:167
#, php-format
msgid "Divided by %s"
msgstr ""
msgstr "Delt på %s"
#: js/messages.php:168
msgid "Unit"
msgstr ""
msgstr "Enhet"
#: js/messages.php:170
msgid "From slow log"
msgstr ""
msgstr "Fra langsom logg"
#: js/messages.php:171
msgid "From general log"
msgstr ""
msgstr "Fra generell logg"
#: js/messages.php:172
#, fuzzy
#| msgid "Loading"
msgid "Analysing logs"
msgstr "Laster"
msgstr "Analyserer logger"
#: js/messages.php:173
msgid "Analysing & loading logs. This may take a while."
msgstr ""
msgstr "Analyserer og laster inn logger. Dette kan ta tid."
#: js/messages.php:174
#, fuzzy
#| msgid "Read requests"
msgid "Cancel request"
msgstr "Leseforespørsler"
msgstr "Avbryt forespørsel"
#: js/messages.php:175
msgid ""
@ -1491,6 +1492,9 @@ msgid ""
"However only the SQL query itself has been used as a grouping criteria, so "
"the other attributes of queries, such as start time, may differ."
msgstr ""
"Denne kolonnen viser antallet identiske spørringer som er gruppert sammen. "
"Men kun SQL-spørringene har blitt brukt som en grupperingskriterie, så andre "
"attributter i spørringer som starter samtidig kan variere."
#: js/messages.php:176
msgid ""
@ -1498,38 +1502,38 @@ msgid ""
"same table are also being grouped together, disregarding of the inserted "
"data."
msgstr ""
"Ettersom gruppering av INSERT-spørringer har blitt valgt så vil INSERT-"
"spørringer i samme tabellen bli gruppert sammen, uten hensyn til de innsatte "
"dataene."
#: js/messages.php:177
msgid "Log data loaded. Queries executed in this time span:"
msgstr ""
"Loggdata lastet inn. Spørringer vil bli utført i løpet av denne tidsplanen:"
#: js/messages.php:179
#, fuzzy
#| msgid "Jump to database"
msgid "Jump to Log table"
msgstr "Gå til database"
msgstr "Gå til Loggtabellen"
#: js/messages.php:180
#, fuzzy
#| msgid "No databases"
msgid "No data found"
msgstr "Ingen databaser"
msgstr "Ingen data funnet"
#: js/messages.php:181
msgid "Log analysed, but no data found in this time span."
msgstr ""
msgstr "Logg analysert, men ingen data var funnet i løpet av tidsperioden."
#: js/messages.php:183
#, fuzzy
#| msgid "Analyze"
msgid "Analyzing..."
msgstr "Analyser"
msgstr "Analyserer..."
#: js/messages.php:184
#, fuzzy
#| msgid "Explain SQL"
msgid "Explain output"
msgstr "Forklar SQL"
msgstr "Forklar utdata"
#: js/messages.php:186 js/messages.php:516
#: libraries/plugins/export/ExportHtmlword.class.php:477
@ -1540,47 +1544,41 @@ msgid "Time"
msgstr "Tid"
#: js/messages.php:187
#, fuzzy
#| msgid "Total"
msgid "Total time:"
msgstr "Totalt"
msgstr "Total tid:"
#: js/messages.php:188
#, fuzzy
#| msgid "Profiling"
msgid "Profiling results"
msgstr "Profilering"
msgstr "Profiliserer resultater"
#: js/messages.php:189
#, fuzzy
#| msgid "Table"
msgctxt "Display format"
msgid "Table"
msgstr "Tabell"
#: js/messages.php:190
#, fuzzy
msgid "Chart"
msgstr "Tegnsett"
msgstr "Grafisk fremstilling"
#: js/messages.php:191
#, fuzzy
#| msgid "Apply index(s)"
msgid "Edit chart"
msgstr "Utfør indeks(er)"
msgstr "Endre fremstilling"
#: js/messages.php:192
#, fuzzy
#| msgid "SQL queries"
msgid "Series"
msgstr "SQL spørringer"
msgstr "Serier"
#. l10n: A collection of available filters
#: js/messages.php:195
#, fuzzy
#| msgid "Tables display options"
msgid "Log table filter options"
msgstr "Tabellvisningsinnstillinger"
msgstr "Logg tabellfiltervalgene"
#. l10n: Filter as in "Start Filtering"
#: js/messages.php:197
@ -1589,33 +1587,30 @@ msgstr "Filtrer"
#: js/messages.php:198
msgid "Filter queries by word/regexp:"
msgstr ""
msgstr "Filtrer spørringer med ord/regexp:"
#: js/messages.php:199
msgid "Group queries, ignoring variable data in WHERE clauses"
msgstr ""
msgstr "Grupper spørringer, og ignorer varierende data brukt i WHERE-muligheter"
#: js/messages.php:200
#, fuzzy
#| msgid "Number of inserted rows"
msgid "Sum of grouped rows:"
msgstr "Antall innsettingsrader"
msgstr "Sum av grupperte rader:"
#: js/messages.php:201
#, fuzzy
#| msgid "Total"
msgid "Total:"
msgstr "Totalt"
msgstr "Totalt:"
#: js/messages.php:203
#, fuzzy
#| msgid "Loading"
msgid "Loading logs"
msgstr "Laster"
msgstr "Laster logger"
#: js/messages.php:204
msgid "Monitor refresh failed"
msgstr ""
msgstr "Visningsoppdatering feilet"
#: js/messages.php:205
msgid ""
@ -1623,26 +1618,32 @@ msgid ""
"This is most likely because your session expired. Reloading the page and "
"reentering your credentials should help."
msgstr ""
"Imens nytt diagramdata ble forespurt, returnerte serveren en ugyldig "
"respons. Dette er mest sannsynlig begrunnet at din sesjon utgikk. Det burde "
"hjelpe å laste inn siden og logge inn på nytt."
#: js/messages.php:206
#, fuzzy
#| msgid "Reload"
msgid "Reload page"
msgstr "Oppdater"
msgstr "Oppdater siden"
#: js/messages.php:208
msgid "Affected rows:"
msgstr ""
msgstr "Berørte rader:"
#: js/messages.php:210
msgid "Failed parsing config file. It doesn't seem to be valid JSON code."
msgstr ""
"Feilet analyseringen av konfigurasjonsfilen. Det virker ikke som det er "
"gyldig JSON-kode."
#: js/messages.php:211
msgid ""
"Failed building chart grid with imported config. Resetting to default "
"config..."
msgstr ""
"Kunne ikke bygge diagramrutenett med importert konfigurasjon. Setter til "
"standardkonfigurasjon..."
#: js/messages.php:212 libraries/Menu.class.php:309
#: libraries/Menu.class.php:396 libraries/Menu.class.php:493
@ -1652,60 +1653,54 @@ msgid "Import"
msgstr "Importer"
#: js/messages.php:213
#, fuzzy
#| msgid "Could not load default configuration from: %1$s"
msgid "Import monitor configuration"
msgstr "Kunne ikke laste standard konfigurasjonsfil fra: %1$s"
msgstr "Importer overvåkningskonfigurasjon"
#: js/messages.php:214
#, fuzzy
#| msgid "Please select the primary key or a unique key"
msgid "Please select the file you want to import"
msgstr "Velg primærnøkkelen eller en unik nøkkel"
msgstr "Velg filen du vil importere"
#: js/messages.php:216
#, fuzzy
#| msgid "Update Query"
msgid "Analyse Query"
msgstr "Oppdater spørring"
msgstr "Analyser Spørring"
#: js/messages.php:220
msgid "Advisor system"
msgstr ""
msgstr "Rådgivningssystem"
#: js/messages.php:221
msgid "Possible performance issues"
msgstr ""
msgstr "Mulige ytelsesproblemer"
#: js/messages.php:222
msgid "Issue"
msgstr ""
msgstr "Problem"
#: js/messages.php:223
#, fuzzy
#| msgid "Documentation"
msgid "Recommendation"
msgstr "Dokumentasjon"
msgstr "Anbefaling"
#: js/messages.php:224
#, fuzzy
#| msgid "Details..."
msgid "Rule details"
msgstr "Detaljer..."
msgstr "Regeldetaljer"
#: js/messages.php:225
#, fuzzy
#| msgid "Authentication"
msgid "Justification"
msgstr "Godkjenning"
msgstr "Begrunnelse"
#: js/messages.php:226
msgid "Used variable / formula"
msgstr ""
msgstr "Brukt variabel / formel"
#: js/messages.php:227
msgid "Test"
msgstr ""
msgstr "Test"
#: js/messages.php:232 pmd_general.php:417 pmd_general.php:454
#: pmd_general.php:574 pmd_general.php:622 pmd_general.php:698
@ -1745,7 +1740,7 @@ msgstr "OK"
#: js/messages.php:242
msgid "Click to dismiss this notification"
msgstr ""
msgstr "Klikk for å overse dette varselet"
#: js/messages.php:245
msgid "Renaming Databases"
@ -1768,22 +1763,19 @@ msgid "Table must have at least one column"
msgstr "Tabellen må ha minst en kolonne"
#: js/messages.php:254
#, fuzzy
#| msgid "Use Tables"
msgid "Insert Table"
msgstr "Bruk tabeller"
msgstr "Sett inn tabell"
#: js/messages.php:255
#, fuzzy
#| msgid "Apply index(s)"
msgid "Hide indexes"
msgstr "Utfør indeks(er)"
msgstr "Skjul indekser"
#: js/messages.php:256
#, fuzzy
#| msgid "Show grid"
msgid "Show indexes"
msgstr "Vis rutenett"
msgstr "Vis indekser"
#: js/messages.php:257 libraries/mult_submits.inc.php:317
#, fuzzy
@ -1808,32 +1800,28 @@ msgid "Searching"
msgstr "Søker"
#: js/messages.php:263
#, fuzzy
#| msgid "Hide search criteria"
msgid "Hide search results"
msgstr "Skjul søkekriterier"
msgstr "Skjul søkeresultater"
#: js/messages.php:264
#, fuzzy
#| msgid "Show search criteria"
msgid "Show search results"
msgstr "Vis søkekriterier"
msgstr "Vis søkeresultater"
#: js/messages.php:265
#, fuzzy
#| msgid "Browse"
msgid "Browsing"
msgstr "Se på"
msgstr "Leser"
#: js/messages.php:266
#, fuzzy
#| msgid "Deleting %s"
msgid "Deleting"
msgstr "Sletter %s"
msgstr "Sletter"
#: js/messages.php:269
msgid "The definition of a stored function must contain a RETURN statement!"
msgstr ""
msgstr "Definisjonen av en lagret funksjon må inneholde RETURN erklæring!"
#: js/messages.php:272 libraries/rte/rte_routines.lib.php:747
msgid "ENUM/SET editor"
@ -1853,15 +1841,17 @@ msgid "Enter each value in a separate field"
msgstr "Skriv hver verdi i et eget felt"
#: js/messages.php:276
#, fuzzy, php-format
#, php-format
#| msgid "+ Add a new value"
msgid "Add %d value(s)"
msgstr "+ Legg til ny verdi"
msgstr "Legg til %d verdi(er)"
#: js/messages.php:279
msgid ""
"Note: If the file contains multiple tables, they will be combined into one"
msgstr ""
"Legg merke til: Om filen inneholder flere tabeller, så vil de kombineres til "
"en tabell"
#: js/messages.php:282
msgid "Hide query box"
@ -1881,10 +1871,9 @@ msgid "Change"
msgstr "Endre"
#: js/messages.php:287
#, fuzzy
#| msgid "Maximum execution time"
msgid "Query execution time"
msgstr "Maks kjøretid"
msgstr "Spørringens utførelsestid"
#: js/messages.php:288 libraries/DisplayResults.class.php:523
#: libraries/DisplayResults.class.php:531
@ -1917,15 +1906,15 @@ msgstr "Søk"
#: js/messages.php:300
msgid "Each point represents a data row."
msgstr ""
msgstr "Hvert punkt representerer en datarad."
#: js/messages.php:302
msgid "Hovering over a point will show its label."
msgstr ""
msgstr "Ved å ha musen over punktet vises dets etikett."
#: js/messages.php:304
msgid "To zoom in, select a section of the plot with the mouse."
msgstr ""
msgstr "For å zoome inn, velger en del for plotteområdet med musen."
#: js/messages.php:306
msgid "Click reset zoom button to come back to original state."
@ -1940,26 +1929,23 @@ msgid "The plot can be resized by dragging it along the bottom right corner."
msgstr ""
#: js/messages.php:312
#, fuzzy
#| msgid "Add/Delete columns"
msgid "Select two columns"
msgstr "Legg til/Slett kolonner"
msgstr "Velg to kolonner"
#: js/messages.php:313
msgid "Select two different columns"
msgstr ""
msgstr "Velg to forskjellige kolonner"
#: js/messages.php:314
#, fuzzy
#| msgid "Query results operations"
msgid "Query results"
msgstr "Spørringsresultatshandlinger"
msgstr "Spørringsresultater"
#: js/messages.php:315
#, fuzzy
#| msgid "Data pointer size"
msgid "Data point content"
msgstr "Datapekerstørrelse"
msgstr "Datapunktinnhold"
#: js/messages.php:318 tbl_change.php:244 tbl_indexes.php:249
#: tbl_indexes.php:284
@ -1968,13 +1954,12 @@ msgstr "Ignorer"
#: js/messages.php:319 libraries/DisplayResults.class.php:2592
msgid "Copy"
msgstr ""
msgstr "Kopier"
#: js/messages.php:334
#, fuzzy
#| msgid "Add column"
msgid "Add columns"
msgstr "Legg til kolonne(r)"
msgstr "Legg til kolonner"
#: js/messages.php:337
msgid "Select referenced key"
@ -1997,6 +1982,8 @@ msgid ""
"You haven't saved the changes in the layout. They will be lost if you don't "
"save them. Do you want to continue?"
msgstr ""
"Du har ikke lagret endringene i utseendet. De vil forsvinne om du ikke "
"lagrer dem. Ønsker du å fortsette?"
#: js/messages.php:344
msgid "Add an option for column "
@ -2004,27 +1991,28 @@ msgstr "Legg til valg for kolonne "
#: js/messages.php:347
msgid "Press escape to cancel editing"
msgstr ""
msgstr "Trykk escape for å avbryte endring"
#: js/messages.php:348
msgid ""
"You have edited some data and they have not been saved. Are you sure you "
"want to leave this page before saving the data?"
msgstr ""
"Du har endret en del data og de har ikke blitt lagret. Er du sikker på at du "
"vil forlate denne siden før du lagrer dataene?"
#: js/messages.php:349
msgid "Drag to reorder"
msgstr ""
msgstr "Dra for å omplassere"
#: js/messages.php:350
#, fuzzy
#| msgid "Click to select"
msgid "Click to sort"
msgstr "Klikk for å velge"
msgstr "Klikk for å sortere"
#: js/messages.php:351
msgid "Click to mark/unmark"
msgstr ""
msgstr "Klikk for å markere/ta vekk markering"
#: js/messages.php:352
msgid "Double-click to copy column name"
@ -2032,7 +2020,7 @@ msgstr ""
#: js/messages.php:353
msgid "Click the drop-down arrow<br />to toggle column's visibility"
msgstr ""
msgstr "Klikk pilen som peker ned<br />for å bytte på kolonnens synlighet"
#: js/messages.php:355
msgid ""
@ -2044,12 +2032,13 @@ msgstr ""
msgid ""
"You can also edit most columns<br />by clicking directly on their content."
msgstr ""
"Du kan også endre de fleste kolonnene<br /> ved å klikke direkte på "
"innholdet."
#: js/messages.php:357
#, fuzzy
#| msgid "Go to view"
msgid "Go to link"
msgstr "Gå til visning"
msgstr "Gå til link"
#: js/messages.php:358
#, fuzzy
@ -2098,10 +2087,9 @@ msgid ", latest stable version:"
msgstr ", siste tilgjengelige versjon:"
#: js/messages.php:374
#, fuzzy
#| msgid "Jump to database"
msgid "up to date"
msgstr "Gå til database"
msgstr "er oppdatert"
#. l10n: Display text for calendar close link
#: js/messages.php:393
@ -2109,14 +2097,12 @@ msgid "Done"
msgstr "Utført"
#: js/messages.php:397
#, fuzzy
#| msgid "Prev"
msgctxt "Previous month"
msgid "Prev"
msgstr "Forrige"
#: js/messages.php:402
#, fuzzy
#| msgid "Next"
msgctxt "Next month"
msgid "Next"
@ -2266,7 +2252,6 @@ msgstr "Lørdag"
#. l10n: Short week day name
#: js/messages.php:468
#, fuzzy
#| msgctxt "Short week day name"
#| msgid "Sun"
msgid "Sun"
@ -2345,15 +2330,14 @@ msgstr "Uke"
#. l10n: Month-year order for calendar, use either "calendar-month-year" or "calendar-year-month".
#: js/messages.php:506
msgid "calendar-month-year"
msgstr ""
msgstr "kalender-måned-år"
#. l10n: Year suffix for calendar, "none" is empty.
#: js/messages.php:508
#, fuzzy
#| msgid "None"
msgctxt "Year suffix"
msgid "none"
msgstr "Ingen"
msgstr "ingen"
#: js/messages.php:517
msgid "Hour"
@ -2429,7 +2413,7 @@ msgstr "per time"
#: libraries/Advisor.class.php:434
msgid "per day"
msgstr ""
msgstr "hver dag"
#: libraries/CommonFunctions.class.php:251
#, php-format
@ -2691,11 +2675,11 @@ msgstr "Skriv ut"
#: libraries/Config.class.php:915
#, php-format
msgid "Existing configuration file (%s) is not readable."
msgstr ""
msgstr "Nåværende konfigurasjonsfil (%s) er ikke lesbar."
#: libraries/Config.class.php:945
msgid "Wrong permissions on configuration file, should not be world writable!"
msgstr ""
msgstr "Gale tillatelser på konfigurasjonsfilen, den burde ikke være skrivbar!"
#: libraries/Config.class.php:1521
msgid "Font size"
@ -2905,11 +2889,11 @@ msgstr "Link ikke funnet"
#: libraries/Error_Handler.class.php:65
msgid "Too many error messages, some are not displayed."
msgstr ""
msgstr "For mange feilmeldinger, noen vises ikke."
#: libraries/File.class.php:235
msgid "File was not an uploaded file."
msgstr ""
msgstr "Filen var ikke en opplastet fil."
#: libraries/File.class.php:273
msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
@ -2954,11 +2938,11 @@ msgstr ""
#: libraries/File.class.php:485
msgid "Error while moving uploaded file."
msgstr ""
msgstr "Feil oppstod imens den opplastede filen ble flyttet."
#: libraries/File.class.php:493
msgid "Cannot read (moved) upload file."
msgstr ""
msgstr "Kan ikke lese (flyttet) opplastet fil."
#: libraries/Footer.class.php:197 libraries/Footer.class.php:201
#: libraries/Footer.class.php:204
@ -3139,28 +3123,24 @@ msgstr[0] "%1$d rader innsatt."
msgstr[1] "%1$d rader innsatt."
#: libraries/PDF.class.php:88
#, fuzzy
#| msgid "Allows reading data."
msgid "Error while creating PDF:"
msgstr "Tillater lesing av data."
msgstr "Feil oppstod under oppretting av PDF:"
#: libraries/RecentTable.class.php:112
#, fuzzy
#| msgid "Could not save configuration"
msgid "Could not save recent table"
msgstr "Kunne ikke lagre konfigurasjonen"
msgstr "Kunne ikke lagre tabell"
#: libraries/RecentTable.class.php:147
#, fuzzy
#| msgid "Count tables"
msgid "Recent tables"
msgstr "Tell tabeller"
msgstr "Tidligere tabeller"
#: libraries/RecentTable.class.php:154
#, fuzzy
#| msgid "There are no configured servers"
msgid "There are no recent tables"
msgstr "Der finnes ingen konfigurerte tjenere"
msgstr "Det er ikke noen nylig brukte tabeller"
#: libraries/StorageEngine.class.php:214
msgid ""
@ -3184,10 +3164,9 @@ msgid "This MySQL server does not support the %s storage engine."
msgstr "Denne MySQL tjeneren har ikke støtte for %s lagringsmotoren."
#: libraries/Table.class.php:355
#, fuzzy
#| msgid "Show slave status"
msgid "unknown table status: "
msgstr "Vis slavestatus"
msgstr "ukjent tabellstatus: "
#: libraries/Table.class.php:766
#, fuzzy, php-format
@ -3363,7 +3342,7 @@ msgstr "Stilsti ble ikke funnet for stilen %s!"
#: libraries/Theme_Manager.class.php:363 themes.php:16 themes.php:21
msgid "Theme"
msgstr ""
msgstr "Tema"
#: libraries/Types.class.php:295
msgid ""
@ -3706,10 +3685,9 @@ msgid "Check Privileges"
msgstr "Kontroller privilegier"
#: libraries/common.inc.php:572
#, fuzzy
#| msgid "Could not save configuration"
msgid "Failed to read configuration file"
msgstr "Kunne ikke lagre konfigurasjonen"
msgstr "Kunne ikke lese konfigurasjonsfilen"
#: libraries/common.inc.php:574
msgid ""
@ -3759,7 +3737,7 @@ msgstr ""
#: libraries/common.inc.php:1083
msgid "possible exploit"
msgstr ""
msgstr "mulig sikkerhetshull"
#: libraries/common.inc.php:1092
msgid "numeric key detected"
@ -7479,7 +7457,7 @@ msgstr ""
#: libraries/plugins/auth/AuthenticationCookie.class.php:42
msgid "Failed to use Blowfish from mcrypt!"
msgstr ""
msgstr "Kunne ikke bruke Blowfish fra mcrypt!"
#: libraries/plugins/auth/AuthenticationCookie.class.php:81
msgid "Your session has expired. Please login again."
@ -7534,10 +7512,9 @@ msgid "Wrong username/password. Access denied."
msgstr "Ugyldig brukernavn/passord. Ingen tilgang."
#: libraries/plugins/auth/AuthenticationSignon.class.php:102
#, fuzzy
#| msgid "Config authentication"
msgid "Can not find signon authentication script:"
msgstr "Konfigurer vertsautentisering"
msgstr "Kunne ikke finne signon autentiseringsscriptet:"
#: libraries/plugins/auth/swekey/swekey.auth.lib.php:132
#, php-format
@ -9417,10 +9394,9 @@ msgid "Official Homepage"
msgstr "Offisiell phpMyAdmin-hjemmeside"
#: main.php:254
#, fuzzy
#| msgid "Attributes"
msgid "Contribute"
msgstr "Attributter"
msgstr "Bidra"
#: main.php:255
#, fuzzy
@ -9428,10 +9404,9 @@ msgid "Get support"
msgstr "Eksporter"
#: main.php:256
#, fuzzy
#| msgid "No change"
msgid "List of changes"
msgstr "Ingen endring"
msgstr "Endringsliste"
#: main.php:281
msgid ""

View File

@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 4.0.0-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2012-07-03 09:19+0200\n"
"PO-Revision-Date: 2012-07-04 15:59+0200\n"
"Last-Translator: Marcelo Altmann <altmannmarcelo@gmail.com>\n"
"PO-Revision-Date: 2012-07-08 20:32+0200\n"
"Last-Translator: Keven do Nascimento Carneiro <kevennascimento@ovi.com>\n"
"Language-Team: brazilian_portuguese <pt_BR@li.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
@ -6405,7 +6405,6 @@ msgid "gzipped"
msgstr "compactado com gzip"
#: libraries/display_export.lib.php:339
#, fuzzy
#| msgid "\"bzipped\""
msgid "bzipped"
msgstr "compactado com bzip"
@ -6806,7 +6805,7 @@ msgstr ""
#: libraries/engines/pbxt.lib.php:48
msgid "Transaction buffer size"
msgstr ""
msgstr "Tamanho do buffer de transação"
#: libraries/engines/pbxt.lib.php:49
msgid ""

View File

@ -1,6 +1,6 @@
<?php
/**
* Tests for displaing results
* Tests for Error.class.php
*
* @package PhpMyAdmin-test
*/

View File

@ -11,12 +11,30 @@
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/List_Database.class.php';
require_once 'libraries/relation.lib.php';
class PMA_List_Database_test extends PHPUnit_Framework_TestCase
{
public function setup()
{
$GLOBALS['cfg']['Server']['only_db'] = array('single\\_db');
$this->object = $this->getMockForAbstractClass('PMA_List_Database');
}
/**
* Call protected functions by making the visibitlity to public.
*
* @param string $name method name
* @param array $params parameters for the invocation
*
* @return the output from the protected method.
*/
private function _callProtectedFunction($name, $params)
{
$class = new ReflectionClass('PMA_List_Database');
$method = $class->getMethod($name);
$method->setAccessible(true);
return $method->invokeArgs($this->object, $params);
}
public function testEmpty()
@ -54,5 +72,73 @@ class PMA_List_Database_test extends PHPUnit_Framework_TestCase
$arr = new PMA_List_Database;
$this->assertEquals('<option value="single_db">single_db</option>' . "\n", $arr->getHtmlOptions());
}
/**
* Test for checkHideDatabase
*/
public function testCheckHideDatabase()
{
$GLOBALS['cfg']['Server']['hide_db'] = array('single\\_db');
$this->assertEquals(
$this->_callProtectedFunction(
'checkHideDatabase',
array()
),
''
);
}
/**
* Test for getDefault
*/
public function testGetDefault()
{
$GLOBALS['db'] = '';
$this->assertEquals(
$this->object->getDefault(),
''
);
$GLOBALS['db'] = 'mysql';
$this->assertEquals(
$this->object->getDefault(),
'mysql'
);
}
/**
* Test for getGroupedDetails
*/
public function testGetGroupedDetails()
{
$GLOBALS['cfg']['ShowTooltip'] = true;
$GLOBALS['cfgRelation']['commwork'] = true;
$GLOBALS['server'] = 1;
$GLOBALS['cfg']['LeftFrameDBTree'] = true;
$GLOBALS['cfg']['LeftFrameDBSeparator'] = array('|',',');
$this->assertEquals(
$this->object->getGroupedDetails(10, 100),
array()
);
}
/**
* Test for getHtmlListGrouped
*/
public function testGetHtmlListGrouped()
{
$GLOBALS['cfg']['ShowTooltip'] = true;
$GLOBALS['cfgRelation']['commwork'] = true;
$GLOBALS['server'] = 1;
$GLOBALS['cfg']['LeftFrameDBTree'] = true;
$GLOBALS['cfg']['LeftFrameDBSeparator'] = array('|',',');
$this->assertEquals(
$this->object->getHtmlListGrouped(true,5,5),
'<ul id="databaseList" lang="en" dir="ltr">
</ul>'
);
}
}
?>

View File

@ -0,0 +1,137 @@
<?php
/**
* Tests for Script.class.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/Scripts.class.php';
class PMA_Scripts_test extends PHPUnit_Framework_TestCase
{
/**
* @access protected
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*
* @access protected
* @return void
*/
protected function setUp()
{
$this->object = $this->getMockForAbstractClass('PMA_Scripts');
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*
* @access protected
* @return void
*/
protected function tearDown()
{
unset($this->object);
}
/**
* Call private functions by making the visibitlity to public.
*
* @param string $name method name
* @param array $params parameters for the invocation
*
* @return the output from the private method.
*/
private function _callPrivateFunction($name, $params)
{
$class = new ReflectionClass('PMA_Scripts');
$method = $class->getMethod($name);
$method->setAccessible(true);
return $method->invokeArgs($this->object, $params);
}
/**
* Test for _includeFile
*
* @param tring $url Location of javascript, relative to js/ folder.
* @param int $timestamp The date when the file was last modified
* @param string $ie_conditional true - wrap with IE conditional comment
* 'lt 9' etc. - wrap for specific IE version
* @param $output output from the _includeFile method
*
* @dataProvider providerForTestIncludeFile
*/
public function testIncludeFile($url, $timestamp, $ie_conditional, $output){
$this->assertEquals(
$this->_callPrivateFunction(
'_includeFile',
array($url, $timestamp, $ie_conditional)
),
$output
);
}
/**
* @return array data for testIncludeFile
*/
public function providerForTestIncludeFile(){
return array(
array(
'common.js',
null,
true,
'<!--[if IE]>
<script src="common.js" type="text/javascript"></script>
<![endif]-->
'
),
array(
'common.js',
null,
false,
'<script src="common.js" type="text/javascript"></script>
'
)
);
}
/**
* Test for getDisplay
*/
public function testGetDisplay(){
$this->object->addFile('common.js');
$this->object->addEvent('onClick', 'doSomething');
$this->assertEquals(
$this->object->getDisplay(),
'<script src="js/common.js?ts=1339744334" type="text/javascript"></script>
<script type="text/javascript">// <![CDATA[
$(window.parent).bind(\'onClick\', doSomething);
// ]]></script>'
);
}
/**
* test for addCode
*/
public function testAddCode(){
$this->object->addCode('alert(\'CodeAdded\')');
$this->assertEquals(
$this->object->getDisplay(),
'<script type="text/javascript">// <![CDATA[
alert(\'CodeAdded\')
// ]]></script>'
);
}
}

View File

@ -0,0 +1,240 @@
<?php
/**
* Tests for StorageEngine.class.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/StorageEngine.class.php';
require_once 'libraries/php-gettext/gettext.inc';
require_once 'libraries/CommonFunctions.class.php';
class PMA_StorageEngine_test extends PHPUnit_Framework_TestCase
{
/**
* @access protected
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*
* @access protected
* @return void
*/
protected function setUp()
{
if (! defined('PMA_DRIZZLE')) {
define('PMA_DRIZZLE', 1);
}
if (! function_exists('PMA_DBI_fetch_result')) {
function PMA_DBI_fetch_result($query)
{
return array(
'dummy' =>'table1',
'table`2');
}
}
$this->object = $this->getMockForAbstractClass('PMA_StorageEngine', array('dummy'));
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*
* @access protected
* @return void
*/
protected function tearDown()
{
unset($this->object);
}
/**
* Test for getStorageEngines
*/
public function testGetStorageEngines(){
$this->assertEquals(
$this->object->getStorageEngines(),
array(
'dummy' => 'table1',
0 => 'table`2'
)
);
}
/**
* Test for getHtmlSelect
*/
public function testGetHtmlSelect(){
$this->assertEquals(
$this->object->getHtmlSelect(),
'<select name="engine">
<option value="dummy" title="t">
t
</option>
<option value="0" title="t">
t
</option>
</select>
'
);
}
/**
* Test for getEngine
*/
public function testGetEngine(){
$this->assertTrue(
$this->object->getEngine('dummy') instanceof PMA_StorageEngine
);
}
/**
* Test for isValid
*/
public function testIsValid(){
$this->assertTrue(
$this->object->isValid('PBMS')
);
$this->assertTrue(
$this->object->isValid('dummy')
);
}
/**
* Test for getPage
*/
public function testGetPage(){
$this->assertFalse(
$this->object->getPage(1)
);
}
/**
* Test for getInfoPages
*/
public function testGetInfoPages(){
$this->assertEquals(
$this->object->getInfoPages(),
array()
);
}
/**
* Test for getVariablesLikePattern
*/
public function testGetVariablesLikePattern(){
$this->assertFalse(
$this->object->getVariablesLikePattern()
);
}
/**
* Test for getMysqlHelpPage
*/
public function testGetMysqlHelpPage(){
$this->assertEquals(
$this->object->getMysqlHelpPage(),
'dummy-storage-engine'
);
}
/**
* Test for getVariables
*/
public function testGetVariables(){
$this->assertEquals(
$this->object->getVariables(),
array()
);
}
/**
* Test for getSupportInformationMessage
*/
public function testGetSupportInformationMessage(){
$this->assertEquals(
$this->object->getSupportInformationMessage(),
'This MySQL server does not support the t storage engine.'
);
$this->object->support = 1;
$this->assertEquals(
$this->object->getSupportInformationMessage(),
't has been disabled for this MySQL server.'
);
$this->object->support = 2;
$this->assertEquals(
$this->object->getSupportInformationMessage(),
't is available on this MySQL server.'
);
$this->object->support = 3;
$this->assertEquals(
$this->object->getSupportInformationMessage(),
't is the default storage engine on this MySQL server.'
);
}
/**
* Test for getComment
*/
public function testGetComment(){
$this->assertEquals(
$this->object->getComment(),
't'
);
}
/**
* Test for getTitle
*/
public function testGetTitle(){
$this->assertEquals(
$this->object->getTitle(),
't'
);
}
/**
* Test for engine_init
*/
public function testEngine_init(){
$this->assertNull(
$this->object->engine_init()
);
}
/**
* Test for resolveTypeSize
*/
public function testResolveTypeSize(){
$this->assertEquals(
$this->object->resolveTypeSize(12),
array(
0 => 12,
1 => 'B'
)
);
}
}

View File

@ -14,6 +14,8 @@ require_once 'libraries/url_generating.lib.php';
require_once 'libraries/php-gettext/gettext.inc';
require_once 'libraries/Theme.class.php';
require_once 'libraries/Theme_Manager.class.php';
require_once 'libraries/Config.class.php';
require_once 'libraries/core.lib.php';
class PMA_Theme_Manager_test extends PHPUnit_Framework_TestCase
{
@ -25,6 +27,7 @@ class PMA_Theme_Manager_test extends PHPUnit_Framework_TestCase
$GLOBALS['cfg']['ServerDefault'] = 0;
$GLOBALS['server'] = 99;
$_SESSION[' PMA_token '] = 'token';
$GLOBALS['PMA_Config'] = new PMA_Config();
}
public function testCookieName()
@ -46,5 +49,58 @@ class PMA_Theme_Manager_test extends PHPUnit_Framework_TestCase
$this->assertContains('<option value="pmahomme" selected="selected">', $tm->getHtmlSelectBox());
}
/**
* Test for setThemeCookie
*/
public function testSetThemeCookie(){
$tm = new PMA_Theme_Manager();
$this->assertTrue(
$tm->setThemeCookie()
);
}
/**
* Test for checkConfig
*/
public function testCheckConfig(){
$tm = new PMA_Theme_Manager();
$this->assertNull(
$tm->checkConfig()
);
}
/**
* Test for makeBc
*/
public function testMakeBc(){
$tm = new PMA_Theme_Manager();
$this->assertNull(
$tm->makeBc()
);
$this->assertEquals($GLOBALS['theme'],'pmahomme');
$this->assertEquals($GLOBALS['pmaThemePath'],'./themes/pmahomme');
$this->assertEquals($GLOBALS['pmaThemeImage'],'./themes/pmahomme/img/');
}
/**
* Test for getPrintPreviews
*/
public function testGetPrintPreviews(){
$tm = new PMA_Theme_Manager();
$this->assertEquals(
$tm->getPrintPreviews(),
'<div class="theme_preview"><h2>Original (2.9) </h2><p><a target="_top" class="take_theme" name="original" href="index.php?set_theme=original&amp;server=99&amp;token=token"><img src="./themes/original/screen.png" border="1" alt="Original" title="Original" /><br />[ <strong>take it</strong> ]</a></p></div><div class="theme_preview"><h2>pmahomme (1.1) </h2><p><a target="_top" class="take_theme" name="pmahomme" href="index.php?set_theme=pmahomme&amp;server=99&amp;token=token"><img src="./themes/pmahomme/screen.png" border="1" alt="pmahomme" title="pmahomme" /><br />[ <strong>take it</strong> ]</a></p></div>'
);
}
/**
* Test for getFallBackTheme
*/
public function testGetFallBackTheme(){
$tm = new PMA_Theme_Manager();
$this->assertTrue($tm->getFallBackTheme() instanceof PMA_Theme);
}
}
?>

View File

@ -8,6 +8,7 @@ require_once 'libraries/Config.class.php';
require_once 'libraries/Theme_Manager.class.php';
require_once 'libraries/php-gettext/gettext.inc';
require_once 'libraries/sqlparser.lib.php';
require_once 'libraries/url_generating.lib.php';
/**
* Test class for PMA_Theme.
@ -214,30 +215,197 @@ class PMA_ThemeTest extends PHPUnit_Framework_TestCase
}
/**
* Test for loading CSS files.
*
* @return nothing
*
* @todo Needs to be revisited as original test is somehow broken.
*/
public function testLoadCss()
{
$this->markTestIncomplete(
'This test seems to cause some problems in output buffering handling'
);
//$this->expectOutputRegex('/.*FILE: codemirror.css.php.*/');
//$this->assertTrue($this->object->loadCss());
}
/**
*
* @todo Implement testPrintPreview().
* Test for getPrintPreview().
*/
public function testPrintPreview()
{
// Remove the following lines when you implement this test.
$this->markTestIncomplete(
'This test has not been implemented yet.'
$this->assertEquals(
$this->object->getPrintPreview(),
'<div class="theme_preview"><h2> (0.0.0.0) </h2><p><a target="_top" class="take_theme" name="" href="index.php?set_theme=">No preview available.[ <strong>take it</strong> ]</a></p></div>'
);
}
/**
* Test for getCssIEClearFilter
*/
public function testGetCssIEClearFilter(){
$this->assertEquals(
$this->object->getCssIEClearFilter(),
''
);
}
/**
* Test for getFontSize
*/
public function testGetFontSize(){
$this->assertEquals(
$this->object->getFontSize(),
'82%'
);
$_COOKIE['pma_fontsize'] = '14px';
$this->assertEquals(
$this->object->getFontSize(),
'14px'
);
$GLOBALS['PMA_Config']->set('fontsize','12px');
$this->assertEquals(
$this->object->getFontSize(),
'12px'
);
}
/**
* Test for getCssGradient
*/
public function testgetCssGradient(){
$this->assertEquals(
$this->object->getCssGradient('12345', '54321'),
'background-image: url(./themes/svg_gradient.php?from=12345&to=54321);
background-size: 100% 100%;
background: -webkit-gradient(linear, left top, left bottom, from(#12345), to(#54321));
background: -webkit-linear-gradient(top, #12345, #54321);
background: -moz-linear-gradient(top, #12345, #54321);
background: -ms-linear-gradient(top, #12345, #54321);
background: -o-linear-gradient(top, #12345, #54321);'
);
}
/**
* Test for getCssCodeMirror
*/
public function testGetCssCodeMirror(){
$this->assertEquals(
$this->object->getCssCodeMirror(),
'span.cm-keyword, span.cm-statement-verb {
color: #909;
}
span.cm-variable {
color: black;
}
span.cm-comment {
color: #808000;
}
span.cm-mysql-string {
color: #008000;
}
span.cm-operator {
color: fuchsia;
}
span.cm-mysql-word {
color: black;
}
span.cm-builtin {
color: #f00;
}
span.cm-variable-2 {
color: #f90;
}
span.cm-variable-3 {
color: #00f;
}
span.cm-separator {
color: fuchsia;
}
span.cm-number {
color: teal;
}'
);
$GLOBALS['cfg']['CodemirrorEnable'] = false;
$this->assertEquals(
$this->object->getCssCodeMirror(),
''
);
}
/**
* Test for getImgPath
* @param string $file file name for image
* @param $output
*
* @dataProvider providerForGetImgPath
*/
public function testGetImgPath($file, $output){
$this->assertEquals(
$this->object->getImgPath($file),
$output
);
}
/**
* Provider for testGetImgPath
* @return array
*/
public function providerForGetImgPath(){
return array(
array(
null,
''
),
array(
'screen.png',
'./themes/pmahomme/img/screen.png'
),
array(
'arrow_ltr.png',
'./themes/pmahomme/img/arrow_ltr.png'
)
);
}
/**
* Test for buildSQPCssRule
*/
public function testBuildSQPCssRule(){
$this->assertEquals(
$this->object->buildSQPCssRule('PMA_Config', 'fontSize', '12px'),
'.PMA_Config {fontSize: 12px;}
'
);
}
/**
* Test for buildSQPCssData
*/
public function testBuildSQPCssData(){
$this->assertEquals(
$this->object->buildSQPCssData(),
'.syntax_comment {color: #808000;}
.syntax_comment_mysql {}
.syntax_comment_ansi {}
.syntax_comment_c {}
.syntax_digit {}
.syntax_digit_hex {color: teal;}
.syntax_digit_integer {color: teal;}
.syntax_digit_float {color: aqua;}
.syntax_punct {color: fuchsia;}
.syntax_alpha {}
.syntax_alpha_columnType {color: #f90;}
.syntax_alpha_columnAttrib {color: #00f;}
.syntax_alpha_reservedWord {color: #909;}
.syntax_alpha_functionName {color: #f00;}
.syntax_alpha_identifier {color: black;}
.syntax_alpha_charset {color: #6495ed;}
.syntax_alpha_variable {color: #800000;}
.syntax_quote {color: #008000;}
.syntax_quote_double {}
.syntax_quote_single {}
.syntax_quote_backtick {}
.syntax_indent0 {margin-left: 0em;}
.syntax_indent1 {margin-left: 1em;}
.syntax_indent2 {margin-left: 2em;}
.syntax_indent3 {margin-left: 3em;}
.syntax_indent4 {margin-left: 4em;}
.syntax_indent5 {margin-left: 5em;}
.syntax_indent6 {margin-left: 6em;}
.syntax_indent7 {margin-left: 7em;}
'
);
}
}

View File

@ -0,0 +1,366 @@
<?php
/**
* Tests for Types.class.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/Types.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_Types_Drizzle_test extends PHPUnit_Framework_TestCase
{
/**
* @var PMA_Types
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
$this->object = new PMA_Types_Drizzle();
}
/**
* Test for getTypeDescription
*
* @param string $type The data type to get a description.
* @param $output string
*
* @dataProvider providerForTestGetTypeDescription
*/
public function testGetTypeDescription($type, $output){
$this->assertEquals(
$this->object->getTypeDescription($type),
$output
);
}
/**
* Provider for testGetTypeDescription
* @return array
*/
public function providerForTestGetTypeDescription(){
return array(
array(
'INTEGER',
'A 4-byte integer, range is -2,147,483,648 to 2,147,483,647'
),
array(
'BIGINT',
'An 8-byte integer, range is -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807'
),
array(
'DECIMAL',
'A fixed-point number (M, D) - the maximum number of digits (M) is 65 (default 10), the maximum number of decimals (D) is 30 (default 0)'
),
array(
'DOUBLE',
'A system\'s default double-precision floating-point number'
),
array(
'BOOLEAN',
'True or false'
),
array(
'SERIAL',
'An alias for BIGINT NOT NULL AUTO_INCREMENT UNIQUE'
),
array(
'UUID',
'Stores a Universally Unique Identifier (UUID)'
),
array(
'DATE',
'A date, supported range is 0001-01-01 to 9999-12-31'
),
array(
'DATETIME',
'A date and time combination, supported range is 0001-01-01 00:00:0 to 9999-12-31 23:59:59'
),
array(
'TIMESTAMP',
'A timestamp, range is \'0001-01-01 00:00:00\' UTC to \'9999-12-31 23:59:59\' UTC; TIMESTAMP(6) can store microseconds'
),
array(
'TIME',
'A time, range is 00:00:00 to 23:59:59'
),
array(
'VARCHAR',
'A variable-length (0-16,383) string, the effective maximum length is subject to the maximum row size'
),
array(
'TEXT',
'A TEXT column with a maximum length of 65,535 (2^16 - 1) characters, stored with a two-byte prefix indicating the length of the value in bytes'
),
array(
'VARBINARY',
'A variable-length (0-65,535) string, uses binary collation for all comparisons'
),
array(
'BLOB',
'A BLOB column with a maximum length of 65,535 (2^16 - 1) bytes, stored with a four-byte prefix indicating the length of the value'
),
array(
'ENUM',
'An enumeration, chosen from the list of defined values'
),
array(
'UNKNOWN',
''
)
);
}
/**
* Test for getTypeClass
*
* @param $type
* @param $output
*
* @dataProvider providerFortTestGetTypeClass
*/
public function testGetTypeClass($type, $output){
$this->assertEquals(
$this->object->getTypeClass($type),
$output
);
}
public function providerFortTestGetTypeClass(){
return array(
array(
'SERIAL',
'NUMBER'
),
array(
'TIME',
'DATE'
),
array(
'ENUM',
'CHAR'
),
array(
'UUID',
'UUID'
),
array(
'UNKNOWN',
''
)
);
}
/**
* Test for getFunctionsClass
*
* @param string $class The class to get function list.
* @param $output array
*
* @dataProvider providerFortTestGetFunctionsClass
*/
public function testGetFunctionsClass($class, $output){
if (! function_exists('PMA_DBI_fetch_result')) {
function PMA_DBI_fetch_result($query)
{
return array('table1', 'table`2');
}
}
$this->assertEquals(
$this->object->getFunctionsClass($class),
$output
);
}
/**
* Provider for testGetFunctionsClass
* @return array
*/
public function providerFortTestGetFunctionsClass(){
return array(
array(
'UUID',
array(
'UUID'
)
),
array(
'DATE',
array(
'CURRENT_DATE',
'CURRENT_TIME',
'DATE',
'FROM_DAYS',
'FROM_UNIXTIME',
'LAST_DAY',
'NOW',
'SYSDATE',
'TIMESTAMP',
'UTC_DATE',
'UTC_TIME',
'UTC_TIMESTAMP',
'YEAR',
)
),
array(
'NUMBER',
array(
'ABS',
'ACOS',
'ASCII',
'ASIN',
'ATAN',
'BIT_COUNT',
'CEILING',
'CHAR_LENGTH',
'CONNECTION_ID',
'COS',
'COT',
'CRC32',
'DAYOFMONTH',
'DAYOFWEEK',
'DAYOFYEAR',
'DEGREES',
'EXP',
'FLOOR',
'HOUR',
'LENGTH',
'LN',
'LOG',
'LOG2',
'LOG10',
'MICROSECOND',
'MINUTE',
'MONTH',
'OCT',
'ORD',
'PI',
'QUARTER',
'RADIANS',
'RAND',
'ROUND',
'SECOND',
'SIGN',
'SIN',
'SQRT',
'TAN',
'TO_DAYS',
'TIME_TO_SEC',
'UNCOMPRESSED_LENGTH',
'UNIX_TIMESTAMP',
//'WEEK', // same as TIME
'WEEKDAY',
'WEEKOFYEAR',
'YEARWEEK',
)
),
array(
'CHAR',
array(
0 => 'BIN',
1 => 'CHAR',
2 => 'COMPRESS',
3 => 'CURRENT_USER',
4 => 'DATABASE',
5 => 'DAYNAME',
6 => 'HEX',
7 => 'LOAD_FILE',
8 => 'LOWER',
9 => 'LTRIM',
10 => 'MD5',
11 => 'MONTHNAME',
12 => 'QUOTE',
13 => 'REVERSE',
14 => 'RTRIM',
15 => 'SCHEMA',
16 => 'SPACE',
17 => 'TRIM',
18 => 'UNCOMPRESS',
19 => 'UNHEX',
20 => 'UPPER',
21 => 'USER',
22 => 'UUID',
23 => 'VERSION',
24 => 'table1',
25 => 'table`2'
)
),
array(
'UNKNOWN',
array()
)
);
}
/**
* Test for getAttributes
*/
public function testGetAttributes(){
$this->assertEquals(
$this->object->getAttributes(),
array(
'',
'on update CURRENT_TIMESTAMP',
)
);
}
/**
* Test for getColumns
*/
public function testGetColumns(){
if (! defined('PMA_MYSQL_INT_VERSION')) {
define('PMA_MYSQL_INT_VERSION', 20120130);
}
$this->assertEquals(
$this->object->getColumns(),
array(
0 => 'INT',
1 => 'VARCHAR',
2 => 'TEXT',
3 => 'DATE',
'Numeric' => array (
'INTEGER',
'BIGINT',
'-',
'DECIMAL',
'DOUBLE',
'-',
'BOOLEAN',
'SERIAL',
'UUID',
),
'Date and time' => array (
'DATE',
'DATETIME',
'TIMESTAMP',
'TIME',
),
'String' => array (
'VARCHAR',
'TEXT',
'-',
'VARBINARY',
'BLOB',
'-',
'ENUM',
'-',
'IPV6'
),
)
);
}
}

View File

@ -0,0 +1,500 @@
<?php
/**
* Tests for Types.class.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/Types.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_Types_MySQL_test extends PHPUnit_Framework_TestCase
{
/**
* @var PMA_Types
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
$this->object = new PMA_Types_MySQL();
}
/**
* Test for getTypeDescription
*
* @param string $type The data type to get a description.
* @param $output string
*
* @dataProvider providerForTestGetTypeDescription
*/
public function testGetTypeDescription($type, $output){
$this->assertEquals(
$this->object->getTypeDescription($type),
$output
);
}
/**
* Provider for testGetTypeDescription
* @return array
*/
public function providerForTestGetTypeDescription(){
return array(
array(
'TINYINT',
'A 1-byte integer, signed range is -128 to 127, unsigned range is 0 to 255'
),
array(
'SMALLINT',
'A 2-byte integer, signed range is -32,768 to 32,767, unsigned range is 0 to 65,535'
),
array(
'MEDIUMINT',
'A 3-byte integer, signed range is -8,388,608 to 8,388,607, unsigned range is 0 to 16,777,215'
),
array(
'INT',
'A 4-byte integer, signed range is -2,147,483,648 to 2,147,483,647, unsigned range is 0 to 4,294,967,295.'
),
array(
'BIGINT',
'An 8-byte integer, signed range is -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807, unsigned range is 0 to 18,446,744,073,709,551,615'
),
array(
'DECIMAL',
'A fixed-point number (M, D) - the maximum number of digits (M) is 65 (default 10), the maximum number of decimals (D) is 30 (default 0)'
),
array(
'FLOAT',
'A small floating-point number, allowable values are -3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38'
),
array(
'DOUBLE',
'A double-precision floating-point number, allowable values are -1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to 1.7976931348623157E+308'
),
array(
'REAL',
'Synonym for DOUBLE (exception: in REAL_AS_FLOAT SQL mode it is a synonym for FLOAT)'
),
array(
'BIT',
'A bit-field type (M), storing M of bits per value (default is 1, maximum is 64)'
),
array(
'BOOLEAN',
'A synonym for TINYINT(1), a value of zero is considered false, nonzero values are considered true'
),
array(
'SERIAL',
'An alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE'
),
array(
'DATE',
'A date, supported range is 1000-01-01 to 9999-12-31'
),
array(
'DATETIME',
'A date and time combination, supported range is 1000-01-01 00:00:00 to 9999-12-31 23:59:59'
),
array(
'TIMESTAMP',
'A timestamp, range is 1970-01-01 00:00:01 UTC to 2038-01-09 03:14:07 UTC, stored as the number of seconds since the epoch (1970-01-01 00:00:00 UTC)'
),
array(
'TIME',
'A time, range is -838:59:59 to 838:59:59'
),
array(
'YEAR',
'A year in four-digit (4, default) or two-digit (2) format, the allowable values are 70 (1970) to 69 (2069) or 1901 to 2155 and 0000'
),
array(
'CHAR',
'A fixed-length (0-255, default 1) string that is always right-padded with spaces to the specified length when stored'
),
array(
'VARCHAR',
'A variable-length (0-65,535) string, the effective maximum length is subject to the maximum row size'
),
array(
'TINYTEXT',
'A TEXT column with a maximum length of 255 (2^8 - 1) characters, stored with a one-byte prefix indicating the length of the value in bytes'
),
array(
'TEXT',
'A TEXT column with a maximum length of 65,535 (2^16 - 1) characters, stored with a two-byte prefix indicating the length of the value in bytes'
),
array(
'MEDIUMTEXT',
'A TEXT column with a maximum length of 16,777,215 (2^24 - 1) characters, stored with a three-byte prefix indicating the length of the value in bytes'
),
array(
'LONGTEXT',
'A TEXT column with a maximum length of 4,294,967,295 or 4GiB (2^32 - 1) characters, stored with a four-byte prefix indicating the length of the value in bytes'
),
array(
'BINARY',
'Similar to the CHAR type, but stores binary byte strings rather than non-binary character strings'
),
array(
'VARBINARY',
'Similar to the VARCHAR type, but stores binary byte strings rather than non-binary character strings'
),
array(
'TINYBLOB',
'A BLOB column with a maximum length of 255 (2^8 - 1) bytes, stored with a one-byte prefix indicating the length of the value'
),
array(
'MEDIUMBLOB',
'A BLOB column with a maximum length of 16,777,215 (2^24 - 1) bytes, stored with a three-byte prefix indicating the length of the value'
),
array(
'BLOB',
'A BLOB column with a maximum length of 65,535 (2^16 - 1) bytes, stored with a two-byte prefix indicating the length of the value'
),
array(
'LONGBLOB',
'A BLOB column with a maximum length of 4,294,967,295 or 4GiB (2^32 - 1) bytes, stored with a four-byte prefix indicating the length of the value'
),
array(
'ENUM',
'An enumeration, chosen from the list of up to 65,535 values or the special \'\' error value'
),
array(
'SET',
'A single value chosen from a set of up to 64 members'
),
array(
'GEOMETRY',
'A type that can store a geometry of any type'
),
array(
'POINT',
'A point in 2-dimensional space'
),
array(
'LINESTRING',
'A curve with linear interpolation between points'
),
array(
'POLYGON',
'A polygon'
),
array(
'MULTIPOINT',
'A collection of points'
),
array(
'MULTILINESTRING',
'A collection of curves with linear interpolation between points'
),
array(
'MULTIPOLYGON',
'A collection of polygons'
),
array(
'GEOMETRYCOLLECTION',
'A collection of geometry objects of any type'
),
array(
'UNKNOWN',
''
)
);
}
/**
* Test for getTypeClass
*
* @param $type
* @param $output
*
* @dataProvider providerFortTestGetTypeClass
*/
public function testGetTypeClass($type, $output){
$this->assertEquals(
$this->object->getTypeClass($type),
$output
);
}
public function providerFortTestGetTypeClass(){
return array(
array(
'SERIAL',
'NUMBER'
),
array(
'YEAR',
'DATE'
),
array(
'GEOMETRYCOLLECTION',
'SPATIAL'
),
array(
'SET',
'CHAR'
),
array(
'UNKNOWN',
''
)
);
}
/**
* Test for getFunctionsClass
*
* @param string $class The class to get function list.
* @param $output array
*
* @dataProvider providerFortTestGetFunctionsClass
*/
public function testGetFunctionsClass($class, $output){
if (! defined('PMA_MYSQL_INT_VERSION')) {
define('PMA_MYSQL_INT_VERSION', 50000);
}
$this->assertEquals(
$this->object->getFunctionsClass($class),
$output
);
}
public function providerFortTestGetFunctionsClass(){
return array(
array(
'CHAR',
array(
'BIN',
'CHAR',
'CURRENT_USER',
'COMPRESS',
'DATABASE',
'DAYNAME',
'DES_DECRYPT',
'DES_ENCRYPT',
'ENCRYPT',
'HEX',
'INET_NTOA',
'LOAD_FILE',
'LOWER',
'LTRIM',
'MD5',
'MONTHNAME',
'OLD_PASSWORD',
'PASSWORD',
'QUOTE',
'REVERSE',
'RTRIM',
'SHA1',
'SOUNDEX',
'SPACE',
'TRIM',
'UNCOMPRESS',
'UNHEX',
'UPPER',
'USER',
'UUID',
'VERSION',
)
),
array(
'DATE',
array(
'CURRENT_DATE',
'CURRENT_TIME',
'DATE',
'FROM_DAYS',
'FROM_UNIXTIME',
'LAST_DAY',
'NOW',
'SEC_TO_TIME',
'SYSDATE',
'TIME',
'TIMESTAMP',
'UTC_DATE',
'UTC_TIME',
'UTC_TIMESTAMP',
'YEAR',
)
),
array(
'SPATIAL',
array(
'GeomFromText',
'GeomFromWKB',
'GeomCollFromText',
'LineFromText',
'MLineFromText',
'PointFromText',
'MPointFromText',
'PolyFromText',
'MPolyFromText',
'GeomCollFromWKB',
'LineFromWKB',
'MLineFromWKB',
'PointFromWKB',
'MPointFromWKB',
'PolyFromWKB',
'MPolyFromWKB',
)
),
array(
'NUMBER',
array(
'0' => 'ABS',
'1' => 'ACOS',
'2' => 'ASCII',
'3' => 'ASIN',
'4' => 'ATAN',
'5' => 'BIT_LENGTH',
'6' => 'BIT_COUNT',
'7' => 'CEILING',
'8' => 'CHAR_LENGTH',
'9' => 'CONNECTION_ID',
'10' => 'COS',
'11' => 'COT',
'12' => 'CRC32',
'13' => 'DAYOFMONTH',
'14' => 'DAYOFWEEK',
'15' => 'DAYOFYEAR',
'16' => 'DEGREES',
'17' => 'EXP',
'18' => 'FLOOR',
'19' => 'HOUR',
'20' => 'INET_ATON',
'21' => 'LENGTH',
'22' => 'LN',
'23' => 'LOG',
'24' => 'LOG2',
'25' => 'LOG10',
'26' => 'MICROSECOND',
'27' => 'MINUTE',
'28' => 'MONTH',
'29' => 'OCT',
'30' => 'ORD',
'31' => 'PI',
'32' => 'QUARTER',
'33' => 'RADIANS',
'34' => 'RAND',
'35' => 'ROUND',
'36' => 'SECOND',
'37' => 'SIGN',
'38' => 'SIN',
'39' => 'SQRT',
'40' => 'TAN',
'41' => 'TO_DAYS',
'43' => 'TIME_TO_SEC',
'44' => 'UNCOMPRESSED_LENGTH',
'45' => 'UNIX_TIMESTAMP',
'47' => 'WEEK',
'48' => 'WEEKDAY',
'49' => 'WEEKOFYEAR',
'50' => 'YEARWEEK'
)
),
array(
'UNKNOWN',
array()
)
);
}
/**
* Test for getAttributes
*/
public function testGetAttributes(){
$this->assertEquals(
$this->object->getAttributes(),
array(
'',
'BINARY',
'UNSIGNED',
'UNSIGNED ZEROFILL',
'on update CURRENT_TIMESTAMP',
)
);
}
/**
* Test for getColumns
*/
public function testGetColumns(){
$this->assertEquals(
$this->object->getColumns(),
array(
0 => 'INT',
1 => 'VARCHAR',
2 => 'TEXT',
3 => 'DATE',
'Numeric' => array (
'TINYINT',
'SMALLINT',
'MEDIUMINT',
'INT',
'BIGINT',
'-',
'DECIMAL',
'FLOAT',
'DOUBLE',
'REAL',
'-',
'BIT',
'BOOLEAN',
'SERIAL',
),
'Date and time' => array (
'DATE',
'DATETIME',
'TIMESTAMP',
'TIME',
'YEAR',
),
'String' => array (
'CHAR',
'VARCHAR',
'-',
'TINYTEXT',
'TEXT',
'MEDIUMTEXT',
'LONGTEXT',
'-',
'BINARY',
'VARBINARY',
'-',
'TINYBLOB',
'MEDIUMBLOB',
'BLOB',
'LONGBLOB',
'-',
'ENUM',
'SET',
),
'Spatial' => array (
'GEOMETRY',
'POINT',
'LINESTRING',
'POLYGON',
'MULTIPOINT',
'MULTILINESTRING',
'MULTIPOLYGON',
'GEOMETRYCOLLECTION',
)
)
);
}
}

View File

@ -1,5 +1,13 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Tests for Types.class.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/Types.class.php';
@ -19,13 +27,254 @@ class PMA_TypesTest extends PHPUnit_Framework_TestCase
*/
protected function setUp()
{
$this->object = new PMA_Types;
$this->object = new PMA_Types();
}
/**
* Test for isUnaryOperator
*/
public function testUnary()
{
$this->assertTrue($this->object->isUnaryOperator('IS NULL'));
$this->assertFalse($this->object->isUnaryOperator('='));
}
/**
* Test for getUnaryOperators
*/
public function testGetUnaryOperators(){
$this->assertEquals($this->object->getUnaryOperators(),
array(
'IS NULL',
'IS NOT NULL',
"= ''",
"!= ''",
)
);
}
/**
* Test for getNullOperators
*/
public function testGetNullOperators(){
$this->assertEquals($this->object->getNullOperators(),
array(
'IS NULL',
'IS NOT NULL',
)
);
}
/**
* Test for getEnumOperators
*/
public function testGetEnumOperators(){
$this->assertEquals($this->object->getEnumOperators(),
array(
'=',
'!=',
)
);
}
/**
* Test for getTextOperators
*/
public function testgetTextOperators(){
$this->assertEquals($this->object->getTextOperators(),
array(
'LIKE',
'LIKE %...%',
'NOT LIKE',
'=',
'!=',
'REGEXP',
'REGEXP ^...$',
'NOT REGEXP',
"= ''",
"!= ''",
'IN (...)',
'NOT IN (...)',
'BETWEEN',
'NOT BETWEEN',
)
);
}
/**
* Test for getNumberOperators
*/
public function testGetNumberOperators(){
$this->assertEquals($this->object->getNumberOperators(),
array(
'=',
'>',
'>=',
'<',
'<=',
'!=',
'LIKE',
'NOT LIKE',
'IN (...)',
'NOT IN (...)',
'BETWEEN',
'NOT BETWEEN',
)
);
}
/**
* @param string $type Type of field
* @param boolean $null Whether field can be NULL
* @param $output
*
* @dataProvider providerForGetTypeOperators
*/
public function testGetTypeOperators($type, $null, $output){
$this->assertEquals(
$this->object->getTypeOperators($type, $null),
$output
);
}
/**
* data provider for testGetTypeOperators
*/
public function providerForGetTypeOperators(){
return array(
array(
'enum',
false,
array(
'=',
'!=',
)
),
array(
'CHAR',
true,
array(
'=',
'>',
'>=',
'<',
'<=',
'!=',
'LIKE',
'NOT LIKE',
'IN (...)',
'NOT IN (...)',
'BETWEEN',
'NOT BETWEEN',
'IS NULL',
'IS NOT NULL',
),
array(
'int',
false,
array(
'=',
'!=',
)
),
)
);
}
/**
* Test for getTypeOperatorsHtml
*
* @param string $type Type of field
* @param boolean $null Whether field can be NULL
* @param string $selectedOperator Option to be selected
* @param $output
*
* @dataProvider providerForTestGetTypeOperatorsHtml
*/
public function testGetTypeOperatorsHtml($type, $null, $selectedOperator, $output){
$this->assertEquals(
$this->object->getTypeOperatorsHtml($type, $null, $selectedOperator),
$output
);
}
/**
* Provider for testGetTypeOperatorsHtml
*/
public function providerForTestGetTypeOperatorsHtml(){
return array(
array(
'enum',
false,
'=',
'<option value="=" selected="selected">=</option><option value="!=">!=</option>'
)
);
}
/**
* Test for getTypeDescription
*/
public function testGetTypeDescription(){
$this->assertEquals(
$this->object->getTypeDescription('enum'),
''
);
}
/**
* Test for getFunctionsClass
*/
public function testGetFunctionsClass(){
$this->assertEquals(
$this->object->getFunctionsClass('enum'),
array()
);
}
/**
* Test for getFunctions
*/
public function testGetFunctions(){
$this->assertEquals(
$this->object->getFunctions('enum'),
array()
);
}
/**
* Test for getAllFunctions
*/
public function testGetAllFunctions(){
$this->assertEquals(
$this->object->getAllFunctions(),
array()
);
}
/**
* Test for getAttributes
*/
public function testGetAttributes(){
$this->assertEquals(
$this->object->getAttributes(),
array()
);
}
/**
* Test for getColumns
*/
public function testGetColumns(){
$this->assertEquals(
$this->object->getColumns(),
array(
'INT',
'VARCHAR',
'TEXT',
'DATE',
)
);
}
}
?>

View File

@ -15,28 +15,6 @@ require_once 'libraries/gis/pma_gis_geometry.php';
*/
abstract class PMA_GIS_GeomTest extends PHPUnit_Framework_TestCase
{
/**
* test generateWkt method
*
* @param array $gis_data array of GIS data
* @param int $index index
* @param string $empty string to be insterted in place of missing values
* @param string $wkt expected WKT
*
* @return void
* @dataProvider providerForTestGenerateWkt
*/
public function testGenerateWkt($gis_data, $index, $empty, $wkt)
{
if ($empty == null) {
$this->assertEquals($this->object->generateWkt($gis_data, $index), $wkt);
} else {
$this->assertEquals(
$this->object->generateWkt($gis_data, $index, $empty),
$wkt
);
}
}
/**
* test generateParams method

View File

@ -0,0 +1,125 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* tests for bookmark.lib.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_bookmark_test extends PHPUnit_Framework_TestCase
{
public function setUp(){
if (! function_exists('PMA_getRelationsParam')) {
function PMA_getRelationsParam()
{
$cfgRelation['bookmarkwork'] = true;
return $cfgRelation;
}
}
if (! function_exists('PMA_DBI_fetch_result')) {
function PMA_DBI_fetch_result()
{
return array(
'id' => 'id',
'label' => 'label'
);
}
}
if (! defined('PMA_DBI_QUERY_STORE')) {
define('PMA_DBI_QUERY_STORE', 1);
}
$GLOBALS['cfg']['Server']['user'] = 'root';
$GLOBALS['cfg']['Server']['pmadb'] = 'phpmyadmin';
$GLOBALS['cfg']['Server']['bookmarktable'] = 'pma_bookmark';
$GLOBALS['server'] = 1;
require_once 'libraries/bookmark.lib.php';
}
/**
* Test for PMA_Bookmark_getParams
*/
public function testPMA_Bookmark_getParams(){
$this->assertEquals(
PMA_Bookmark_getParams(),
array(
'user' => 'root',
'db' => 'phpmyadmin',
'table'=> 'pma_bookmark'
)
);
}
/**
* Test for PMA_Bookmark_getList
*/
public function testPMA_Bookmark_getList(){
$this->assertEquals(
PMA_Bookmark_getList('phpmyadmin'),
array(
'id' => 'id (shared)',
'label' => 'label (shared)'
)
);
}
/**
* Test for PMA_Bookmark_get
*/
public function testPMA_Bookmark_get(){
if (! function_exists('PMA_DBI_fetch_value')) {
function PMA_DBI_fetch_value()
{
return "SELECT query FROM `phpmyadmin`.`pma_bookmark` WHERE dbase = 'phpmyadmin' AND (user = 'root' OR user = '') AND `id` = 1";
}
}
$this->assertEquals(
PMA_Bookmark_get('phpmyadmin', '1'),
"SELECT query FROM `phpmyadmin`.`pma_bookmark` WHERE dbase = 'phpmyadmin' AND (user = 'root' OR user = '') AND `id` = 1"
);
}
/**
* Test for PMA_Bookmark_save
*/
public function testPMA_Bookmark_save(){
if (! function_exists('PMA_DBI_query')) {
function PMA_DBI_query()
{
return true;
}
}
$this->assertEquals(
PMA_Bookmark_save('phpmyadmin'),
true
);
}
/**
* Test for PMA_Bookmark_delete
*/
public function testPMA_Bookmark_delete(){
if (! function_exists('PMA_DBI_try_query')) {
function PMA_DBI_try_query()
{
return true;
}
}
$this->assertEquals(
PMA_Bookmark_delete('phpmyadmin', '1'),
true
);
}
}

View File

@ -0,0 +1,155 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* tests for build_html_for_db.lib.php
*
* @package PhpMyAdmin-test
*/
/*
* Include to test.
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/php-gettext/gettext.inc';
require_once 'libraries/build_html_for_db.lib.php';
require_once 'libraries/js_escape.lib.php';
require_once 'libraries/Theme.class.php';
class PMA_build_html_for_db_test extends PHPUnit_Framework_TestCase
{
/**
* Test for PMA_getColumnOrder
*/
public function testPMA_getColumnOrder(){
if (! function_exists('PMA_getServerCollation')) {
function PMA_getServerCollation()
{
return 'footer';
}
}
$this->assertEquals(
PMA_getColumnOrder(),
array(
'DEFAULT_COLLATION_NAME' => array(
'disp_name' => __('Collation'),
'description_function' => 'PMA_getCollationDescr',
'format' => 'string',
'footer' => 'footer'
),
'SCHEMA_TABLES' => array(
'disp_name' => __('Tables'),
'format' => 'number',
'footer' => 0
),
'SCHEMA_TABLE_ROWS' => array(
'disp_name' => __('Rows'),
'format' => 'number',
'footer' => 0
),
'SCHEMA_DATA_LENGTH' => array(
'disp_name' => __('Data'),
'format' => 'byte',
'footer' => 0
),
'SCHEMA_INDEX_LENGTH' => array(
'disp_name' => __('Indexes'),
'format' => 'byte',
'footer' => 0
),
'SCHEMA_LENGTH' => array(
'disp_name' => __('Total'),
'format' => 'byte',
'footer' => 0
),
'SCHEMA_DATA_FREE' => array(
'disp_name' => __('Overhead'),
'format' => 'byte',
'footer' => 0
)
)
);
}
/**
* Test for PMA_buildHtmlForDb
*
* @param array $current
* @param boolean $is_superuser
* @param string $checkall
* @param string $url_query
* @param array $column_order
* @param array $replication_types
* @param array $replication_info
* @param $output
*
* @dataProvider providerForTestPMA_buildHtmlForDb
*/
public function testPMA_buildHtmlForDb($current, $is_superuser, $checkall, $url_query,$column_order, $replication_types, $replication_info, $output){
if (! function_exists('PMA_is_system_schema')) {
function PMA_is_system_schema()
{
return false;
}
}
if (! function_exists('p')) {
function p()
{
return;
}
}
if (! defined('PMA_DRIZZLE')) {
define('PMA_DRIZZLE', false);
}
$GLOBALS['cfg']['PropertiesIconic'] = true;
$_SESSION['PMA_Theme'] = new PMA_Theme();
$GLOBALS['pmaThemeImage'] = '';
$this->assertEquals(
PMA_buildHtmlForDb($current, $is_superuser, $checkall, $url_query,
$column_order, $replication_types, $replication_info),
$output
);
}
public function providerForTestPMA_buildHtmlForDb(){
return array(
array(
array('SCHEMA_NAME' => 'pma'),
true,
'',
'target=main.php',
array(
'SCHEMA_NAME' => 'pma',
'footer' => 1,
'format' => 'byte',
'description_function' => 'onClick'
),
array(
'SCHEMA_NAME' => 'pma',
),
array(
'pma' => array(
'status' => 'true',
'Ignore_DB' => array(
'pma' => 'pma'
),
)
),
array(
0 => array(
'SCHEMA_NAME' => 'pma',
'footer' => 1,
'format' => 'byte',
'description_function' => 'onClick'
),
1 => '<td class="tool"><input type="checkbox" name="selected_dbs[]" class="checkall" title="pma" value="pma" /></td><td class="name"> <a onclick="if (window.parent.openDb &amp;&amp; window.parent.openDb(\'pma\')) return false;" href="index.php?target=main.php&amp;db=pma" title="Jump to database" target="_parent"> pma</a></td><td class="value"><dfn title="">pma</dfn></td><td class="tool" style="text-align: center;"><span class="nowrap"><img src="s_cancel.png" title="Not replicated" alt="Not replicated" /></span></td><td class="tool"><a onclick="if (window.parent.setDb) window.parent.setDb(\'`pma`\');" href="server_privileges.php?target=main.php&amp;checkprivs=pma" title="Check privileges for database &quot;pma&quot;."> <span class="nowrap"><img src="s_rights.png" title="Check Privileges" alt="Check Privileges" /></span></a></td>'
)
)
);
}
}

View File

@ -12,6 +12,7 @@
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/Theme.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_buildActionTitles_test extends PHPUnit_Framework_TestCase
{

View File

@ -11,6 +11,7 @@
* Include to test.
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_formatNumberByteDown_test extends PHPUnit_Framework_TestCase
{

View File

@ -11,6 +11,7 @@
* Include to test.
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_getFormattedMaximumUploadSize_test extends PHPUnit_Framework_TestCase
{

View File

@ -11,6 +11,7 @@
* Include to test.
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_getTitleForTarget_test extends PHPUnit_Framework_TestCase
{

View File

@ -11,6 +11,7 @@
* Include to test.
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_localisedDateTimespan_test extends PHPUnit_Framework_TestCase
{

View File

@ -12,6 +12,7 @@
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/Theme.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_showDocu_test extends PHPUnit_Framework_TestCase
{

View File

@ -14,7 +14,6 @@ const PMA_IS_WINDOWS = false;
*/
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/Table.class.php';
require_once 'libraries/database_interface.lib.php';
require_once 'libraries/js_escape.lib.php';
class PMA_showMessage_test extends PHPUnit_Framework_TestCase
@ -22,6 +21,10 @@ class PMA_showMessage_test extends PHPUnit_Framework_TestCase
function setUp()
{
global $cfg;
if (! defined('VERSION_CHECK_DEFAULT')) {
define('VERSION_CHECK_DEFAULT', 1);
}
include 'libraries/config.default.php';
}

View File

@ -13,6 +13,7 @@
require_once 'libraries/core.lib.php';
require_once 'libraries/CommonFunctions.class.php';
require_once 'libraries/Theme.class.php';
require_once 'libraries/php-gettext/gettext.inc';
class PMA_showPHPDocu_test extends PHPUnit_Framework_TestCase
{