aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/tbl_structure.php
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/tbl_structure.php
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_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.php68
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);