Merge remote-tracking branch 'alex/plugins-and-OOP'
This commit is contained in:
commit
f14f0359a4
17
export.php
17
export.php
@ -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
|
||||
|
||||
@ -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 . ')(\.('
|
||||
|
||||
@ -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,184 @@ 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 && '
|
||||
. '(!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>';
|
||||
|
||||
if (! $is_subgroup) {
|
||||
// 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>';
|
||||
} 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'] . '">';
|
||||
} 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]);
|
||||
|
||||
foreach ($propertyGroup->getProperties() as $propertyItem) {
|
||||
$property_class = get_class($propertyItem);
|
||||
// if the property is a subgroup, we deal with it recursively
|
||||
if (strpos("group", $property_class)) {
|
||||
// for subgroups
|
||||
// each subgroup can have a header, which may also be a form element
|
||||
$subgroup_header = $propertyItem->getSubgroupHeader();
|
||||
$ret .= PMA_pluginGetOneOption(
|
||||
$section,
|
||||
$plugin_name,
|
||||
$propertyItem,
|
||||
true
|
||||
) . '<li class="subgroup"><ul';
|
||||
if (isset($subgroup_header['name'])) {
|
||||
$ret .= ' id="ul_' . $subgroup_header['name'] . '">';
|
||||
} else {
|
||||
$ret .= '>';
|
||||
}
|
||||
} else {
|
||||
$ret .= PMA_CommonFunctions::getInstance()->showMySQLDocu($opt['doc'][0], $opt['doc'][1]);
|
||||
// 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 && '
|
||||
. '(!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:;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 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 ($is_subgroup) {
|
||||
// end subgroup
|
||||
$ret .= '</ul></li>';
|
||||
} else {
|
||||
// end main group
|
||||
$ret .= '</ul></div>';
|
||||
}
|
||||
|
||||
$doc = $propertyItem->getDoc();
|
||||
if (isset($doc)) {
|
||||
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 +411,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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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 = ' ';
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
49
libraries/properties/PropertyItem.class.php
Normal file
49
libraries/properties/PropertyItem.class.php
Normal 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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
102
libraries/properties/options/OptionsPropertyGroup.class.php
Normal file
102
libraries/properties/options/OptionsPropertyGroup.class.php
Normal 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);
|
||||
}
|
||||
}
|
||||
?>
|
||||
127
libraries/properties/options/OptionsPropertyItem.class.php
Normal file
127
libraries/properties/options/OptionsPropertyItem.class.php
Normal 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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
172
libraries/properties/options/OptionsPropertyOneItem.class.php
Normal file
172
libraries/properties/options/OptionsPropertyOneItem.class.php
Normal 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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
35
libraries/properties/options/items/DocPropertyItem.class.php
Normal file
35
libraries/properties/options/items/DocPropertyItem.class.php
Normal 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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
215
libraries/properties/plugins/ExportPluginProperties.class.php
Normal file
215
libraries/properties/plugins/ExportPluginProperties.class.php
Normal 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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
156
libraries/properties/plugins/ImportPluginProperties.class.php
Normal file
156
libraries/properties/plugins/ImportPluginProperties.class.php
Normal 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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
36
libraries/properties/plugins/PluginPropertyItem.class.php
Normal file
36
libraries/properties/plugins/PluginPropertyItem.class.php
Normal 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";
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Reference in New Issue
Block a user