diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Plugins/ImportPlugin.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Plugins/ImportPlugin.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Plugins/ImportPlugin.php | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Plugins/ImportPlugin.php b/srcs/phpmyadmin/libraries/classes/Plugins/ImportPlugin.php new file mode 100644 index 0000000..788bd42 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Plugins/ImportPlugin.php @@ -0,0 +1,96 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Abstract class for the import plugins + * + * @package PhpMyAdmin + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Plugins; + +use PhpMyAdmin\Import; +use PhpMyAdmin\Properties\Plugins\ImportPluginProperties; + +/** + * Provides a common interface that will have to be implemented by all of the + * import plugins. + * + * @package PhpMyAdmin + */ +abstract class ImportPlugin +{ + /** + * ImportPluginProperties object containing the import plugin properties + * + * @var ImportPluginProperties + */ + protected $properties; + + /** + * @var Import + */ + protected $import; + + /** + * ImportPlugin constructor. + */ + public function __construct() + { + $this->import = new Import(); + } + + /** + * Handles the whole import logic + * + * @param array $sql_data 2-element array with sql data + * + * @return void + */ + abstract public function doImport(array &$sql_data = []); + + + /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ + + /** + * Gets the import specific format plugin properties + * + * @return ImportPluginProperties + */ + public function getProperties() + { + return $this->properties; + } + + /** + * Sets the export plugins properties and is implemented by each import + * plugin + * + * @return void + */ + abstract protected function setProperties(); + + /** + * Define DB name and options + * + * @param string $currentDb DB + * @param string $defaultDb Default DB name + * + * @return array DB name and options (an associative array of options) + */ + protected function getDbnameAndOptions($currentDb, $defaultDb) + { + if (strlen((string) $currentDb) > 0) { + $db_name = $currentDb; + $options = ['create_db' => false]; + } else { + $db_name = $defaultDb; + $options = null; + } + + return [ + $db_name, + $options, + ]; + } +} |
