diff --git a/libraries/plugin_interface.lib.php b/libraries/plugin_interface.lib.php index 1b5a5d0ae1..b659af3475 100644 --- a/libraries/plugin_interface.lib.php +++ b/libraries/plugin_interface.lib.php @@ -17,8 +17,13 @@ * * @return new plugin instance */ -function PMA_getPlugin($plugin_type, $plugin_format, $plugins_dir, $plugin_param = false) -{ +function PMA_getPlugin( + $plugin_type, + $plugin_format, + $plugins_dir, + $plugin_param = false +){ + $GLOBALS['plugin_param'] = $plugin_param; $class_name = strtoupper($plugin_type[0]) . strtolower(substr($plugin_type, 1)) . strtoupper($plugin_format[0]) @@ -44,6 +49,7 @@ function PMA_getPlugin($plugin_type, $plugin_format, $plugins_dir, $plugin_param */ function PMA_getPlugins($plugin_type, $plugins_dir, $plugin_param) { + $GLOBALS['plugin_param'] = $plugin_param; /* Scan for plugins */ $plugin_list = array(); if ($handle = @opendir($plugins_dir)) { @@ -61,9 +67,12 @@ function PMA_getPlugins($plugin_type, $plugins_dir, $plugin_param) $matches ) ) { + $GLOBALS['skip_import'] = false; include_once $plugins_dir . $file; - $class_name = $class_type . $matches[1]; - $plugin_list [] = new $class_name; + if (! $GLOBALS['skip_import']) { + $class_name = $class_type . $matches[1]; + $plugin_list [] = new $class_name; + } } } } diff --git a/libraries/plugins/import/ImportCsv.class.php b/libraries/plugins/import/ImportCsv.class.php index 1b29646a5e..abcddac717 100644 --- a/libraries/plugins/import/ImportCsv.class.php +++ b/libraries/plugins/import/ImportCsv.class.php @@ -44,10 +44,9 @@ class ImportCsv extends ImportPlugin */ protected function setProperties() { - global $plugin_param; $this->_setAnalyze(false); - if ($plugin_param !== 'table') { + if ($GLOBALS['plugin_param'] !== 'table') { $this->_setAnalyze(true); } @@ -102,7 +101,7 @@ class ImportCsv extends ImportPlugin ) ); - if ($plugin_param !== 'table') { + if ($GLOBALS['plugin_param'] !== 'table') { $this->properties['options'][] = array( 'type' => 'bool', 'name' => 'col_names', diff --git a/libraries/plugins/import/ImportDocsql.class.php b/libraries/plugins/import/ImportDocsql.class.php index 262c5d28af..4a374beede 100644 --- a/libraries/plugins/import/ImportDocsql.class.php +++ b/libraries/plugins/import/ImportDocsql.class.php @@ -13,6 +13,12 @@ if (! defined('PHPMYADMIN')) { /* Get the import interface */ require_once "libraries/plugins/ImportPlugin.class.php"; +// We need relations enabled and we work only on database +if ($GLOBALS['plugin_param'] !== 'database') { + $GLOBALS['skip_import'] = true; + return; +} + /** * Handles the import for the DocSQL format * @@ -43,13 +49,9 @@ class ImportDocsql extends ImportPlugin */ protected function setProperties() { - global $plugin_param; $this->_setCfgRelation(PMA_getRelationsParam()); $cfgRelation = $this->_getCfgRelation(); - - // We need relations enabled and we work only on database - if ($plugin_param !== 'database' - || $GLOBALS['num_tables'] < 1 + if ( $GLOBALS['num_tables'] < 1 || ! $cfgRelation['relwork'] || ! $cfgRelation['commwork'] ) { diff --git a/libraries/plugins/import/ImportLdi.class.php b/libraries/plugins/import/ImportLdi.class.php index 421d11509c..d99e326925 100644 --- a/libraries/plugins/import/ImportLdi.class.php +++ b/libraries/plugins/import/ImportLdi.class.php @@ -13,6 +13,12 @@ if (! defined('PHPMYADMIN')) { /* Get the import interface */ require_once "libraries/plugins/ImportPlugin.class.php"; +// We need relations enabled and we work only on database +if ($GLOBALS['plugin_param'] !== 'table') { + $GLOBALS['skip_import'] = true; + return; +} + /** * Handles the import for the CSV format using load data * @@ -36,11 +42,6 @@ class ImportLdi extends ImportPlugin */ protected function setProperties() { - global $plugin_param; - if ($plugin_param !== 'table') { - return; - } - if ($GLOBALS['cfg']['Import']['ldi_local_option'] == 'auto') { $GLOBALS['cfg']['Import']['ldi_local_option'] = false; diff --git a/libraries/plugins/import/ImportMediawiki.class.php b/libraries/plugins/import/ImportMediawiki.class.php index be8049a3b6..8ed5e52be7 100644 --- a/libraries/plugins/import/ImportMediawiki.class.php +++ b/libraries/plugins/import/ImportMediawiki.class.php @@ -43,9 +43,8 @@ class ImportMediawiki extends ImportPlugin */ protected function setProperties() { - global $plugin_param; $this->_setAnalyze(false); - if ($plugin_param !== 'table') { + if ($GLOBALS['plugin_param'] !== 'table') { $this->_setAnalyze(true); } diff --git a/libraries/plugins/import/ImportShp.class.php b/libraries/plugins/import/ImportShp.class.php index bc56195380..1d239f0c9a 100644 --- a/libraries/plugins/import/ImportShp.class.php +++ b/libraries/plugins/import/ImportShp.class.php @@ -28,7 +28,15 @@ require_once "libraries/plugins/import/PMA_ShapeRecord.class.php"; * @package PhpMyAdmin-Import */ class ImportShp extends ImportPlugin -{ +{ + /** + * Constructor + */ + public function __construct() + { + $this->setProperties(); + } + /** * Sets the import plugin properties. * Called in the constructor.