Merge remote branch 'upstream/master'

This commit is contained in:
Chanaka Indrajith 2012-07-26 23:14:40 +05:30
commit b458ba2b18
48 changed files with 2805 additions and 1230 deletions

View File

@ -142,7 +142,6 @@ if (strlen($db) && (! empty($db_rename) || ! empty($db_copy))) {
"sql",
'libraries/plugins/export/',
array(
'export_type' => $export_type,
'single_table' => isset($single_table)
)
);

View File

@ -42,8 +42,6 @@ $type = $what;
// Check export type
if (! isset($export_plugin)) {
PMA_fatalError(__('Bad type!'));
} else {
$export_plugin_properties = $export_plugin->getProperties();
}
/**
@ -92,9 +90,10 @@ if ($_REQUEST['output_format'] == 'astext') {
}
// Does export require to be into file?
if (isset($export_plugin_properties['force_file']) && ! $asfile) {
$message = PMA_Message::error(__('Selected export type has to be saved in file!'));
if ($export_plugin->getProperties()->getForceFile() != null && ! $asfile) {
$message = PMA_Message::error(
__('Selected export type has to be saved in file!')
);
if ($export_type == 'server') {
$active_page = 'server_export.php';
include 'server_export.php';
@ -326,13 +325,15 @@ if ($asfile) {
// Grab basic dump extension and mime type
// Check if the user already added extension; get the substring where the extension would be if it was included
$extension_start_pos = strlen($filename) - strlen($export_plugin_properties['extension']) - 1;
$extension_start_pos = strlen($filename) - strlen(
$export_plugin->getProperties()->getExtension()
) - 1;
$user_extension = substr($filename, $extension_start_pos, strlen($filename));
$required_extension = "." . $export_plugin_properties['extension'];
$required_extension = "." . $export_plugin->getProperties()->getExtension();
if (strtolower($user_extension) != $required_extension) {
$filename .= $required_extension;
}
$mime_type = $export_plugin_properties['mime_type'];
$mime_type = $export_plugin->getProperties()->getMimeType();
// If dump is going to be compressed, set correct mime_type and add
// compression to extension

View File

@ -3541,8 +3541,7 @@ class PMA_CommonFunctions
if (! empty($extensions)) {
$extensions .= '|';
}
$properties = $import_plugin->getProperties();
$extensions .= $properties['extension'];
$extensions .= $import_plugin->getProperties()->getExtension();
}
$matcher = '@\.(' . $extensions . ')(\.('

View File

@ -2490,14 +2490,14 @@ $cfg['BrowseMIME'] = true;
*
* @global integer $cfg['MaxExactCount']
*/
$cfg['MaxExactCount'] = 20000;
$cfg['MaxExactCount'] = 0;
/**
* Zero means that no row count is done for views; see the doc
*
* @global integer $cfg['MaxExactCountViews']
*/
$cfg['MaxExactCountViews'] = 100000;
$cfg['MaxExactCountViews'] = 0;
/**
* Sort table and database in natural order

View File

@ -129,14 +129,21 @@ function PMA_pluginCheckboxCheck($section, $opt)
*/
function PMA_pluginGetDefault($section, $opt)
{
if (isset($_GET[$opt])) { // If the form is being repopulated using $_GET data, that is priority
if (isset($_GET[$opt])) {
// If the form is being repopulated using $_GET data, that is priority
return htmlspecialchars($_GET[$opt]);
} elseif (isset($GLOBALS['timeout_passed']) && $GLOBALS['timeout_passed'] && isset($_REQUEST[$opt])) {
} elseif (isset($GLOBALS['timeout_passed'])
&& $GLOBALS['timeout_passed']
&& isset($_REQUEST[$opt])) {
return htmlspecialchars($_REQUEST[$opt]);
} elseif (isset($GLOBALS['cfg'][$section][$opt])) {
$matches = array();
/* Possibly replace localised texts */
if (preg_match_all('/(str[A-Z][A-Za-z0-9]*)/', $GLOBALS['cfg'][$section][$opt], $matches)) {
if (preg_match_all(
'/(str[A-Z][A-Za-z0-9]*)/',
$GLOBALS['cfg'][$section][$opt],
$matches
)) {
$val = $GLOBALS['cfg'][$section][$opt];
foreach ($matches[0] as $match) {
if (isset($GLOBALS[$match])) {
@ -172,7 +179,6 @@ function PMA_pluginGetChoice($section, $name, &$list, $cfgname = null)
$default = PMA_pluginGetDefault($section, $cfgname);
foreach ($list as $plugin) {
$plugin_name = strtolower(substr(get_class($plugin), strlen($section)));
$properties = $plugin->getProperties();
$ret .= '<option';
// If the form is being repopulated using $_GET data, that is priority
if (isset($_GET[$name])
@ -183,7 +189,7 @@ function PMA_pluginGetChoice($section, $name, &$list, $cfgname = null)
$ret .= ' selected="selected"';
}
$ret .= ' value="' . $plugin_name . '">'
. PMA_getString($properties['text'])
. PMA_getString($plugin->getProperties()->getText())
. '</option>' . "\n";
}
$ret .= '</select>' . "\n";
@ -191,9 +197,9 @@ function PMA_pluginGetChoice($section, $name, &$list, $cfgname = null)
// Whether each plugin has to be saved as a file
foreach ($list as $plugin) {
$plugin_name = strtolower(substr(get_class($plugin), strlen($section)));
$properties = $plugin->getProperties();
$ret .= '<input type="hidden" id="force_file_' . $plugin_name . '" value="';
if (isset($properties['force_file'])) {
$ret .= '<input type="hidden" id="force_file_' . $plugin_name
. '" value="';
if ($plugin->getProperties()->getForceFile() != null) {
$ret .= 'true';
} else {
$ret .= 'false';
@ -206,108 +212,207 @@ function PMA_pluginGetChoice($section, $name, &$list, $cfgname = null)
/**
* Returns single option in a list element
*
* @param string $section name of config section in
* $GLOBALS['cfg'][$section] for plugin
* @param string $plugin_name unique plugin name
* @param string $id option id
* @param array &$opt plugin option details
* @param string $section name of config section in
* $GLOBALS['cfg'][$section] for plugin
* @param string $plugin_name unique plugin name
* @param array &$propertyGroup options property main group instance
*
* @return string table row with option
*/
function PMA_pluginGetOneOption($section, $plugin_name, $id, &$opt)
{
function PMA_pluginGetOneOption(
$section,
$plugin_name,
&$propertyGroup,
$is_subgroup = false
) {
$ret = "\n";
if ($opt['type'] == 'bool') {
$ret .= '<li>' . "\n";
$ret .= '<input type="checkbox" name="' . $plugin_name . '_' . $opt['name'] . '"'
. ' value="something" id="checkbox_' . $plugin_name . '_' . $opt['name'] . '"'
. ' ' . PMA_pluginCheckboxCheck($section, $plugin_name . '_' . $opt['name']);
if (isset($opt['force'])) {
/* Same code is also few lines lower, update both if needed */
$ret .= ' onclick="if (!this.checked &amp;&amp; '
. '(!document.getElementById(\'checkbox_' . $plugin_name . '_' .$opt['force'] . '\') '
. '|| !document.getElementById(\'checkbox_' . $plugin_name . '_' .$opt['force'] . '\').checked)) '
. 'return false; else return true;"';
}
$ret .= ' />';
$ret .= '<label for="checkbox_' . $plugin_name . '_' . $opt['name'] . '">'
. PMA_getString($opt['text']) . '</label>';
} elseif ($opt['type'] == 'text') {
$ret .= '<li>' . "\n";
$ret .= '<label for="text_' . $plugin_name . '_' . $opt['name'] . '" class="desc">'
. PMA_getString($opt['text']) . '</label>';
$ret .= '<input type="text" name="' . $plugin_name . '_' . $opt['name'] . '"'
. ' value="' . PMA_pluginGetDefault($section, $plugin_name . '_' . $opt['name']) . '"'
. ' id="text_' . $plugin_name . '_' . $opt['name'] . '"'
. (isset($opt['size']) ? ' size="' . $opt['size'] . '"' : '')
. (isset($opt['len']) ? ' maxlength="' . $opt['len'] . '"' : '') . ' />';
} elseif ($opt['type'] == 'message_only') {
$ret .= '<li>' . "\n";
$ret .= '<p>' . PMA_getString($opt['text']) . '</p>';
} elseif ($opt['type'] == 'select') {
$ret .= '<li>' . "\n";
$ret .= '<label for="select_' . $plugin_name . '_' . $opt['name'] . '" class="desc">'
. PMA_getString($opt['text']) . '</label>';
$ret .= '<select name="' . $plugin_name . '_' . $opt['name'] . '"'
. ' id="select_' . $plugin_name . '_' . $opt['name'] . '">';
$default = PMA_pluginGetDefault($section, $plugin_name . '_' . $opt['name']);
foreach ($opt['values'] as $key => $val) {
$ret .= '<option value="' . $key . '"';
if ($key == $default) {
$ret .= ' selected="selected"';
}
$ret .= '>' . PMA_getString($val) . '</option>';
}
$ret .= '</select>';
} elseif ($opt['type'] == 'radio') {
$default = PMA_pluginGetDefault($section, $plugin_name . '_' . $opt['name']);
foreach ($opt['values'] as $key => $val) {
$ret .= '<li><input type="radio" name="' . $plugin_name . '_' . $opt['name'] . '" value="' . $key
. '" id="radio_' . $plugin_name . '_' . $opt['name'] . '_' . $key . '"';
if ($key == $default) {
$ret .= ' checked="checked"';
}
$ret .= ' />' . '<label for="radio_' . $plugin_name . '_' . $opt['name'] . '_' . $key . '">'
. PMA_getString($val) . '</label></li>';
}
} elseif ($opt['type'] == 'hidden') {
$ret .= '<li><input type="hidden" name="' . $plugin_name . '_' . $opt['name'] . '"'
. ' value="' . PMA_pluginGetDefault($section, $plugin_name . '_' . $opt['name']) . '"' . ' /></li>';
} elseif ($opt['type'] == 'begin_group') {
$ret .= '<div class="export_sub_options" id="' . $plugin_name . '_' . $opt['name'] . '">';
if (isset($opt['text'])) {
$ret .= '<h4>' . PMA_getString($opt['text']) . '</h4>';
}
$ret .= '<ul>';
} elseif ($opt['type'] == 'end_group') {
$ret .= '</ul></div>';
} elseif ($opt['type'] == 'begin_subgroup') {
/* each subgroup can have a header, which may also be a form element */
$ret .= PMA_pluginGetOneOption($section, $plugin_name, $id, $opt['subgroup_header']) . '<li class="subgroup"><ul';
if (isset($opt['subgroup_header']['name'])) {
$ret .= ' id="ul_' . $opt['subgroup_header']['name'] . '">';
if (! $is_subgroup) {
// for subgroup headers
if (strpos(get_class($propertyGroup), "PropertyItem")) {
$properties = array($propertyGroup);
} else {
$ret .= '>';
}
} elseif ($opt['type'] == 'end_subgroup') {
$ret .= '</ul></li>';
} else {
/* This should be seen only by plugin writers, so I do not thing this
* needs translation. */
$ret .= 'UNKNOWN OPTION ' . $opt['type'] . ' IN IMPORT PLUGIN ' . $plugin_name . '!';
}
if (isset($opt['doc'])) {
if (count($opt['doc']) == 3) {
$ret .= PMA_CommonFunctions::getInstance()->showMySQLDocu($opt['doc'][0], $opt['doc'][1], false, $opt['doc'][2]);
} elseif (count($opt['doc']) == 1) {
$ret .= PMA_CommonFunctions::getInstance()->showDocu($opt['doc'][0]);
} else {
$ret .= PMA_CommonFunctions::getInstance()->showMySQLDocu($opt['doc'][0], $opt['doc'][1]);
// for main groups
$ret .= '<div class="export_sub_options" id="' . $plugin_name . '_'
. $propertyGroup->getName() . '">';
if ($propertyGroup->getText() != null) {
$ret .= '<h4>' . PMA_getString($propertyGroup->getText()) . '</h4>';
}
$ret .= '<ul>';
}
}
// Close the list element after $opt['doc'] link is displayed
if ($opt['type'] == 'bool' || $opt['type'] == 'text' || $opt['type'] == 'message_only' || $opt['type'] == 'select') {
if ($properties == null) {
$not_subgroup_header = true;
$properties = $propertyGroup->getProperties();
}
foreach ($properties as $propertyItem) {
$property_class = get_class($propertyItem);
// if the property is a subgroup, we deal with it recursively
if (strpos($property_class, "Subgroup")) {
// for subgroups
// each subgroup can have a header, which may also be a form element
$subgroup_header = $propertyItem->getSubgroupHeader();
if (isset($subgroup_header)) {
$ret .= PMA_pluginGetOneOption(
$section,
$plugin_name,
$subgroup_header
);
}
$ret .= '<li class="subgroup"><ul';
if (isset($subgroup_header)) {
$ret .= ' id="ul_' . $subgroup_header->getName() . '">';
} else {
$ret .= '>';
}
$ret .= PMA_pluginGetOneOption(
$section,
$plugin_name,
$propertyItem,
true
);
} else {
// single property item
switch ($property_class) {
case "BoolPropertyItem":
$ret .= '<li>' . "\n";
$ret .= '<input type="checkbox" name="' . $plugin_name . '_'
. $propertyItem->getName() . '"'
. ' value="something" id="checkbox_' . $plugin_name . '_'
. $propertyItem->getName() . '"'
. ' ' . PMA_pluginCheckboxCheck($section, $plugin_name . '_'
. $propertyItem->getName());
if ($propertyItem->getForce() != null) {
// Same code is also few lines lower, update both if needed
$ret .= ' onclick="if (!this.checked &amp;&amp; '
. '(!document.getElementById(\'checkbox_' . $plugin_name
. '_' . $propertyItem->getForce() . '\') '
. '|| !document.getElementById(\'checkbox_'
. $plugin_name . '_' . $propertyItem->getForce()
. '\').checked)) '
. 'return false; else return true;"';
}
$ret .= ' />';
$ret .= '<label for="checkbox_' . $plugin_name . '_'
. $propertyItem->getName() . '">'
. PMA_getString($propertyItem->getText()) . '</label>';
break;
case "DocPropertyItem":
echo "DocPropertyItem";
break;
case "HiddenPropertyItem":
$ret .= '<li><input type="hidden" name="' . $plugin_name . '_'
. $propertyItem->getName() . '"'
. ' value="' . PMA_pluginGetDefault($section, $plugin_name
. '_' . $propertyItem->getName()) . '"' . ' /></li>';
break;
case "MessageOnlyPropertyItem":
$ret .= '<li>' . "\n";
$ret .= '<p>' . PMA_getString($propertyItem->getText()) . '</p>';
break;
case "RadioPropertyItem":
$default = PMA_pluginGetDefault($section, $plugin_name . '_'
. $propertyItem->getName());
foreach ($propertyItem->getValues() as $key => $val) {
$ret .= '<li><input type="radio" name="' . $plugin_name
. '_' . $propertyItem->getName() . '" value="' . $key
. '" id="radio_' . $plugin_name . '_'
. $propertyItem->getName() . '_' . $key . '"';
if ($key == $default) {
$ret .= ' checked="checked"';
}
$ret .= ' />' . '<label for="radio_' . $plugin_name . '_'
. $propertyItem->getName() . '_' . $key . '">'
. PMA_getString($val) . '</label></li>';
}
break;
case "SelectPropertyItem":
$ret .= '<li>' . "\n";
$ret .= '<label for="select_' . $plugin_name . '_'
. $propertyItem->getName() . '" class="desc">'
. PMA_getString($propertyItem->getText()) . '</label>';
$ret .= '<select name="' . $plugin_name . '_'
. $propertyItem->getName() . '"'
. ' id="select_' . $plugin_name . '_'
. $propertyItem->getName() . '">';
$default = PMA_pluginGetDefault(
$section,
$plugin_name . '_' . $propertyItem->getName()
);
foreach ($propertyItem->getValues() as $key => $val) {
$ret .= '<option value="' . $key . '"';
if ($key == $default) {
$ret .= ' selected="selected"';
}
$ret .= '>' . PMA_getString($val) . '</option>';
}
$ret .= '</select>';
break;
case "TextPropertyItem":
$ret .= '<li>' . "\n";
$ret .= '<label for="text_' . $plugin_name . '_'
. $propertyItem->getName() . '" class="desc">'
. PMA_getString($propertyItem->getText()) . '</label>';
$ret .= '<input type="text" name="' . $plugin_name . '_'
. $propertyItem->getName() . '"'
. ' value="' . PMA_pluginGetDefault($section, $plugin_name
. '_' . $propertyItem->getName()) . '"'
. ' id="text_' . $plugin_name . '_'
. $propertyItem->getName() . '"'
. ($propertyItem->getSize() != null
? ' size="' . $propertyItem->getSize() . '"'
: '')
. ($propertyItem->getLen() != null
? ' maxlength="' . $propertyItem->getLen() . '"'
: '')
. ' />';
break;
default:;
}
}
}
if ($is_subgroup) {
// end subgroup
$ret .= '</ul></li>';
} else {
// end main group
if ($not_subgroup_header)
$ret .= '</ul></div>';
}
if (method_exists($propertyGroup, "getDoc")){
$doc = $propertyGroup->getDoc();
if ($doc != null) {
if (count($doc) == 3) {
$ret .= PMA_CommonFunctions::getInstance()->showMySQLDocu(
$doc[0],
$doc[1],
false,
$doc[2]
);
} elseif (count($doc) == 1) {
$ret .= PMA_CommonFunctions::getInstance()->showDocu($doc[0]);
} else {
$ret .= PMA_CommonFunctions::getInstance()->showMySQLDocu(
$doc[0],
$doc[1]
);
}
}
}
// Close the list element after $doc link is displayed
if ($property_class == 'BoolPropertyItem'
|| $property_class == 'MessageOnlyPropertyItem'
|| $property_class == 'SelectPropertyItem'
|| $property_class == 'TextPropertyItem'
) {
$ret .= '</li>';
}
$ret .= "\n";
@ -329,27 +434,38 @@ function PMA_pluginGetOptions($section, &$list)
// Options for plugins that support them
foreach ($list as $plugin) {
$plugin_name = strtolower(substr(get_class($plugin), strlen($section)));
$properties = $plugin->getProperties();
$ret .= '<div id="' . $plugin_name . '_options" class="format_specific_options">';
$count = 0;
$ret .= '<h3>' . PMA_getString($properties['text']) . '</h3>';
if (isset($properties['options']) && count($properties['options']) > 0) {
foreach ($properties['options'] as $id => $opt) {
if ($opt['type'] != 'hidden'
&& $opt['type'] != 'begin_group'
&& $opt['type'] != 'end_group'
&& $opt['type'] != 'begin_subgroup'
&& $opt['type'] != 'end_subgroup'
) {
$count++;
$ret .= '<div id="' . $plugin_name
. '_options" class="format_specific_options">';
$ret .= '<h3>' . PMA_getString($plugin->getProperties()->getText())
. '</h3>';
if ($plugin->getProperties()->getOptions() != null
&& count($plugin->getProperties()->getOptions()) > 0
) {
foreach ($plugin->getProperties()->getOptions()->getProperties()
as $propertyMainGroup
) {
// check for hidden properties
$no_options = true;
foreach ($propertyMainGroup->getProperties() as $propertyItem) {
if (strcmp("HiddenPropertyItem", get_class($propertyItem))) {
$no_options = false;
break;
}
}
$ret .= PMA_pluginGetOneOption($section, $plugin_name, $id, $opt);
$ret .= PMA_pluginGetOneOption(
$section,
$plugin_name,
$propertyMainGroup
);
}
}
if ($count == 0) {
if ($no_options) {
$ret .= '<p>' . __('This format has no options') . '</p>';
}
$ret .= '</div>';
}
return $ret;
}
}

View File

@ -75,33 +75,43 @@ class ExportCodegen extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => 'CodeGen',
'extension' => 'cs',
'mime_type' => 'text/cs',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
require_once "$props/options/items/SelectPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'hidden',
'name' => 'structure_or_data'
),
array(
'type' => 'select',
'name' => 'format',
'text' => __('Format:'),
'values' => $this->_getCgFormats()
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('CodeGen');
$exportPluginProperties->setExtension('cs');
$exportPluginProperties->setMimeType('text/cs');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
$leaf = new SelectPropertyItem();
$leaf->setName("format");
$leaf->setText(__('Format:'));
$leaf->setValues($this->_getCgFormats());
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -83,64 +83,68 @@ class ExportCsv extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('CSV'),
'extension' => 'csv',
'mime_type' => 'text/comma-separated-values',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'text',
'name' => 'separator',
'text' => __('Columns separated with:')
),
array(
'type' => 'text',
'name' => 'enclosed',
'text' => __('Columns enclosed with:')
),
array(
'type' => 'text',
'name' => 'escaped',
'text' => __('Columns escaped with:')
),
array(
'type' => 'text',
'name' => 'terminated',
'text' => __('Lines terminated with:')
),
array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL with:')
),
array(
'type' => 'bool',
'name' => 'removeCRLF',
'text' => __(
'Remove carriage return/line feed characters within columns'
)
),
array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
),
array(
'type' => 'hidden',
'name' => 'structure_or_data'
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('CSV');
$exportPluginProperties->setExtension('csv');
$exportPluginProperties->setMimeType('text/comma-separated-values');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create leaf items and add them to the group
$leaf = new TextPropertyItem();
$leaf->setName("separator");
$leaf->setText(__('Columns separated with:'));
$generalOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("enclosed");
$leaf->setText(__('Columns enclosed with:'));
$generalOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("escaped");
$leaf->setText(__('Columns escaped with:'));
$generalOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("terminated");
$leaf->setText(__('Lines terminated with:'));
$generalOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName('null');
$leaf->setText(__('Replace NULL with:'));
$generalOptions->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName('removeCRLF');
$leaf->setText(__(
'Remove carriage return/line feed characters within columns'
));
$leaf = new BoolPropertyItem();
$leaf->setName('columns');
$leaf->setText(__('Put columns names in the first row'));
$generalOptions->addProperty($leaf);
$leaf = new HiddenPropertyItem();
$leaf->setName('structure_or_data');
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -27,53 +27,62 @@ class ExportExcel extends ExportCsv
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('CSV for MS Excel'),
'extension' => 'csv',
'mime_type' => 'text/comma-separated-values',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/SelectPropertyItem.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL with:')
),
array(
'type' => 'bool',
'name' => 'removeCRLF',
'text' => __(
'Remove carriage return/line feed characters within columns'
)
),
array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
),
array(
'type' => 'select',
'name' => 'edition',
'values' => array(
'win' => 'Windows',
'mac_excel2003' => 'Excel 2003 / Macintosh',
'mac_excel2008' => 'Excel 2008 / Macintosh'),
'text' => __('Excel edition:')
),
array(
'type' => 'hidden',
'name' => 'structure_or_data'
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('CSV for MS Excel');
$exportPluginProperties->setExtension('csv');
$exportPluginProperties->setMimeType('text/comma-separated-values');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new TextPropertyItem();
$leaf->setName('null');
$leaf->setText(__('Replace NULL with:'));
$generalOptions->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName('removeCRLF');
$leaf->setText(__(
'Remove carriage return/line feed characters within columns'
));
$leaf = new BoolPropertyItem();
$leaf->setName('columns');
$leaf->setText(__('Put columns names in the first row'));
$generalOptions->addProperty($leaf);
$leaf = new SelectPropertyItem();
$leaf->setName('edition');
$leaf->setValues(array(
'win' => 'Windows',
'mac_excel2003' => 'Excel 2003 / Macintosh',
'mac_excel2008' => 'Excel 2008 / Macintosh'
));
$leaf->setText(__('Excel edition:'));
$generalOptions->addProperty($leaf);
$leaf = new HiddenPropertyItem();
$leaf->setName('structure_or_data');
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -35,56 +35,63 @@ class ExportHtmlword extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('Microsoft Word 2000'),
'extension' => 'doc',
'mime_type' => 'application/vnd.ms-word',
'force_file' => true,
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/RadioPropertyItem.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
$this->properties['options'] = array(
/* what to dump (structure/data/both) */
array(
'type' => 'begin_group',
'name' => 'dump_what',
'text' => __('Dump table')
),
array(
'type' => 'radio',
'name' => 'structure_or_data',
'values' => array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
)
),
array(
'type' => 'end_group'
),
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('Microsoft Word 2000');
$exportPluginProperties->setExtension('doc');
$exportPluginProperties->setMimeType('application/vnd.ms-word');
$exportPluginProperties->setForceFile(true);
$exportPluginProperties->setOptionsText(__('Options'));
/* data options */
array(
'type' => 'begin_group',
'name' => 'data',
'text' => __('Data dump options'),
'force' => 'structure'
),
array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL with:')
),
array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
),
array(
'type' => 'end_group'
)
);
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// what to dump (structure/data/both)
$dumpWhat = new OptionsPropertyMainGroup();
$dumpWhat->setName("dump_what");
$dumpWhat->setText(__('Dump table'));
// create primary items and add them to the group
$leaf = new RadioPropertyItem();
$leaf->setName("structure_or_data");
$leaf->setValues(array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
));
$dumpWhat->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dumpWhat);
// data options main group
$dataOptions = new OptionsPropertyMainGroup();
$dataOptions->setName("dump_what");
$dataOptions->setText(__('Data dump options'));
$dataOptions->setForce('structure');
// create primary items and add them to the group
$leaf = new TextPropertyItem();
$leaf->setName("null");
$leaf->setText(__('Replace NULL with:'));
$dataOptions->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName("columns");
$leaf->setText(__('Put columns names in the first row'));
$dataOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dataOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**
@ -590,10 +597,10 @@ class ExportHtmlword extends ExportPlugin
$column, $unique_keys
) {
$definition = '<tr class="print-category">';
$extracted_columnspec
= PMA_CommonFunctions::getInstance()->extractColumnSpec($column['Type']);
$type = htmlspecialchars($extracted_columnspec['print_type']);
if (empty($type)) {
$type = '&nbsp;';

View File

@ -35,27 +35,37 @@ class ExportJson extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => 'JSON',
'extension' => 'json',
'mime_type' => 'text/plain',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'hidden',
'name' => 'structure_or_data',
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('JSON');
$exportPluginProperties->setExtension('json');
$exportPluginProperties->setMimeType('text/plain');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -59,136 +59,130 @@ class ExportLatex extends ExportPlugin
$hide_structure = true;
}
$this->properties = array(
'text' => __('LaTeX'),
'extension' => 'tex',
'mime_type' => 'application/x-tex',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/RadioPropertyItem.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'bool',
'name' => 'caption',
'text' => __('Include table caption')
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('LaTeX');
$exportPluginProperties->setExtension('tex');
$exportPluginProperties->setMimeType('application/x-tex');
$exportPluginProperties->setOptionsText(__('Options'));
/* what to dump (structure/data/both) */
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'dump_what',
'text' => __('Dump table')
);
$this->properties['options'][] = array(
'type' => 'radio',
'name' => 'structure_or_data',
'values' => array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
)
);
$this->properties['options'][] = array(
'type' => 'end_group'
);
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
/* Structure options */
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new BoolPropertyItem();
$leaf->setName("caption");
$leaf->setText(__('Include table caption'));
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// what to dump (structure/data/both) main group
$dumpWhat = new OptionsPropertyMainGroup();
$dumpWhat->setName("dump_what");
$dumpWhat->setText(__('Dump table'));
// create primary items and add them to the group
$leaf = new RadioPropertyItem();
$leaf->setName("structure_or_data");
$leaf->setValues(array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
));
$dumpWhat->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dumpWhat);
// structure options main group
if (! $hide_structure) {
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'structure',
'text' => __('Object creation options'),
'force' => 'data'
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'structure_caption',
'text' => __('Table caption'),
'doc' => 'faq6_27'
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'structure_continued_caption',
'text' => __('Table caption (continued)'),
'doc' => 'faq6_27'
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'structure_label',
'text' => __('Label key'),
'doc' => 'faq6_27'
);
$structureOptions = new OptionsPropertyMainGroup();
$structureOptions->setName("structure");
$structureOptions->setText(__('Object creation options'));
$structureOptions->setForce('data');
// create primary items and add them to the group
$leaf = new TextPropertyItem();
$leaf->setName("structure_caption");
$leaf->setText(__('Table caption'));
$leaf->setDoc('faq6_27');
$structureOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("structure_continued_caption");
$leaf->setText(__('Table caption (continued)'));
$leaf->setDoc('faq6_27');
$structureOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("structure_label");
$leaf->setText(__('Label key'));
$leaf->setDoc('faq6_27');
$structureOptions->addProperty($leaf);
if (! empty($GLOBALS['cfgRelation']['relation'])) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'relation',
'text' => __('Display foreign key relationships')
);
$leaf = new BoolPropertyItem();
$leaf->setName("relation");
$leaf->setText(__('Display foreign key relationships'));
$structureOptions->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'comments',
'text' => __('Display comments')
);
$leaf = new BoolPropertyItem();
$leaf->setName("comments");
$leaf->setText(__('Display comments'));
$structureOptions->addProperty($leaf);
if (! empty($GLOBALS['cfgRelation']['mimework'])) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'mime',
'text' => __('Display MIME types')
);
$leaf = new BoolPropertyItem();
$leaf->setName("mime");
$leaf->setText(__('Display MIME types'));
$structureOptions->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'end_group'
);
// add the main group to the root group
$exportSpecificOptions->addProperty($structureOptions);
}
/* Data */
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'data',
'text' => __('Data dump options'),
'force' => 'structure'
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'data_caption',
'text' => __('Table caption'),
'doc' => 'faq6_27'
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'data_continued_caption',
'text' => __('Table caption (continued)'),
'doc' => 'faq6_27'
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'data_label',
'text' => __('Label key'),
'doc' => 'faq6_27'
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL with:')
);
$this->properties['options'][] = array(
'type' => 'end_group'
);
// data options main group
$dataOptions = new OptionsPropertyMainGroup();
$dataOptions->setName("data");
$dataOptions->setText(__('Data dump options'));
$dataOptions->setForce('structure');
// create primary items and add them to the group
$leaf = new BoolPropertyItem();
$leaf->setName("columns");
$leaf->setText(__('Put columns names in the first row'));
$dataOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("data_caption");
$leaf->setText(__('Table caption'));
$leaf->setDoc('faq6_27');
$dataOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("data_continued_caption");
$leaf->setText(__('Table caption (continued)'));
$leaf->setDoc('faq6_27');
$dataOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("data_label");
$leaf->setText(__('Label key'));
$leaf->setDoc('faq6_27');
$dataOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName('null');
$leaf->setText(__('Replace NULL with:'));
$dataOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dataOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**
@ -442,7 +436,7 @@ class ExportLatex extends ExportPlugin
$dates = false
) {
global $cfgRelation;
$common_functions = PMA_CommonFunctions::getInstance();
$this->setCfgRelation($cfgRelation);

View File

@ -35,59 +35,63 @@ class ExportMediawiki extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('MediaWiki Table'),
'extension' => 'mediawiki',
'mime_type' => 'text/plain',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/groups/OptionsPropertySubgroup.class.php";
require_once "$props/options/items/MessageOnlyPropertyItem.class.php";
require_once "$props/options/items/RadioPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
// general options
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'general_opts'
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('MediaWiki Table');
$exportPluginProperties->setExtension('mediawiki');
$exportPluginProperties->setMimeType('text/plain');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
$generalOptions->setText(__('Dump table'));
// what to dump (structure/data/both)
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'message_only',
'text' => __('Dump table')
)
);
$this->properties['options'][] = array(
'type' => 'radio',
'name' => 'structure_or_data',
'values' => array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
)
);
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
$subgroup = new OptionsPropertySubgroup();
$subgroup->setName("dump_table");
$subgroup->setText("Dump table");
$leaf = new RadioPropertyItem();
$leaf->setName('structure_or_data');
$leaf->setValues(array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
));
$subgroup->setSubgroupHeader($leaf);
$generalOptions->addProperty($subgroup);
// export table name
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'caption',
'text' => __('Export table names')
);
$leaf = new BoolPropertyItem();
$leaf->setName("caption");
$leaf->setText(__('Export table names'));
$generalOptions->addProperty($leaf);
// export table headers
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'headers',
'text' => __('Export table headers')
);
$leaf = new BoolPropertyItem();
$leaf->setName("caption");
$leaf->setText(__('Export table headers'));
$generalOptions->addProperty($leaf);
//add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// end general options
$this->properties['options'][] = array(
'type' => 'end_group'
);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -38,38 +38,48 @@ class ExportOds extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('Open Document Spreadsheet'),
'extension' => 'ods',
'mime_type' => 'application/vnd.oasis.opendocument.spreadsheet',
'force_file' => true,
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL with:')
),
array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
),
array(
'type' => 'hidden',
'name' => 'structure_or_data'
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('Open Document Spreadsheet');
$exportPluginProperties->setExtension('ods');
$exportPluginProperties->setMimeType('application/vnd.oasis.opendocument.spreadsheet');
$exportPluginProperties->setForceFile(true);
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new TextPropertyItem();
$leaf->setName("null");
$leaf->setText(__('Replace NULL with:'));
$generalOptions->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName("columns");
$leaf->setText(__('Put columns names in the first row'));
$generalOptions->addProperty($leaf);
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -46,86 +46,91 @@ class ExportOdt extends ExportPlugin
$hide_structure = true;
}
$this->properties = array(
'text' => __('Open Document Text'),
'extension' => 'odt',
'mime_type' => 'application/vnd.oasis.opendocument.text',
'force_file' => true,
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
/* what to dump (structure/data/both) */
$this->properties['options'][] = array(
'type' => 'begin_group',
'text' => __('Dump table'),
'name' => 'general_opts'
);
$this->properties['options'][] = array(
'type' => 'radio',
'name' => 'structure_or_data',
'values' => array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
)
);
$this->properties['options'][] = array(
'type' => 'end_group'
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('Open Document Text');
$exportPluginProperties->setExtension('odt');
$exportPluginProperties->setMimeType('application/vnd.oasis.opendocument.text');
$exportPluginProperties->setForceFile(true);
$exportPluginProperties->setOptionsText(__('Options'));
/* Structure options */
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// what to dump (structure/data/both) main group
$dumpWhat = new OptionsPropertyMainGroup();
$dumpWhat->setName("general_opts");
$dumpWhat->setText(__('Dump table'));
// create primary items and add them to the group
$leaf = new RadioPropertyItem();
$leaf->setName("structure_or_data");
$leaf->setValues(array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
));
$dumpWhat->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dumpWhat);
// structure options main group
if (! $hide_structure) {
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'structure',
'text' => __('Object creation options'),
'force' => 'data'
);
$structureOptions = new OptionsPropertyMainGroup();
$structureOptions->setName("structure");
$structureOptions->setText(__('Object creation options'));
$structureOptions->setForce('data');
// create primary items and add them to the group
if (! empty($GLOBALS['cfgRelation']['relation'])) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'relation',
'text' => __('Display foreign key relationships')
);
$leaf = new BoolPropertyItem();
$leaf->setName("relation");
$leaf->setText(__('Display foreign key relationships'));
$structureOptions->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'comments',
'text' => __('Display comments')
);
$leaf = new BoolPropertyItem();
$leaf->setName("comments");
$leaf->setText(__('Display comments'));
$structureOptions->addProperty($leaf);
if (! empty($GLOBALS['cfgRelation']['mimework'])) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'mime',
'text' => __('Display MIME types')
);
$leaf = new BoolPropertyItem();
$leaf->setName("mime");
$leaf->setText(__('Display MIME types'));
$structureOptions->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'end_group'
);
// add the main group to the root group
$exportSpecificOptions->addProperty($structureOptions);
}
/* Data */
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'data',
'text' => __('Data dump options'),
'force' => 'structure'
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL with:')
);
$this->properties['options'][] = array(
'type' => 'end_group'
);
// data options main group
$dataOptions = new OptionsPropertyMainGroup();
$dataOptions->setName("data");
$dataOptions->setText(__('Data dump options'));
$dataOptions->setForce('structure');
// create primary items and add them to the group
$leaf = new BoolPropertyItem();
$leaf->setName("columns");
$leaf->setText(__('Put columns names in the first row'));
$dataOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName('null');
$leaf->setText(__('Replace NULL with:'));
$dataOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dataOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**
@ -386,7 +391,7 @@ class ExportOdt extends ExportPlugin
* @param bool $add_semicolon whether to add semicolon and end-of-line at
* the end
* @param bool $view whether we're handling a view
*
*
* @return bool true
*/
public function getTableDef(

View File

@ -65,40 +65,50 @@ class ExportPdf extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('PDF'),
'extension' => 'pdf',
'mime_type' => 'application/pdf',
'force_file' => true,
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/MessageOnlyPropertyItem.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'message_only',
'name' => 'explanation',
'text' => __(
'(Generates a report containing the data of a single table)'
)
),
array(
'type' => 'text',
'name' => 'report_title',
'text' => __('Report title:')
),
array(
'type' => 'hidden',
'name' => 'structure_or_data'
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('PDF');
$exportPluginProperties->setExtension('pdf');
$exportPluginProperties->setMimeType('application/pdf');
$exportPluginProperties->setForceFile(true);
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new MessageOnlyPropertyItem();
$leaf->setName("explanation");
$leaf->setText(__(
'(Generates a report containing the data of a single table)'
));
$generalOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName("report_title");
$leaf->setText(__('Report title:'));
$generalOptions->addProperty($leaf);
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -35,27 +35,37 @@ class ExportPhparray extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('PHP array'),
'extension' => 'php',
'mime_type' => 'text/plain',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'hidden',
'name' => 'structure_or_data',
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('PHP array');
$exportPluginProperties->setExtension('php');
$exportPluginProperties->setMimeType('text/plain');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -128,165 +128,160 @@ class ExportSql extends ExportPlugin
$hide_structure = true;
$hide_sql = true;
}
if (! $hide_sql) {
$this->properties = array(
'text' => __('SQL'),
'extension' => 'sql',
'mime_type' => 'text/x-sql',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/groups/OptionsPropertySubgroup.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/MessageOnlyPropertyItem.class.php";
require_once "$props/options/items/RadioPropertyItem.class.php";
require_once "$props/options/items/SelectPropertyItem.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'general_opts'
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('SQL');
$exportPluginProperties->setExtension('sql');
$exportPluginProperties->setMimeType('text/x-sql');
$exportPluginProperties->setOptionsText(__('Options'));
/* comments */
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'bool',
'name' => 'include_comments',
'text' => __(
'Display comments <i>(includes info such as export'
. ' timestamp, PHP version, and server version)</i>'
)
)
);
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'header_comment',
'text' => __('Additional custom header comment (\n splits lines):')
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'dates',
'text' => __(
'Include a timestamp of when databases were created, last'
. ' updated, and last checked'
)
);
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// comments
$subgroup = new OptionsPropertySubgroup();
$subgroup->setName("include_comments");
$leaf = new BoolPropertyItem();
$leaf->setName('include_comments');
$leaf->setText(__(
'Display comments <i>(includes info such as export'
. ' timestamp, PHP version, and server version)</i>'
));
$subgroup->setSubgroupHeader($leaf);
$leaf = new TextPropertyItem();
$leaf->setName('header_comment');
$leaf->setText(__(
'Additional custom header comment (\n splits lines):'
));
$subgroup->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName('dates');
$leaf->setText(__(
'Include a timestamp of when databases were created, last'
. ' updated, and last checked'
));
$subgroup->addProperty($leaf);
if (! empty($GLOBALS['cfgRelation']['relation'])) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'relation',
'text' => __('Display foreign key relationships')
);
$leaf = new BoolPropertyItem();
$leaf->setName('relation');
$leaf->setText(__('Display foreign key relationships'));
$subgroup->addProperty($leaf);
}
if (! empty($GLOBALS['cfgRelation']['mimework'])) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'mime',
'text' => __('Display MIME types')
);
$leaf = new BoolPropertyItem();
$leaf->setName('mime');
$leaf->setText(__('Display MIME types'));
$subgroup->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
/* end comments */
$generalOptions->addProperty($subgroup);
/* enclose in a transaction */
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'use_transaction',
'text' => __('Enclose export in a transaction'),
'doc' => array(
'programs',
'mysqldump',
'option_mysqldump_single-transaction'
)
);
// enclose in a transaction
$leaf = new BoolPropertyItem();
$leaf->setName("use_transaction");
$leaf->setText(__('Enclose export in a transaction'));
$leaf->setDoc(array(
'programs',
'mysqldump',
'option_mysqldump_single-transaction'
));
$generalOptions->addProperty($leaf);
/* disable foreign key checks */
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'disable_fk',
'text' => __('Disable foreign key checks'),
'doc' => array(
'manual_MySQL_Database_Administration',
'server-system-variables',
'sysvar_foreign_key_checks'
)
);
// disable foreign key checks
$leaf = new BoolPropertyItem();
$leaf->setName("disable_fk");
$leaf->setText(__('Disable foreign key checks'));
$leaf->setDoc(array(
'manual_MySQL_Database_Administration',
'server-system-variables',
'sysvar_foreign_key_checks'
));
$generalOptions->addProperty($leaf);
/* compatibility maximization */
// compatibility maximization
$compats = PMA_DBI_getCompatibilities();
if (count($compats) > 0) {
$values = array();
foreach ($compats as $val) {
$values[$val] = $val;
}
$this->properties['options'][] = array(
'type' => 'select',
'name' => 'compatibility',
'text' => __(
'Database system or older MySQL server to maximize output'
. ' compatibility with:'
),
'values' => $values,
'doc' => array(
'manual_MySQL_Database_Administration',
'Server_SQL_mode'
)
);
$leaf = new SelectPropertyItem();
$leaf->setName("compatibility");
$leaf->setText(__(
'Database system or older MySQL server to maximize output'
. ' compatibility with:'
));
$leaf->setValues($values);
$leaf->setDoc(array(
'manual_MySQL_Database_Administration',
'Server_SQL_mode'
));
$generalOptions->addProperty($leaf);
unset($values);
}
/* server export options */
// server export options
if ($plugin_param['export_type'] == 'server') {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'drop_database',
'text' => sprintf(
__('Add %s statement'), '<code>DROP DATABASE</code>'
)
);
$leaf = new BoolPropertyItem();
$leaf->setName("drop_database");
$leaf->setText(sprintf(
__('Add %s statement'), '<code>DROP DATABASE</code>'
));
$generalOptions->addProperty($leaf);
}
/* what to dump (structure/data/both) */
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'message_only',
'text' => __('Dump table')
)
);
$this->properties['options'][] = array(
'type' => 'radio',
'name' => 'structure_or_data',
'values' => array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
)
);
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
// what to dump (structure/data/both)
$subgroup = new OptionsPropertySubgroup();
$subgroup->setName("dump_table");
$subgroup->setText("Dump table");
$leaf = new RadioPropertyItem();
$leaf->setName('structure_or_data');
$leaf->setValues(array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
));
$subgroup->setSubgroupHeader($leaf);
$generalOptions->addProperty($subgroup);
$this->properties['options'][] = array(
'type' => 'end_group'
);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
/* begin Structure options */
// structure options main group
if (! $hide_structure) {
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'structure',
'text' => __('Object creation options'),
'force' => 'data'
);
$structureOptions = new OptionsPropertyMainGroup();
$structureOptions->setName("structure");
$structureOptions->setText(__('Object creation options'));
$structureOptions->setForce('data');
/* begin SQL Statements */
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'message_only',
'name' => 'add_statements',
'text' => __('Add statements:')
)
);
// begin SQL Statements
$subgroup = new OptionsPropertySubgroup();
$leaf = new MessageOnlyPropertyItem();
$leaf->setName('add_statements');
$leaf->setText(__('Add statements:'));
$subgroup->setSubgroupHeader($leaf);
if ($plugin_param['export_type'] == 'table') {
if (PMA_Table::isView($GLOBALS['db'], $GLOBALS['table'])) {
$drop_clause = '<code>DROP VIEW</code>';
@ -304,200 +299,168 @@ class ExportSql extends ExportPlugin
}
}
}
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'drop_table',
'text' => sprintf(__('Add %s statement'), $drop_clause)
);
$leaf = new BoolPropertyItem();
$leaf->setName('drop_table');
$leaf->setText(sprintf(__('Add %s statement'), $drop_clause));
$subgroup->addProperty($leaf);
// Drizzle doesn't support procedures and functions
if (! PMA_DRIZZLE) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'procedure_function',
'text' => sprintf(
__('Add %s statement'),
'<code>CREATE PROCEDURE / FUNCTION'
. (PMA_MYSQL_INT_VERSION > 50100
? ' / EVENT</code>' : '</code>')
)
);
$leaf = new BoolPropertyItem();
$leaf->setName('procedure_function');
$leaf->setText(sprintf(
__('Add %s statement'),
'<code>CREATE PROCEDURE / FUNCTION'
. (PMA_MYSQL_INT_VERSION > 50100
? ' / EVENT</code>' : '</code>')
));
$subgroup->addProperty($leaf);
}
/* begin CREATE TABLE statements*/
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'bool',
'name' => 'create_table_statements',
'text' => __('<code>CREATE TABLE</code> options:')
)
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'if_not_exists',
'text' => '<code>IF NOT EXISTS</code>'
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'auto_increment',
'text' => '<code>AUTO_INCREMENT</code>'
);
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
/* end CREATE TABLE statements */
// begin CREATE TABLE statements
$subgroup_create_table = new OptionsPropertySubgroup();
$leaf = new BoolPropertyItem();
$leaf->setName('create_table_statements');
$leaf->setText(__('<code>CREATE TABLE</code> options:'));
$subgroup_create_table->setSubgroupHeader($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName('if_not_exists');
$leaf->setText('<code>IF NOT EXISTS</code>');
$subgroup_create_table->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName('auto_increment');
$leaf->setText('<code>AUTO_INCREMENT</code>');
$subgroup_create_table->addProperty($leaf);
$subgroup->addProperty($subgroup_create_table);
$structureOptions->addProperty($subgroup);
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
/* end SQL statements */
$leaf = new BoolPropertyItem();
$leaf->setName("backquotes");
$leaf->setText(__(
'Enclose table and column names with backquotes '
. '<i>(Protects column and table names formed with'
. ' special characters or keywords)</i>'
));
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'backquotes',
'text' => __(
'Enclose table and column names with backquotes '
. '<i>(Protects column and table names formed with'
. ' special characters or keywords)</i>'
)
);
$structureOptions->addProperty($leaf);
$this->properties['options'][] = array(
'type' => 'end_group'
);
// add the main group to the root group
$exportSpecificOptions->addProperty($structureOptions);
}
/* end Structure options */
/* begin Data options */
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'data',
'text' => __('Data dump options'),
'force' => 'structure'
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'truncate',
'text' => __('Truncate table before insert')
);
/* begin SQL statements */
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'message_only',
'text' => __('Instead of <code>INSERT</code> statements, use:')
)
);
// begin Data options
$dataOptions = new OptionsPropertyMainGroup();
$dataOptions->setName("data");
$dataOptions->setText(__('Data creation options'));
$dataOptions->setForce('structure');
$leaf = new BoolPropertyItem();
$leaf->setName("truncate");
$leaf->setText(__('Truncate table before insert'));
$dataOptions->addProperty($leaf);
// begin SQL Statements
$subgroup = new OptionsPropertySubgroup();
$leaf = new MessageOnlyPropertyItem();
$leaf->setText(__('Instead of <code>INSERT</code> statements, use:'));
$subgroup->setSubgroupHeader($leaf);
// Not supported in Drizzle
if (! PMA_DRIZZLE) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'delayed',
'text' => __('<code>INSERT DELAYED</code> statements'),
'doc' => array(
'manual_MySQL_Database_Administration',
'insert_delayed'
)
);
$leaf = new BoolPropertyItem();
$leaf->setName("delayed");
$leaf->setText(__('<code>INSERT DELAYED</code> statements'));
$leaf->setDoc(array(
'manual_MySQL_Database_Administration',
'insert_delayed'
));
$subgroup->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'ignore',
'text' => __('<code>INSERT IGNORE</code> statements'),
'doc' => array(
$leaf = new BoolPropertyItem();
$leaf->setName("ignore");
$leaf->setText(__('<code>INSERT IGNORE</code> statements'));
$leaf->setDoc(array(
'manual_MySQL_Database_Administration',
'insert'
)
);
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
/* end SQL statements */
));
$subgroup->addProperty($leaf);
$dataOptions->addProperty($subgroup);
/* Function to use when dumping data */
$this->properties['options'][] = array(
'type' => 'select',
'name' => 'type',
'text' => __('Function to use when dumping data:'),
'values' => array(
'INSERT' => 'INSERT',
'UPDATE' => 'UPDATE',
'REPLACE' => 'REPLACE'
)
);
// Function to use when dumping dat
$leaf = new SelectPropertyItem();
$leaf->setName("type");
$leaf->setText(__('Function to use when dumping data:'));
$leaf->setValues(array(
'INSERT' => 'INSERT',
'UPDATE' => 'UPDATE',
'REPLACE' => 'REPLACE'
));
$dataOptions->addProperty($leaf);
/* Syntax to use when inserting data */
$this->properties['options'][] = array(
'type' => 'begin_subgroup',
'subgroup_header' => array(
'type' => 'message_only',
'text' => __('Syntax to use when inserting data:')
$subgroup = new OptionsPropertySubgroup();
$leaf = new MessageOnlyPropertyItem();
$leaf->setText(__('Syntax to use when inserting data:'));
$subgroup->setSubgroupHeader($leaf);
$leaf = new RadioPropertyItem();
$leaf->setName("insert_syntax");
$leaf->setText(__('<code>INSERT IGNORE</code> statements'));
$leaf->setValues(array(
'complete' => __(
'include column names in every <code>INSERT</code> statement'
. ' <br /> &nbsp; &nbsp; &nbsp; Example: <code>INSERT INTO'
. ' tbl_name (col_A,col_B,col_C) VALUES (1,2,3)</code>'
),
'extended' => __(
'insert multiple rows in every <code>INSERT</code> statement'
. '<br /> &nbsp; &nbsp; &nbsp; Example: <code>INSERT INTO'
. ' tbl_name VALUES (1,2,3), (4,5,6), (7,8,9)</code>'
),
'both' => __(
'both of the above<br /> &nbsp; &nbsp; &nbsp; Example:'
. ' <code>INSERT INTO tbl_name (col_A,col_B) VALUES (1,2,3),'
. ' (4,5,6), (7,8,9)</code>'
),
'none' => __(
'neither of the above<br /> &nbsp; &nbsp; &nbsp; Example:'
. ' <code>INSERT INTO tbl_name VALUES (1,2,3)</code>'
)
);
$this->properties['options'][] = array(
'type' => 'radio',
'name' => 'insert_syntax',
'values' => array(
'complete' => __(
'include column names in every <code>INSERT</code> statement'
. ' <br /> &nbsp; &nbsp; &nbsp; Example: <code>INSERT INTO'
. ' tbl_name (col_A,col_B,col_C) VALUES (1,2,3)</code>'
),
'extended' => __(
'insert multiple rows in every <code>INSERT</code> statement'
. '<br /> &nbsp; &nbsp; &nbsp; Example: <code>INSERT INTO'
. ' tbl_name VALUES (1,2,3), (4,5,6), (7,8,9)</code>'
),
'both' => __(
'both of the above<br /> &nbsp; &nbsp; &nbsp; Example:'
. ' <code>INSERT INTO tbl_name (col_A,col_B) VALUES (1,2,3),'
. ' (4,5,6), (7,8,9)</code>'
),
'none' => __(
'neither of the above<br /> &nbsp; &nbsp; &nbsp; Example:'
. ' <code>INSERT INTO tbl_name VALUES (1,2,3)</code>'
)
)
);
$this->properties['options'][] = array(
'type' => 'end_subgroup'
);
));
$subgroup->addProperty($leaf);
$dataOptions->addProperty($subgroup);
/* Max length of query */
$this->properties['options'][] = array(
'type' => 'text',
'name' => 'max_query_size',
'text' => __('Maximal length of created query')
);
// Max length of query
$leaf = new TextPropertyItem();
$leaf->setName("max_query_size");
$leaf->setText(__('Maximal length of created query'));
$dataOptions->addProperty($leaf);
/* Dump binary columns in hexadecimal */
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'hex_for_blob',
'text' => __(
'Dump binary columns in hexadecimal notation'
. ' <i>(for example, "abc" becomes 0x616263)</i>'
)
);
// Dump binary columns in hexadecimal
$leaf = new BoolPropertyItem();
$leaf->setName("hex_for_blob");
$leaf->setText(__(
'Dump binary columns in hexadecimal notation'
. ' <i>(for example, "abc" becomes 0x616263)</i>'
));
$dataOptions->addProperty($leaf);
// Drizzle works only with UTC timezone
if (! PMA_DRIZZLE) {
/* Dump time in UTC */
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'utc_time',
'text' => __(
'Dump TIMESTAMP columns in UTC <i>(enables TIMESTAMP columns'
. ' to be dumped and reloaded between servers in different'
. ' time zones)</i>'
)
);
// Dump time in UTC
$leaf = new BoolPropertyItem();
$leaf->setName("utc_time");
$leaf->setText(__(
'Dump TIMESTAMP columns in UTC <i>(enables TIMESTAMP columns'
. ' to be dumped and reloaded between servers in different'
. ' time zones)</i>'
));
$dataOptions->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'end_group'
);
/* end Data options */
// add the main group to the root group
$exportSpecificOptions->addProperty($dataOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
}
@ -781,10 +744,10 @@ class ExportSql extends ExportPlugin
public function exportDBCreate($db)
{
global $crlf;
$common_functions = PMA_CommonFunctions::getInstance();
$this->setCrlf($crlf);
if (isset($GLOBALS['sql_drop_database'])) {
if (! PMA_exportOutputHandler(
'DROP DATABASE '
@ -923,7 +886,7 @@ class ExportSql extends ExportPlugin
*/
public function getTableDefStandIn($db, $view, $crlf)
{
$common_functions = PMA_CommonFunctions::getInstance();
$create_query = '';
if (! empty($GLOBALS['sql_drop_table'])) {
@ -972,7 +935,7 @@ class ExportSql extends ExportPlugin
$view = false
) {
$this->initSpecificVariables();
$sql_drop_table = $this->_getSqlDropTable();
$sql_backquotes = $this->_getSqlBackquotes();
$sql_constraints = $this->_getSqlConstraints();
@ -1413,9 +1376,9 @@ class ExportSql extends ExportPlugin
$mime = false,
$dates = false
) {
$common_functions = PMA_CommonFunctions::getInstance();
$formatted_table_name = (isset($GLOBALS['sql_backquotes']))
? $common_functions->backquote($table) : '\'' . $table . '\'';
$dump = $this->_possibleCRLF()

View File

@ -35,53 +35,62 @@ class ExportTexytext extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('Texy! text'),
'extension' => 'txt',
'mime_type' => 'text/plain',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/RadioPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
require_once "$props/options/items/TextPropertyItem.class.php";
$this->properties['options'] = array(
/* what to dump (structure/data/both) */
array(
'type' => 'begin_group',
'text' => __('Dump table'),
'name' => 'general_opts'
),
array(
'type' => 'radio',
'name' => 'structure_or_data',
'values' => array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
)
),
array(
'type' => 'end_group'
),
array(
'type' => 'begin_group',
'name' => 'data',
'text' => __('Data dump options'),
'force' => 'structure'
),
array(
'type' => 'text',
'name' => 'null',
'text' => __('Replace NULL by')
),
array(
'type' => 'bool',
'name' => 'columns',
'text' => __('Put columns names in the first row')
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('Texy! text');
$exportPluginProperties->setExtension('txt');
$exportPluginProperties->setMimeType('text/plain');
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// what to dump (structure/data/both) main group
$dumpWhat = new OptionsPropertyMainGroup();
$dumpWhat->setName("general_opts");
$dumpWhat->setText(__('Dump table'));
// create primary items and add them to the group
$leaf = new RadioPropertyItem();
$leaf->setName("structure_or_data");
$leaf->setValues(array(
'structure' => __('structure'),
'data' => __('data'),
'structure_and_data' => __('structure and data')
));
$dumpWhat->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dumpWhat);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
// data options main group
$dataOptions = new OptionsPropertyMainGroup();
$dataOptions->setName("data");
$dataOptions->setText(__('Data dump options'));
$dataOptions->setForce('structure');
// create primary items and add them to the group
$leaf = new BoolPropertyItem();
$leaf->setName("columns");
$leaf->setText(__('Put columns names in the first row'));
$dataOptions->addProperty($leaf);
$leaf = new TextPropertyItem();
$leaf->setName('null');
$leaf->setText(__('Replace NULL with:'));
$dataOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($dataOptions);
}
/**

View File

@ -64,81 +64,81 @@ class ExportXml extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => __('XML'),
'extension' => 'xml',
'mime_type' => 'text/xml',
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
require_once "$props/options/items/BoolPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'hidden',
'name' => 'structure_or_data'
),
array(
'type' => 'end_group'
)
);
// create the export plugin property item
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('XML');
$exportPluginProperties->setExtension('xml');
$exportPluginProperties->setMimeType('text/xml');
$exportPluginProperties->setOptionsText(__('Options'));
/* Export structure */
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'structure',
'text' => __('Object creation options (all are recommended)')
);
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// export structure main group
$structure = new OptionsPropertyMainGroup();
$structure->setName("structure");
$structure->setText(__('Object creation options (all are recommended)'));
// create primary items and add them to the group
if (! PMA_DRIZZLE) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'export_functions',
'text' => __('Functions')
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'export_procedures',
'text' => __('Procedures')
);
$leaf = new BoolPropertyItem();
$leaf->setName("export_functions");
$leaf->setText(__('Functions'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName("export_procedures");
$leaf->setText(__('Procedures'));
$structure->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'export_tables',
'text' => __('Tables')
);
$leaf = new BoolPropertyItem();
$leaf->setName("export_tables");
$leaf->setText(__('Tables'));
$structure->addProperty($leaf);
if (! PMA_DRIZZLE) {
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'export_triggers',
'text' => __('Triggers')
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'export_views',
'text' => __('Views')
);
$leaf = new BoolPropertyItem();
$leaf->setName("export_triggers");
$leaf->setText(__('Triggers'));
$structure->addProperty($leaf);
$leaf = new BoolPropertyItem();
$leaf->setName("export_views");
$leaf->setText(__('Views'));
$structure->addProperty($leaf);
}
$this->properties['options'][] = array(
'type' => 'end_group'
);
$exportSpecificOptions->addProperty($structure);
/* Data */
$this->properties['options'][] = array(
'type' => 'begin_group',
'name' => 'data',
'text' => __('Data dump options')
);
$this->properties['options'][] = array(
'type' => 'bool',
'name' => 'export_contents',
'text' => __('Export contents')
);
$this->properties['options'][] = array(
'type' => 'end_group'
);
// data main group
$data = new OptionsPropertyMainGroup();
$data->setName("data");
$data->setText(__('Data dump options'));
// create primary items and add them to the group
$leaf = new BoolPropertyItem();
$leaf->setName("export_contents");
$leaf->setText(__('Export contents'));
$data->addProperty($leaf);
$exportSpecificOptions->addProperty($data);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -35,28 +35,38 @@ class ExportYaml extends ExportPlugin
*/
protected function setProperties()
{
$this->properties = array(
'text' => 'YAML',
'extension' => 'yml',
'mime_type' => 'text/yaml',
'force_file' => true,
'options' => array(),
'options_text' => __('Options')
);
$props = 'libraries/properties/';
require_once "$props/plugins/ExportPluginProperties.class.php";
require_once "$props/options/groups/OptionsPropertyRootGroup.class.php";
require_once "$props/options/groups/OptionsPropertyMainGroup.class.php";
require_once "$props/options/items/HiddenPropertyItem.class.php";
$this->properties['options'] = array(
array(
'type' => 'begin_group',
'name' => 'general_opts'
),
array(
'type' => 'hidden',
'name' => 'structure_or_data',
),
array(
'type' => 'end_group'
)
);
$exportPluginProperties = new ExportPluginProperties();
$exportPluginProperties->setText('YAML');
$exportPluginProperties->setExtension('yml');
$exportPluginProperties->setMimeType('text/yaml');
$exportPluginProperties->setForceFile(true);
$exportPluginProperties->setOptionsText(__('Options'));
// create the root group that will be the options field for
// $exportPluginProperties
// this will be shown as "Format specific options"
$exportSpecificOptions = new OptionsPropertyRootGroup();
$exportSpecificOptions->setName("Format Specific Options");
// general options main group
$generalOptions = new OptionsPropertyMainGroup();
$generalOptions->setName("general_opts");
// create primary items and add them to the group
$leaf = new HiddenPropertyItem();
$leaf->setName("structure_or_data");
$generalOptions->addProperty($leaf);
// add the main group to the root group
$exportSpecificOptions->addProperty($generalOptions);
// set the options for the export plugin property item
$exportPluginProperties->setOptions($exportSpecificOptions);
$this->properties = $exportPluginProperties;
}
/**

View File

@ -0,0 +1,49 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* The top-level class of the object-oriented properties system.
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/**
* Provides an interface for Property classes
*
* @package PhpMyAdmin
*/
abstract class PropertyItem
{
/**
* Returns the property type ( either "Options", or "Plugin" ).
*
* @return string
*/
public abstract function getPropertyType();
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public abstract function getItemType();
/**
* Only overwritten in the OptionsPropertyGroup class:
* Used to tell whether we can use the current item as a group by calling
* the addProperty() or removeProperty() methods, which are not available
* for simple OptionsPropertyOneItem subclasses.
*
* @return string
*/
public function getGroup()
{
return null;
}
}
?>

View File

@ -0,0 +1,102 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Superclass for the Property Group classes.
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyItem class */
require_once "OptionsPropertyItem.class.php";
/**
* Parents group property items and provides methods to manage groups of
* properties.
*
* @todo modify descriptions if needed, when the options are integrated
* @package PhpMyAdmin
*/
abstract class OptionsPropertyGroup extends OptionsPropertyItem
{
/**
* Holds a group of properties (OptionsPropertyItem instances)
*
* @var array
*/
private $_properties;
/**
* Adds a property to the group of properties
*
* @param OptionsPropertyItem $property the property instance to be added
* to the group
*
* @return void
*/
public function addProperty($property)
{
if (! $this->getProperties() == null
&& in_array($property, $this->getProperties(), true)
) {
return;
}
$this->_properties [] = $property;
}
/**
* Removes a property from the group of properties
*
* @param OptionsPropertyItem $property the property instance to be removed
* from the group
*
* @return void
*/
public function removeProperty($property)
{
$this->_properties = array_udiff(
$this->getProperties(),
array($property),
function ($a, $b) {
return ($a === $b ) ? 0 : 1;
}
);
}
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Gets the instance of the class
*
* @return array
*/
public function getGroup()
{
return $this;
}
/**
* Gets the group of properties
*
* @return array
*/
public function getProperties()
{
return $this->_properties;
}
/**
* Gets the number of properties
*
* @return int
*/
public function getNrOfProperties()
{
return count($this->_properties);
}
}
?>

View File

@ -0,0 +1,127 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* The top-level class of the "Options" subtree of the object-oriented
* properties system (the other subtree is "Plugin").
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the PropertyItem class */
require_once "libraries/properties/PropertyItem.class.php";
/**
* Superclass for
* - OptionsPropertyOneItem and
* - OptionsProperty Group
*
* @package PhpMyAdmin
*/
abstract class OptionsPropertyItem extends PropertyItem
{
/**
* Name
*
* @var string
*/
private $_name;
/**
* Text
*
* @var string
*/
private $_text;
/**
* What to force
*
* @var string
*/
private $_force;
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Gets the name
*
* @return string
*/
public function getName()
{
return $this->_name;
}
/**
* Sets the name
*
* @param string $name name
*
* @return void
*/
public function setName($name)
{
$this->_name = $name;
}
/**
* Gets the text
*
* @return string
*/
public function getText()
{
return $this->_text;
}
/**
* Sets the text
*
* @param string $text text
*
* @return void
*/
public function setText($text)
{
$this->_text = $text;
}
/**
* Gets the force parameter
*
* @return string
*/
public function getForce()
{
return $this->_force;
}
/**
* Sets the force paramter
*
* @param string $force force parameter
*
* @return void
*/
public function setForce($force)
{
$this->_force = $force;
}
/**
* Returns the property type ( either "options", or "plugin" ).
*
* @return string
*/
public function getPropertyType()
{
return "options";
}
}
?>

View File

@ -0,0 +1,172 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Superclass for the single Property Item classes.
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyItem class */
require_once "OptionsPropertyItem.class.php";
/**
* Parents only single property items (not groups).
* Defines possible options and getters and setters for them.
*
* @package PhpMyAdmin
*/
abstract class OptionsPropertyOneItem extends OptionsPropertyItem
{
/**
* Whether to force or not
*
* @var bool
*/
private $_force;
/**
* Values
*
* @var array
*/
private $_values;
/**
* Doc
*
* @var string
*/
private $_doc;
/**
* Length
*
* @var int
*/
private $_len;
/**
* Size
*
* @var int
*/
private $_size;
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Gets the force parameter
*
* @return string
*/
public function getForce()
{
return $this->_force;
}
/**
* Sets the force parameter
*
* @param bool $force force parameter
*
* @return void
*/
public function setForce($force)
{
$this->_force = $force;
}
/**
* Gets the values
*
* @return string
*/
public function getValues()
{
return $this->_values;
}
/**
* Sets the values
*
* @param array $values values
*
* @return void
*/
public function setValues($values)
{
$this->_values = $values;
}
/**
* Gets the type of the newline character
*
* @return string
*/
public function getDoc()
{
return $this->_doc;
}
/**
* Sets the doc
*
* @param string $doc doc
*
* @return void
*/
public function setDoc($doc)
{
$this->_doc = $doc;
}
/**
* Gets the length
*
* @return int
*/
public function getLen()
{
return $this->_len;
}
/**
* Sets the length
*
* @param int $len length
*
* @return void
*/
public function setLen($len)
{
$this->_len = $len;
}
/**
* Gets the size
*
* @return int
*/
public function getSize()
{
return $this->_size;
}
/**
* Sets the size
*
* @param int $size size
*
* @return void
*/
public function setSize($size)
{
$this->_size = $size;
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the OptionsPropertyMainGroup class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyGroup class */
require_once "libraries/properties/options/OptionsPropertyGroup.class.php";
/**
* Group property item class of type main
*
* @package PhpMyAdmin
*/
class OptionsPropertyMainGroup extends OptionsPropertyGroup
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "main";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the OptionsPropertyRootGroup class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyGroup class */
require_once "libraries/properties/options/OptionsPropertyGroup.class.php";
/**
* Group property item class of type root
*
* @package PhpMyAdmin
*/
class OptionsPropertyRootGroup extends OptionsPropertyGroup
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "root";
}
}
?>

View File

@ -0,0 +1,68 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the OptionsPropertySubgroup class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyGroup class */
require_once "libraries/properties/options/OptionsPropertyGroup.class.php";
/**
* Group property item class of type subgroup
*
* @package PhpMyAdmin
*/
class OptionsPropertySubgroup extends OptionsPropertyGroup
{
/**
* Subgroup Header
*
* @var string
*/
private $_subgroupHeader;
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "subgroup";
}
/**
* Gets the subgroup header
*
* @return string
*/
public function getSubgroupHeader()
{
return $this->_subgroupHeader;
}
/**
* Sets the subgroup header
*
* @param string $subgroupHeader subgroup header
*
* @return void
*/
public function setSubgroupHeader($subgroupHeader)
{
$this->_subgroupHeader = $subgroupHeader;
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the BoolPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type bool
*
* @package PhpMyAdmin
*/
class BoolPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "bool";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the DocPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type doc
*
* @package PhpMyAdmin
*/
class DocPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "doc";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the HiddenPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type hidden
*
* @package PhpMyAdmin
*/
class HiddenPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "hidden";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the MessageOnlyPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type messageOnly
*
* @package PhpMyAdmin
*/
class MessageOnlyPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "messageOnly";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the RadioPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type radio
*
* @package PhpMyAdmin
*/
class RadioPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "radio";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the SelectPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type select
*
* @package PhpMyAdmin
*/
class SelectPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "select";
}
}
?>

View File

@ -0,0 +1,35 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds the TextPropertyItem class
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the OptionsPropertyOneItem class */
require_once "libraries/properties/options/OptionsPropertyOneItem.class.php";
/**
* Single property item class of type text
*
* @package PhpMyAdmin
*/
class TextPropertyItem extends OptionsPropertyOneItem
{
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "text";
}
}
?>

View File

@ -0,0 +1,215 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Properties class for the export plug-in
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the PluginPropertyItem class */
require_once "PluginPropertyItem.class.php";
/**
* Defines possible options and getters and setters for them.
*
* @todo modify descriptions if needed, when the plug-in properties are integrated
* @package PhpMyAdmin
*/
class ExportPluginProperties extends PluginPropertyItem
{
/**
* Text
*
* @var string
*/
private $_text;
/**
* Extension
*
* @var string
*/
private $_extension;
/**
* Options
*
* @var OptionsPropertyRootGroup
*/
private $_options;
/**
* Options text
*
* @var string
*/
private $_optionsText;
/**
* MIME Type
*
* @var string
*/
private $_mimeType;
/**
* Whether to force or not
*
* @var bool
*/
private $_forceFile;
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "export";
}
/**
* Gets the text
*
* @return string
*/
public function getText()
{
return $this->_text;
}
/**
* Sets the text
*
* @param string $text text
*
* @return void
*/
public function setText($text)
{
$this->_text = $text;
}
/**
* Gets the extension
*
* @return string
*/
public function getExtension()
{
return $this->_extension;
}
/**
* Sets the extension
*
* @param string $extension extension
*
* @return void
*/
public function setExtension($extension)
{
$this->_extension = $extension;
}
/**
* Gets the options
*
* @return OptionsPropertyRootGroup
*/
public function getOptions()
{
return $this->_options;
}
/**
* Sets the options
*
* @param OptionsPropertyRootGroup $options options
*
* @return void
*/
public function setOptions($options)
{
$this->_options = $options;
}
/**
* Gets the options text
*
* @return string
*/
public function getOptionsText()
{
return $this->_optionsText;
}
/**
* Sets the options text
*
* @param string $optionsText optionsText
*
* @return void
*/
public function setOptionsText($optionsText)
{
$this->_optionsText = $optionsText;
}
/**
* Gets the MIME type
*
* @return string
*/
public function getMimeType()
{
return $this->_mimeType;
}
/**
* Sets the MIME type
*
* @param string $mimeType MIME type
*
* @return void
*/
public function setMimeType($mimeType)
{
$this->_mimeType = $mimeType;
}
/**
* Gets the force file parameter
*
* @return bool
*/
public function getForceFile()
{
return $this->_forceFile;
}
/**
* Sets the force file parameter
*
* @param bool $forceFile the force file parameter
*
* @return void
*/
public function setForceFile($forceFile)
{
$this->_forceFile = $forceFile;
}
}
?>

View File

@ -0,0 +1,156 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Properties class for the import plug-in
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the PluginPropertyItem class */
require_once "PluginPropertyItem.class.php";
/**
* Defines possible options and getters and setters for them.
*
* @todo modify descriptions if needed, when the plug-in properties are integrated
* @package PhpMyAdmin
*/
class ImportPluginProperties extends PluginPropertyItem
{
/**
* Text
*
* @var string
*/
private $_text;
/**
* Extension
*
* @var string
*/
private $_extension;
/**
* Options
*
* @var OptionsPropertyRootGroup
*/
private $_options;
/**
* Options text
*
* @var string
*/
private $_optionsText;
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "import";
}
/**
* Gets the text
*
* @return string
*/
public function getText()
{
return $this->_text;
}
/**
* Sets the text
*
* @param string $text text
*
* @return void
*/
public function setText($text)
{
$this->_text = $text;
}
/**
* Gets the extension
*
* @return string
*/
public function getExtension()
{
return $this->_extension;
}
/**
* Sets the extension
*
* @param string $extension extension
*
* @return void
*/
public function setExtension($extension)
{
$this->_extension = $extension;
}
/**
* Gets the options
*
* @return OptionsPropertyRootGroup
*/
public function getOptions()
{
return $this->_options;
}
/**
* Sets the options
*
* @param OptionsPropertyRootGroup $options options
*
* @return void
*/
public function setOptions($options)
{
$this->_options = $options;
}
/**
* Gets the options text
*
* @return string
*/
public function getOptionsText()
{
return $this->_optionsText;
}
/**
* Sets the options text
*
* @param string $optionsText options text
*
* @return void
*/
public function setOptionsText($optionsText)
{
$this->_optionsText = $optionsText;
}
}
?>

View File

@ -0,0 +1,36 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* The top-level class of the "Plugin" subtree of the object-oriented
* properties system (the other subtree is "Options").
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the PropertyItem class */
require_once "libraries/properties/PropertyItem.class.php";
/**
* Superclass for
* - ExportPluginProperties,
* - ImportPluginProperties and
* - TransformationsPluginProperties
*
* @package PhpMyAdmin
*/
abstract class PluginPropertyItem extends PropertyItem
{
/**
* Returns the property type ( either "options", or "plugin" ).
*
* @return string
*/
public function getPropertyType()
{
return "plugin";
}
}
?>

View File

@ -0,0 +1,157 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Properties class for the transformations plug-in
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/* This class extends the PluginPropertyItem class */
require_once "PluginPropertyItem.class.php";
/**
* Defines possible options and getters and setters for them.
*
* @todo modify descriptions if needed, when the plug-in properties are integrated
* @package PhpMyAdmin
*/
class TransformationsPluginProperties extends PluginPropertyItem
{
/**
* Information about the transformations plug-in
*
* @var string
*/
private $_info;
/**
* MIME Type
*
* @var string
*/
private $_mimeType;
/**
* MIME Subtype
*
* @var string
*/
private $_mimeSubype;
/**
* Name of the transformation
*
* @var string
*/
private $_transformationName;
/* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */
/**
* Returns the property item type of either an instance of
* - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
* - OptionsPropertyGroup ( "root", "main" or "subgroup" )
* - PluginPropertyItem ( "export", "import", "transformations" )
*
* @return string
*/
public function getItemType()
{
return "transformations";
}
/**
* Gets information about the transformations plug-in
*
* @return string
*/
public function getInfo()
{
return $this->_info;
}
/**
* Sets information about the transformations plug-in
*
* @param string $info information about the transformations plug-in
*
* @return void
*/
public function setInfo($info)
{
$this->_info = $info;
}
/**
* Gets the MIME type
*
* @return string
*/
public function getMimeType()
{
return $this->_mimeType;
}
/**
* Sets the MIME type
*
* @param string $mimeType MIME type
*
* @return void
*/
public function setMimeType($mimeType)
{
$this->_mimeType = $mimeType;
}
/**
* Gets the MIME subtype
*
* @return string
*/
public function getMimeSubtype()
{
return $this->_mimeSubype;
}
/**
* Sets the MIME subtype
*
* @param string $mimeSubtype MIME subtype
*
* @return void
*/
public function setMimeSubtype($mimeSubtype)
{
$this->_mimeSubype = $mimeSubtype;
}
/**
* Gets the transformation name
*
* @return string
*/
public function getTransformationName()
{
return $this->_transformationName;
}
/**
* Sets the transformation name
*
* @param string $transformationName transformation name
*
* @return void
*/
public function setTransformationName($transformationName)
{
$this->_transformationName = $transformationName;
}
}
?>

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-18 11:12+0200\n"
"PO-Revision-Date: 2012-07-05 17:22+0200\n"
"PO-Revision-Date: 2012-07-23 17:19+0200\n"
"Last-Translator: Xavier Navarro <xvnavarro@gmail.com>\n"
"Language-Team: catalan <ca@li.org>\n"
"Language: ca\n"
@ -3075,7 +3075,7 @@ msgstr "Jocs de caràcters"
#: libraries/Menu.class.php:516 server_plugins.php:33 server_plugins.php:66
msgid "Plugins"
msgstr ""
msgstr "Complements"
#: libraries/Menu.class.php:520
msgid "Engines"
@ -8562,15 +8562,15 @@ msgstr "Temps"
#: libraries/rte/rte_triggers.lib.php:414
msgid "You must provide a trigger name"
msgstr ""
msgstr "Has de proveïr un nom de disparador"
#: libraries/rte/rte_triggers.lib.php:419
msgid "You must provide a valid timing for the trigger"
msgstr ""
msgstr "Has de proveïr una sincronització vàlida pel disparador"
#: libraries/rte/rte_triggers.lib.php:424
msgid "You must provide a valid event for the trigger"
msgstr ""
msgstr "Has de proveïr un event vàlid pel disparador"
#: libraries/rte/rte_triggers.lib.php:430
msgid "You must provide a valid table name"
@ -8578,7 +8578,7 @@ msgstr "Has de donar un nom de taula vàlid"
#: libraries/rte/rte_triggers.lib.php:436
msgid "You must provide a trigger definition."
msgstr ""
msgstr "Has de proveïr una definició de disparador."
#: libraries/rte/rte_words.lib.php:22
msgid "Add routine"
@ -9142,7 +9142,7 @@ msgstr "Servidor de base de dades"
#: main.php:200
msgid "Software"
msgstr ""
msgstr "Programari"
#: main.php:204
msgid "Software version"
@ -9649,7 +9649,7 @@ msgstr "Veure volcat (esquema) de les bases de dades"
#: server_plugins.php:67
msgid "Modules"
msgstr ""
msgstr "Mòduls"
#: server_plugins.php:88
msgid "Begin"
@ -9657,15 +9657,15 @@ msgstr "Inici"
#: server_plugins.php:95
msgid "Plugin"
msgstr ""
msgstr "Complement"
#: server_plugins.php:96 server_plugins.php:130
msgid "Module"
msgstr ""
msgstr "Mòdul"
#: server_plugins.php:97 server_plugins.php:132
msgid "Library"
msgstr ""
msgstr "Llibreria"
#: server_plugins.php:98 server_plugins.php:133 tbl_tracking.php:720
msgid "Version"
@ -9673,11 +9673,11 @@ msgstr "Versió"
#: server_plugins.php:99 server_plugins.php:134
msgid "Author"
msgstr ""
msgstr "Autor"
#: server_plugins.php:100 server_plugins.php:135
msgid "License"
msgstr ""
msgstr "Licència"
#: server_plugins.php:166
msgid "disabled"
@ -10379,11 +10379,11 @@ msgstr "Totes les variables d'estat"
#: server_status.php:805
msgid "Monitor"
msgstr ""
msgstr "Monitorització"
#: server_status.php:806
msgid "Advisor"
msgstr ""
msgstr "Assessorament"
#: server_status.php:816 server_status.php:838
msgid "Refresh rate: "
@ -10403,7 +10403,7 @@ msgstr "Mostra només valors d'alerta"
#: server_status.php:868
msgid "Filter by category..."
msgstr ""
msgstr "Filtrar per categoria..."
#: server_status.php:881
msgid "Show unformatted values"

View File

@ -4,14 +4,14 @@ msgstr ""
"Project-Id-Version: phpMyAdmin 3.5.1-dev\n"
"Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n"
"POT-Creation-Date: 2012-07-18 11:12+0200\n"
"PO-Revision-Date: 2012-07-19 15:41+0200\n"
"Last-Translator: Xosé <xosecalvo@gmail.com>\n"
"PO-Revision-Date: 2012-07-23 20:21+0200\n"
"Last-Translator: Julio Guerra <xullo123@hotmail.com>\n"
"Language-Team: Galician <kde-i18n-doc@kde.org>\n"
"Language: gl\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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 1.1\n"
#: browse_foreigners.php:36 browse_foreigners.php:60 js/messages.php:354
@ -1862,7 +1862,7 @@ msgstr "Par achegarse, escolla unha sección da gráfica co rato."
#: js/messages.php:306
msgid "Click reset zoom button to come back to original state."
msgstr ""
msgstr "Prema o botón de restaurar a amplación para voltar o estado orixinal."
#: js/messages.php:308
msgid "Click a data point to view and possibly edit the data row."
@ -1956,7 +1956,7 @@ msgstr "Prema para marcar/desmarcar"
#: js/messages.php:352
msgid "Double-click to copy column name"
msgstr ""
msgstr "Prema duas veces para copiar o nome da columna"
#: js/messages.php:353
msgid "Click the drop-down arrow<br />to toggle column's visibility"
@ -1989,7 +1989,7 @@ msgstr "Copiar nome da columna"
#: js/messages.php:359
msgid "Right-click the column name to copy it to your clipboard."
msgstr ""
msgstr "Prema co botón dereito para copiar o nome da columna o portapapeis."
#: js/messages.php:360
msgid "Show data row(s)"
@ -2287,7 +2287,7 @@ msgstr "Segundo"
#: libraries/Advisor.class.php:67
#, php-format
msgid "PHP threw following error: %s"
msgstr ""
msgstr "PHP mostrou o seguinte erro:%s"
#: libraries/Advisor.class.php:89
#, php-format
@ -3494,7 +3494,7 @@ msgstr ""
#: libraries/Types.class.php:359
msgid "A point in 2-dimensional space"
msgstr ""
msgstr "Un punto nun espacio bidimensonal"
#: libraries/Types.class.php:361
msgid "A curve with linear interpolation between points"
@ -3508,15 +3508,15 @@ msgstr "Engadir un polígono"
#: libraries/Types.class.php:365
msgid "A collection of points"
msgstr ""
msgstr "Unha colección de puntos"
#: libraries/Types.class.php:367
msgid "A collection of curves with linear interpolation between points"
msgstr ""
msgstr "Unha coleccción de curvas con interpolación lineal entre puntos"
#: libraries/Types.class.php:369
msgid "A collection of polygons"
msgstr ""
msgstr "Unha colección de poligonos"
#: libraries/Types.class.php:371
msgid "A collection of geometry objects of any type"
@ -3525,7 +3525,7 @@ msgstr ""
#: libraries/Types.class.php:623 libraries/Types.class.php:973
msgctxt "numeric types"
msgid "Numeric"
msgstr ""
msgstr "Numérico"
#: libraries/Types.class.php:642 libraries/Types.class.php:976
#, fuzzy
@ -3564,7 +3564,7 @@ msgstr ""
#: libraries/Types.class.php:715
msgid "True or false"
msgstr ""
msgstr "Verdadeiro ou falso"
#: libraries/Types.class.php:717
msgid "An alias for BIGINT NOT NULL AUTO_INCREMENT UNIQUE"
@ -9098,7 +9098,7 @@ msgstr "Texto completo"
#: libraries/tbl_properties.inc.php:603
msgid "first"
msgstr ""
msgstr "Primeiro"
#: libraries/tbl_properties.inc.php:613
#, fuzzy, php-format
@ -14003,7 +14003,6 @@ msgstr "concurrent_insert está definido como 0"
#~ msgid "Click and drag the mouse to navigate the plot."
#~ msgstr "Prema e arrastre o rato para navegar na gráfica ."
#, fuzzy
#~| msgid "Linestring"
#~ msgid "String"
#~ msgstr "Cadea de liñas"
@ -14029,7 +14028,6 @@ msgstr "concurrent_insert está definido como 0"
#~ msgid "Verbose multiple statements"
#~ msgstr "Instrucións múltiplas extensas"
#, fuzzy
#~| msgid "Data only"
#~ msgid "Dates only."
#~ msgstr "Só os datos"

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-18 11:12+0200\n"
"PO-Revision-Date: 2012-07-19 06:59+0200\n"
"Last-Translator: Mog Kim <admin@mog422.net>\n"
"PO-Revision-Date: 2012-07-26 08:31+0200\n"
"Last-Translator: Hyun-Sung Yun <bemax38@gmail.com>\n"
"Language-Team: korean <ko@li.org>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
@ -1283,9 +1283,8 @@ msgstr "%d개 테이블(s)"
#. l10n: Questions is the name of a MySQL Status variable
#: js/messages.php:131
#, fuzzy
msgid "Questions"
msgstr "테이블 작업"
msgstr "질의"
#: js/messages.php:132 server_status.php:1128
msgid "Traffic"
@ -1333,7 +1332,6 @@ msgid "general_log and slow_query_log are enabled."
msgstr "general_log 와 slow_query_log 가 활성화 되었습니다."
#: js/messages.php:144
#, fuzzy
msgid "general_log is enabled."
msgstr "general_log 가 활성화 되었습니다."
@ -1469,7 +1467,7 @@ msgid ""
"Since grouping of INSERTs queries has been selected, INSERT queries into the "
"same table are also being grouped together, disregarding of the inserted "
"data."
msgstr ""
msgstr "INSERT 쿼리들만 선택되었기 때문에, 입력하는 데이터에 상관없이 같은 테이블을 대상으로 하는 쿼리들끼리 또 분류되었습니다."
#: js/messages.php:177
msgid "Log data loaded. Queries executed in this time span:"
@ -1525,9 +1523,8 @@ msgid "Edit chart"
msgstr "차트 편집"
#: js/messages.php:192
#, fuzzy
msgid "Series"
msgstr "SQL 질의"
msgstr "시리즈"
#. l10n: A collection of available filters
#: js/messages.php:195
@ -1545,7 +1542,7 @@ msgstr "단어/정규식에 의한 필터 질의:"
#: js/messages.php:199
msgid "Group queries, ignoring variable data in WHERE clauses"
msgstr ""
msgstr "그룹 쿼리, WHERE 절 변수 데이터를 무시합니다"
#: js/messages.php:200
msgid "Sum of grouped rows:"
@ -1632,10 +1629,9 @@ msgid "Rule details"
msgstr "규칙 세부 사항"
#: js/messages.php:225
#, fuzzy
#| msgid "Authenticating..."
msgid "Justification"
msgstr "인증중입니다..."
msgstr "인증"
#: js/messages.php:226
msgid "Used variable / formula"
@ -1748,7 +1744,6 @@ msgid "Show search results"
msgstr "검색 결과 보이기"
#: js/messages.php:265
#, fuzzy
#| msgid "Browse"
msgid "Browsing"
msgstr "보기"
@ -1833,7 +1828,6 @@ msgid "Show search criteria"
msgstr "검색 조건 보이기"
#: js/messages.php:298 libraries/TableSearch.class.php:225
#, fuzzy
#| msgid "Search"
msgid "Zoom Search"
msgstr "추가 검색"

125
po/sk.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-18 11:12+0200\n"
"PO-Revision-Date: 2012-07-13 13:53+0200\n"
"PO-Revision-Date: 2012-07-24 11:02+0200\n"
"Last-Translator: Martin Lacina <martin@whistler.sk>\n"
"Language-Team: slovak <sk@li.org>\n"
"Language: sk\n"
@ -1853,7 +1853,6 @@ msgid "To zoom in, select a section of the plot with the mouse."
msgstr "Pre priblíženie kliknite na sekciu grafu."
#: js/messages.php:306
#, fuzzy
#| msgid "Click reset zoom link to come back to original state."
msgid "Click reset zoom button to come back to original state."
msgstr "Kliknite na tlačidlo Obnoviť zoom na návrat do pôvodného stavu."
@ -2301,10 +2300,10 @@ msgid ""
msgstr ""
#: libraries/Advisor.class.php:378
#, fuzzy, php-format
#, php-format
#| msgid "Invalid format of CSV input on line %d."
msgid "Invalid rule declaration on line %s"
msgstr "Chybný formát v CSV vstupe na riadku %d."
msgstr "Chybná deklarácia pravidla na riadku %s"
#: libraries/Advisor.class.php:386
#, php-format
@ -2622,14 +2621,14 @@ msgstr[1] "<b>Celkovo:</b> <i>%s</i> výskyty"
msgstr[2] "<b>Celkovo:</b> <i>%s</i> výskytov"
#: libraries/DbSearch.class.php:351
#, fuzzy, php-format
#, php-format
#| msgid "%s match inside table <i>%s</i>"
#| msgid_plural "%s matches inside table <i>%s</i>"
msgid "%1$s match in <strong>%2$s</strong>"
msgid_plural "%1$s matches in <strong>%2$s</strong>"
msgstr[0] "%s výskyt v tabuľke <i>%s</i>"
msgstr[1] "%s výskyty v tabuľke <i>%s</i>"
msgstr[2] "%s výskytov v tabuľke <i>%s</i>"
msgstr[0] "%1$s výskyt v <strong>%2$s</strong>"
msgstr[1] "%1$s výskyty v <strong>%2$s</strong>"
msgstr[2] "%1$s výskytov v <strong>%2$s</strong>"
#: libraries/DbSearch.class.php:373
#, php-format
@ -2673,10 +2672,9 @@ msgid "Inside column:"
msgstr "V tabuľke:"
#: libraries/DisplayResults.class.php:679
#, fuzzy
#| msgid "Save directory"
msgid "Save edited data"
msgstr "Adresár pre ukladanie"
msgstr "Uložiť zmeny"
#: libraries/DisplayResults.class.php:685
msgid "Restore column order"
@ -2707,7 +2705,7 @@ msgid "vertical"
msgstr "vertikálnom"
#: libraries/DisplayResults.class.php:914
#, fuzzy, php-format
#, php-format
#| msgid "Headers every %s rows"
msgid "Headers every %s rows"
msgstr "Opakovať hlavičku každých %s riadkov"
@ -2777,17 +2775,15 @@ msgid "Show binary contents as HEX"
msgstr "Zobraziť binárny obsah v HEX formáte"
#: libraries/DisplayResults.class.php:1611
#, fuzzy
#| msgid "Browser transformation"
msgid "Hide browser transformation"
msgstr "Transformácia pri prehliadaní"
msgstr "Skryť transformácie prehliadača"
#: libraries/DisplayResults.class.php:1620
msgid "Well Known Text"
msgstr "Text (Well Known Text)"
#: libraries/DisplayResults.class.php:1621
#, fuzzy
msgid "Well Known Binary"
msgstr "Well Known Binary"
@ -2920,10 +2916,9 @@ msgstr "Cookies musia byť povolené, pokiaľ chcete pokračovať."
#: libraries/Header.class.php:500
#: libraries/plugins/auth/AuthenticationCookie.class.php:152
#, fuzzy
#| msgid "Cookies must be enabled past this point."
msgid "Javascript must be enabled past this point"
msgstr "Cookies musia byť povolené, pokiaľ chcete pokračovať."
msgstr "Pokiaľ chcete pokračovať, Javascript musí byť povolený"
#: libraries/Index.class.php:433 tbl_relation.php:540
msgid "No index defined!"
@ -3034,10 +3029,9 @@ msgid "Designer"
msgstr "Dizajnér"
#: libraries/Menu.class.php:470
#, fuzzy
#| msgid "User"
msgid "Users"
msgstr "Používateľ"
msgstr "Používatelia"
#: libraries/Menu.class.php:491 server_synchronize.php:1320
#: server_synchronize.php:1327
@ -3131,16 +3125,16 @@ msgid "unknown table status: "
msgstr "neznámy stav tabuľky: "
#: libraries/Table.class.php:752
#, fuzzy, php-format
#, php-format
#| msgid "Source database"
msgid "Source database `%s` was not found!"
msgstr "Zdrojová databáza"
msgstr "Zdrojová databáza `%s` nebola nájdená!"
#: libraries/Table.class.php:760
#, fuzzy, php-format
#, php-format
#| msgid "Theme %s not found!"
msgid "Target database `%s` was not found!"
msgstr "Vzhľad %s nebol nájdený!"
msgstr "Cieľová databáza `%s` nebola nájdená!"
#: libraries/Table.class.php:1187
msgid "Invalid database"
@ -3156,10 +3150,10 @@ msgid "Error renaming table %1$s to %2$s"
msgstr "Chyba pri premenovaní tabuľky %1$s na %2$s"
#: libraries/Table.class.php:1252
#, fuzzy, php-format
#, php-format
#| msgid "Table %s has been renamed to %s"
msgid "Table %1$s has been renamed to %2$s."
msgstr "Tabuľka %s bola premenovaná na %s"
msgstr "Tabuľka %1$s bola premenovaná na %2$s."
#: libraries/Table.class.php:1396
msgid "Could not save table UI preferences"
@ -3200,16 +3194,14 @@ msgid "Value"
msgstr "Hodnota"
#: libraries/TableSearch.class.php:218
#, fuzzy
#| msgid "Search"
msgid "Table Search"
msgstr "Hľadať"
msgstr "Hľadať v tabuľke"
#: libraries/TableSearch.class.php:247 libraries/insert_edit.lib.php:1373
#, fuzzy
#| msgid "Insert"
msgid "Edit/Insert"
msgstr "Vložiť"
msgstr "Upraviť/Vložiť"
#: libraries/TableSearch.class.php:778
msgid "Select columns (at least one):"
@ -3232,7 +3224,6 @@ msgid "Use this column to label each point"
msgstr ""
#: libraries/TableSearch.class.php:877
#, fuzzy
#| msgid "Maximum number of rows to display"
msgid "Maximum rows to plot"
msgstr "Maximálny počet zobrazených riadkov"
@ -3243,16 +3234,15 @@ msgid "Browse foreign values"
msgstr "Prejsť hodnoty cudzích kľúčov"
#: libraries/TableSearch.class.php:994
#, fuzzy
#| msgid "Hide search criteria"
msgid "Additional search criteria"
msgstr "Skryť parametre vyhľadávania"
msgstr "Rozšírené parametre vyhľadávania"
#: libraries/TableSearch.class.php:1134
#, fuzzy
#| msgid "Do a \"query by example\" (wildcard: \"%\")"
msgid "Do a \"query by example\" (wildcard: \"%\") for two different columns"
msgstr "Vykonať \"dopyt podľa príkladu\" (nahradzujúci znak: \"%\")"
msgstr ""
"Vykonať \"dopyt podľa príkladu\" (nahradzujúci znak: \"%\") pre dva rôzne stĺpce"
#: libraries/TableSearch.class.php:1138
msgid "Do a \"query by example\" (wildcard: \"%\")"
@ -3269,10 +3259,9 @@ msgid "How to use"
msgstr "Kontrolný užívateľ"
#: libraries/TableSearch.class.php:1210
#, fuzzy
#| msgid "Reset"
msgid "Reset zoom"
msgstr "Vynulovať"
msgstr "Zrušiť zoom"
#: libraries/Theme.class.php:169
#, php-format
@ -3377,10 +3366,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"
msgid "A date, supported range is %1$s to %2$s"
msgstr "Vytvoriť verziu"
msgstr "Dátum, podporovaný rozsah je od %1$s do %2$s"
#: libraries/Types.class.php:321 libraries/Types.class.php:723
#, php-format
@ -3394,10 +3383,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 "Chyba pri premenovaní tabuľky %1$s na %2$s"
msgstr "Čas, rozsah je od %1$s do %2$s"
#: libraries/Types.class.php:327
msgid ""
@ -3502,10 +3491,9 @@ msgid "A curve with linear interpolation between points"
msgstr ""
#: libraries/Types.class.php:363
#, fuzzy
#| msgid "Add a polygon"
msgid "A polygon"
msgstr "Pridať polygón"
msgstr "Polygón"
#: libraries/Types.class.php:365
msgid "A collection of points"
@ -3529,18 +3517,16 @@ 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 "Vytvoriť nový index"
msgstr "Dátum a čas"
#: libraries/Types.class.php:651 libraries/Types.class.php:979
#, fuzzy
#| msgid "Linestring"
msgctxt "string types"
msgid "String"
msgstr "Linka"
msgstr "Reťazec"
#: libraries/Types.class.php:672
#, fuzzy
@ -3664,7 +3650,6 @@ msgid "Could not load default configuration from: %1$s"
msgstr "Nepodarilo sa načítať prednastavenú konfiguráciu zo súboru: %1$s"
#: libraries/common.inc.php:588
#, fuzzy
#| msgid ""
#| "The <code>$cfg['PmaAbsoluteUri']</code> directive MUST be set in your "
#| "configuration file!"
@ -3672,7 +3657,7 @@ msgid ""
"The [code]$cfg['PmaAbsoluteUri'][/code] directive MUST be set in your "
"configuration file!"
msgstr ""
"Direktíva <code>$cfg['PmaAbsoluteUri']</code> MUSÍ byť nastavená v "
"Direktíva [code]$cfg['PmaAbsoluteUri'][/code] MUSÍ byť nastavená v "
"konfiguračnom súbore!"
#: libraries/common.inc.php:621
@ -3998,10 +3983,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:37
#, fuzzy
#| msgid "Customize text input fields"
msgid "Minimum size for input field"
msgstr "Prispôsobenie vstupných textových polí"
msgstr "Minimálna veľkosť vstupného poľa"
#: libraries/config/messages.inc.php:38
msgid ""
@ -4010,10 +3994,9 @@ msgid ""
msgstr ""
#: libraries/config/messages.inc.php:39
#, fuzzy
#| msgid "Maximum size for temporary sort files"
msgid "Maximum size for input field"
msgstr "Maximálna veľkosť dočasných zoraďovacích súborov"
msgstr "Maximálna veľkosť vstupného poľa"
#: libraries/config/messages.inc.php:40
msgid "Number of columns for CHAR/VARCHAR textareas"
@ -4675,20 +4658,18 @@ msgid "Customize startup page"
msgstr "Prispôsobenie úvodnej stránky"
#: libraries/config/messages.inc.php:228
#, fuzzy
#| msgid "Database for user"
msgid "Database structure"
msgstr "Databáza pre používateľa"
msgstr "Štruktúra databázy"
#: 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 for user"
msgid "Table structure"
msgstr "Databáza pre používateľa"
msgstr "Štruktúra tabuľky"
#: libraries/config/messages.inc.php:231
msgid "Settings for the table structure (list of columns)"
@ -5081,10 +5062,9 @@ msgid "Memory limit"
msgstr "Obmedzenie pamäte"
#: libraries/config/messages.inc.php:325
#, fuzzy
#| msgid "These are Edit, Inline edit, Copy and Delete links"
msgid "These are Edit, Copy and Delete links"
msgstr "Toto sú odkazy na Upraviť, Upraviť tu, Kopírovať a Odstrániť"
msgstr "Toto sú odkazy na Upraviť, Kopírovať a Odstrániť"
#: libraries/config/messages.inc.php:326
msgid "Where to show the table row links"
@ -5688,7 +5668,6 @@ msgid "Automatically create versions"
msgstr "Automaticky vytvárať verzie"
#: libraries/config/messages.inc.php:449
#, fuzzy
#| msgid ""
#| "ve blank for no user preferences storage in database, suggested: [kbd]"
#| "_config[/kbd]"
@ -5697,7 +5676,7 @@ msgid ""
"pma_userconfig[/kbd]"
msgstr ""
"Nechajte prázdne pre vypnutie možnosti ukladania užívateľských nastavení v "
"databáze. Odporúčaná hodnota: [kbd]pma_config[/kbd]"
"databáze. Odporúčaná hodnota: [kbd]pma_userconfig[/kbd]"
#: libraries/config/messages.inc.php:450
msgid "User preferences storage table"
@ -6401,7 +6380,7 @@ msgstr "Formát:"
#: libraries/display_export.lib.php:358
msgid "Format-specific options:"
msgstr "Voľby špecifické pre formáty:"
msgstr "Formát - špecifické voľby:"
#: libraries/display_export.lib.php:359
msgid ""
@ -6549,7 +6528,7 @@ msgstr "Počet riadkov od začiatku, ktoré sa majú preskočiť:"
#: libraries/display_import.lib.php:317
msgid "Format-Specific Options:"
msgstr ""
msgstr "Formát - špecifické voľby:"
#: libraries/display_select_lang.lib.php:52
#: libraries/display_select_lang.lib.php:53 setup/frames/index.inc.php:75
@ -9084,10 +9063,9 @@ msgid "General Settings"
msgstr "Všeobecné nastavenia"
#: main.php:121
#, fuzzy
#| msgid "MySQL connection collation"
msgid "Server connection collation"
msgstr "Overenie MySQL spojenia"
msgstr "Znaková sada pre pripojenie k serveru"
#: main.php:147
msgid "Appearance Settings"
@ -9877,7 +9855,7 @@ msgstr ""
#: server_privileges.php:901
msgid "Login Information"
msgstr "Prihlásenie"
msgstr "Prihlasovacie informácie"
#: server_privileges.php:1000
msgid "Do not change the password"
@ -9964,10 +9942,9 @@ msgid "Privileges for %s"
msgstr "Oprávnenia"
#: server_privileges.php:1739
#, fuzzy
#| msgid "User overview"
msgid "Users overview"
msgstr "Prehľad používatelov"
msgstr "Zoznam používatelov"
#: server_privileges.php:1879 server_privileges.php:2091
#: server_privileges.php:2443
@ -10333,24 +10310,23 @@ msgstr "Stav serveru"
#: server_status.php:804
msgid "All status variables"
msgstr ""
msgstr "Stav všetkých premenných"
#: server_status.php:805
msgid "Monitor"
msgstr ""
msgstr "Monitor"
#: server_status.php:806
msgid "Advisor"
msgstr ""
msgstr "Poradca"
#: server_status.php:816 server_status.php:838
msgid "Refresh rate: "
msgstr "Obnovovacia frekvencia: "
#: server_status.php:851 server_variables.php:116
#, fuzzy
msgid "Filters"
msgstr "Filter"
msgstr "Filtre"
#: server_status.php:859 server_variables.php:118
msgid "Containing the word:"
@ -10377,16 +10353,14 @@ msgid "Related links:"
msgstr "Súvisiace odkazy:"
#: server_status.php:920
#, fuzzy
#| msgid "Query type"
msgid "Run analyzer"
msgstr "Typ dopytu"
msgstr "Spustiť analyzátor"
#: server_status.php:921
#, fuzzy
#| msgid "Introduction"
msgid "Instructions"
msgstr "Úvod"
msgstr "Inštrukcie"
#: server_status.php:928
msgid ""
@ -11478,7 +11452,6 @@ msgid "Target database has been synchronized with source database"
msgstr ""
#: server_synchronize.php:1191
#, fuzzy
#| msgid "Issued queries"
msgid "Executed queries"
msgstr "Vykonaných dopytov"

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-18 11:12+0200\n"
"PO-Revision-Date: 2012-06-28 12:41+0200\n"
"PO-Revision-Date: 2012-07-26 02:11+0200\n"
"Last-Translator: Burak Yavuz <hitowerdigit@hotmail.com>\n"
"Language-Team: turkish <tr@li.org>\n"
"Language: tr\n"
@ -7207,7 +7207,7 @@ msgstr "Farsça"
#: libraries/mysql_charsets.lib.php:292
msgid "Polish"
msgstr "Polonyaca"
msgstr "Lehçe"
#: libraries/mysql_charsets.lib.php:295 libraries/mysql_charsets.lib.php:343
msgid "West European"

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-18 11:12+0200\n"
"PO-Revision-Date: 2012-07-21 08:15+0200\n"
"PO-Revision-Date: 2012-07-23 19:45+0200\n"
"Last-Translator: shanyan baishui <Siramizu@gmail.com>\n"
"Language-Team: chinese_simplified <zh_CN@li.org>\n"
"Language: zh_CN\n"
@ -12338,7 +12338,7 @@ msgstr ""
msgid ""
"The query cache is enabled and the server receives %d queries per second. "
"This rule fires if there is more than 100 queries per second."
msgstr ""
msgstr "查询缓存已启用且服务器每秒收到 %d 个查询。该规则在每秒超过 100 个查询时被触发。"
#: libraries/advisory_rules.txt:160
#, php-format
@ -12365,30 +12365,29 @@ msgstr "查询缓存使用率"
#: libraries/advisory_rules.txt:170
#, php-format
msgid "Less than 80%% of the query cache is being utilized."
msgstr ""
msgstr "查询缓存使用不到 80%%。"
#: libraries/advisory_rules.txt:171
msgid ""
"This might be caused by {query_cache_limit} being too low. Flushing the "
"query cache might help as well."
msgstr ""
msgstr "这可能是因为 {query_cache_limit} 太低所导致。刷新查询缓存可能会有帮助。"
#: libraries/advisory_rules.txt:172
#, php-format
msgid ""
"The current ratio of free query cache memory to total query cache size is %s"
"%%. It should be above 80%%"
msgstr ""
msgstr "当前空闲查询缓存内存为总查询缓存大小的 %s%%。此值应高于 80%%"
#: libraries/advisory_rules.txt:174
msgid "Query cache fragmentation"
msgstr "查询缓存碎片"
#: libraries/advisory_rules.txt:177
#, fuzzy
#| msgid "The query cache is not enabled."
msgid "The query cache is considerably fragmented."
msgstr "查询缓存没有启用。"
msgstr "查询缓存碎片化相当严重。"
#: libraries/advisory_rules.txt:178
msgid ""

View File

@ -32,6 +32,7 @@ class AllSeleniumTests
$suite->addTestSuite('PmaSeleniumLoginTest');
$suite->addTestSuite('PmaSeleniumXssTest');
$suite->addTestSuite('PmaSeleniumPrivilegesTest');
$suite->addTestSuite('PmaSeleniumCreateDropDatabaseTest');
return $suite;
}
}

View File

@ -263,7 +263,7 @@ class PMA_Types_MySQL_test extends PHPUnit_Framework_TestCase
public function testGetFunctionsClass($class, $output){
if (! defined('PMA_MYSQL_INT_VERSION')) {
define('PMA_MYSQL_INT_VERSION', 50000);
define('PMA_MYSQL_INT_VERSION', 60000);
}
$this->assertEquals(
@ -398,9 +398,11 @@ class PMA_Types_MySQL_test extends PHPUnit_Framework_TestCase
'39' => 'SQRT',
'40' => 'TAN',
'41' => 'TO_DAYS',
'42' => 'TO_SECONDS',
'43' => 'TIME_TO_SEC',
'44' => 'UNCOMPRESSED_LENGTH',
'45' => 'UNIX_TIMESTAMP',
'46' => 'UUID_SHORT',
'47' => 'WEEK',
'48' => 'WEEKDAY',
'49' => 'WEEKOFYEAR',

View File

@ -30,8 +30,8 @@ class PMA_bookmark_test extends PHPUnit_Framework_TestCase
function PMA_DBI_fetch_result()
{
return array(
'id' => 'id',
'label' => 'label'
'table1',
'table2'
);
}
}
@ -68,8 +68,8 @@ class PMA_bookmark_test extends PHPUnit_Framework_TestCase
public function testPMA_Bookmark_getList(){
$this->assertEquals(
array(
'id' => 'id (shared)',
'label' => 'label (shared)'
0 => 'table1 (shared)',
1 => 'table2 (shared)'
),
PMA_Bookmark_getList('phpmyadmin')
);

View File

@ -0,0 +1,41 @@
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Selenium TestCase for login related tests
*
* @package PhpMyAdmin-test
* @subpackage Selenium
*/
require_once 'PmaSeleniumTestCase.php';
require_once 'Helper.php';
class PmaSeleniumCreateDropDatabaseTest extends PHPUnit_Extensions_SeleniumTestCase
{
public function setUp()
{
$helper = new Helper();
$this->setBrowser(Helper::getBrowserString());
$this->setBrowserUrl(TESTSUITE_PHPMYADMIN_HOST . TESTSUITE_PHPMYADMIN_URL);
}
public function testCreateDropDatabase()
{
$log = new PmaSeleniumTestCase($this);
$log->login(TESTSUITE_USER, TESTSUITE_PASSWORD);
$this->selectFrame("frame_content");
$this->click("link=Databases");
$this->waitForPageToLoad("30000");
$this->type("id=text_create_db", "pma");
$this->click("id=buttonGo");
$this->assertTrue($this->isTextPresent("pma"));
$this->click("link=pma");
$this->waitForPageToLoad("30000");
$this->click("link=Operations");
$this->waitForPageToLoad("30000");
$this->click("id=drop_db_anchor");
$this->click("//button[@type='button']");
}
}