summaryrefslogtreecommitdiff
path: root/hugo/libraries/properties
diff options
context:
space:
mode:
Diffstat (limited to 'hugo/libraries/properties')
-rw-r--r--hugo/libraries/properties/PropertyItem.class.php49
-rw-r--r--hugo/libraries/properties/options/OptionsPropertyGroup.class.php104
-rw-r--r--hugo/libraries/properties/options/OptionsPropertyItem.class.php127
-rw-r--r--hugo/libraries/properties/options/OptionsPropertyOneItem.class.php172
-rw-r--r--hugo/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php35
-rw-r--r--hugo/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php35
-rw-r--r--hugo/libraries/properties/options/groups/OptionsPropertySubgroup.class.php68
-rw-r--r--hugo/libraries/properties/options/items/BoolPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/options/items/DocPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/options/items/HiddenPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/options/items/MessageOnlyPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/options/items/RadioPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/options/items/SelectPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/options/items/TextPropertyItem.class.php35
-rw-r--r--hugo/libraries/properties/plugins/ExportPluginProperties.class.php214
-rw-r--r--hugo/libraries/properties/plugins/ImportPluginProperties.class.php184
-rw-r--r--hugo/libraries/properties/plugins/PluginPropertyItem.class.php36
17 files changed, 1269 insertions, 0 deletions
diff --git a/hugo/libraries/properties/PropertyItem.class.php b/hugo/libraries/properties/PropertyItem.class.php
new file mode 100644
index 0000000..21d5068
--- /dev/null
+++ b/hugo/libraries/properties/PropertyItem.class.php
@@ -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;
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/OptionsPropertyGroup.class.php b/hugo/libraries/properties/options/OptionsPropertyGroup.class.php
new file mode 100644
index 0000000..ebff9b3
--- /dev/null
+++ b/hugo/libraries/properties/options/OptionsPropertyGroup.class.php
@@ -0,0 +1,104 @@
+<?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),
+ // for PHP 5.2 compability
+ create_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);
+ }
+}
+?>
diff --git a/hugo/libraries/properties/options/OptionsPropertyItem.class.php b/hugo/libraries/properties/options/OptionsPropertyItem.class.php
new file mode 100644
index 0000000..a1718a2
--- /dev/null
+++ b/hugo/libraries/properties/options/OptionsPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/OptionsPropertyOneItem.class.php b/hugo/libraries/properties/options/OptionsPropertyOneItem.class.php
new file mode 100644
index 0000000..e19c15c
--- /dev/null
+++ b/hugo/libraries/properties/options/OptionsPropertyOneItem.class.php
@@ -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;
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php b/hugo/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php
new file mode 100644
index 0000000..4e69aa7
--- /dev/null
+++ b/hugo/libraries/properties/options/groups/OptionsPropertyMainGroup.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php b/hugo/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php
new file mode 100644
index 0000000..a081744
--- /dev/null
+++ b/hugo/libraries/properties/options/groups/OptionsPropertyRootGroup.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/groups/OptionsPropertySubgroup.class.php b/hugo/libraries/properties/options/groups/OptionsPropertySubgroup.class.php
new file mode 100644
index 0000000..0eeb524
--- /dev/null
+++ b/hugo/libraries/properties/options/groups/OptionsPropertySubgroup.class.php
@@ -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;
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/BoolPropertyItem.class.php b/hugo/libraries/properties/options/items/BoolPropertyItem.class.php
new file mode 100644
index 0000000..f33067f
--- /dev/null
+++ b/hugo/libraries/properties/options/items/BoolPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/DocPropertyItem.class.php b/hugo/libraries/properties/options/items/DocPropertyItem.class.php
new file mode 100644
index 0000000..55aff61
--- /dev/null
+++ b/hugo/libraries/properties/options/items/DocPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/HiddenPropertyItem.class.php b/hugo/libraries/properties/options/items/HiddenPropertyItem.class.php
new file mode 100644
index 0000000..53bfe46
--- /dev/null
+++ b/hugo/libraries/properties/options/items/HiddenPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/MessageOnlyPropertyItem.class.php b/hugo/libraries/properties/options/items/MessageOnlyPropertyItem.class.php
new file mode 100644
index 0000000..98f2e70
--- /dev/null
+++ b/hugo/libraries/properties/options/items/MessageOnlyPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/RadioPropertyItem.class.php b/hugo/libraries/properties/options/items/RadioPropertyItem.class.php
new file mode 100644
index 0000000..4d8ed7a
--- /dev/null
+++ b/hugo/libraries/properties/options/items/RadioPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/SelectPropertyItem.class.php b/hugo/libraries/properties/options/items/SelectPropertyItem.class.php
new file mode 100644
index 0000000..28460c9
--- /dev/null
+++ b/hugo/libraries/properties/options/items/SelectPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/options/items/TextPropertyItem.class.php b/hugo/libraries/properties/options/items/TextPropertyItem.class.php
new file mode 100644
index 0000000..9339cdf
--- /dev/null
+++ b/hugo/libraries/properties/options/items/TextPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/plugins/ExportPluginProperties.class.php b/hugo/libraries/properties/plugins/ExportPluginProperties.class.php
new file mode 100644
index 0000000..6170897
--- /dev/null
+++ b/hugo/libraries/properties/plugins/ExportPluginProperties.class.php
@@ -0,0 +1,214 @@
+<?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;
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/plugins/ImportPluginProperties.class.php b/hugo/libraries/properties/plugins/ImportPluginProperties.class.php
new file mode 100644
index 0000000..65c3092
--- /dev/null
+++ b/hugo/libraries/properties/plugins/ImportPluginProperties.class.php
@@ -0,0 +1,184 @@
+<?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.
+ *
+ * @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;
+
+ /**
+ * MIME Type
+ *
+ * @var string
+ */
+ private $_mimeType;
+
+
+ /* ~~~~~~~~~~~~~~~~~~~~ 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;
+ }
+
+ /**
+ * 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;
+ }
+}
+?> \ No newline at end of file
diff --git a/hugo/libraries/properties/plugins/PluginPropertyItem.class.php b/hugo/libraries/properties/plugins/PluginPropertyItem.class.php
new file mode 100644
index 0000000..af46be2
--- /dev/null
+++ b/hugo/libraries/properties/plugins/PluginPropertyItem.class.php
@@ -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";
+ }
+}
+?> \ No newline at end of file