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/tbl_structure.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/tbl_structure.php')
| -rw-r--r-- | srcs/phpmyadmin/tbl_structure.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/tbl_structure.php b/srcs/phpmyadmin/tbl_structure.php new file mode 100644 index 0000000..294a390 --- /dev/null +++ b/srcs/phpmyadmin/tbl_structure.php @@ -0,0 +1,68 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Displays table structure infos like columns, indexes, size, rows + * and allows manipulation of indexes and columns + * + * @package PhpMyAdmin + */ +declare(strict_types=1); + +use PhpMyAdmin\Controllers\Table\StructureController; +use PhpMyAdmin\DatabaseInterface; +use Symfony\Component\DependencyInjection\Definition; + +if (! defined('ROOT_PATH')) { + define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR); +} + +global $db_is_system_schema, $tbl_is_view, $tbl_storage_engine; +global $table_info_num_rows, $tbl_collation, $showtable; + +require_once ROOT_PATH . 'libraries/common.inc.php'; + +/** @var DatabaseInterface $dbi */ +$dbi = $containerBuilder->get('dbi'); + +/** @var string $db */ +$db = $containerBuilder->getParameter('db'); + +/** @var string $table */ +$table = $containerBuilder->getParameter('table'); + +$dbi->selectDb($db); +$table_class_object = $dbi->getTable($db, $table); +$reread_info = $table_class_object->getStatusInfo(null, true); +$GLOBALS['showtable'] = $table_class_object->getStatusInfo(null, (isset($reread_info) && $reread_info ? true : false)); +if ($table_class_object->isView()) { + $tbl_is_view = true; + $tbl_storage_engine = __('View'); +} else { + $tbl_is_view = false; + $tbl_storage_engine = $table_class_object->getStorageEngine(); +} +$tbl_collation = $table_class_object->getCollation(); +$table_info_num_rows = $table_class_object->getNumRows(); +/* Define dependencies for the concerned controller */ +$dependency_definitions = [ + 'db_is_system_schema' => $db_is_system_schema, + 'tbl_is_view' => $tbl_is_view, + 'tbl_storage_engine' => $tbl_storage_engine, + 'table_info_num_rows' => $table_info_num_rows, + 'tbl_collation' => $tbl_collation, + 'showtable' => $GLOBALS['showtable'], +]; + +/** @var Definition $definition */ +$definition = $containerBuilder->getDefinition(StructureController::class); +array_map( + static function (string $parameterName, $value) use ($definition) { + $definition->replaceArgument($parameterName, $value); + }, + array_keys($dependency_definitions), + $dependency_definitions +); + +/** @var StructureController $controller */ +$controller = $containerBuilder->get(StructureController::class); +$controller->indexAction($containerBuilder); |
