Update website
This commit is contained in:
parent
41ce1aa076
commit
ea0eb1c6e0
4222 changed files with 721797 additions and 14 deletions
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpMyAdmin\Controllers\Database\Structure;
|
||||
|
||||
use PhpMyAdmin\Controllers\Database\AbstractController;
|
||||
use PhpMyAdmin\Core;
|
||||
use PhpMyAdmin\DatabaseInterface;
|
||||
use PhpMyAdmin\ResponseRenderer;
|
||||
use PhpMyAdmin\Template;
|
||||
|
||||
use function __;
|
||||
|
||||
final class ShowCreateController extends AbstractController
|
||||
{
|
||||
/** @var DatabaseInterface */
|
||||
private $dbi;
|
||||
|
||||
public function __construct(ResponseRenderer $response, Template $template, string $db, DatabaseInterface $dbi)
|
||||
{
|
||||
parent::__construct($response, $template, $db);
|
||||
$this->dbi = $dbi;
|
||||
}
|
||||
|
||||
public function __invoke(): void
|
||||
{
|
||||
$selected = $_POST['selected_tbl'] ?? [];
|
||||
|
||||
if (empty($selected)) {
|
||||
$this->response->setRequestStatus(false);
|
||||
$this->response->addJSON('message', __('No table selected.'));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$tables = $this->getShowCreateTables($selected);
|
||||
|
||||
$showCreate = $this->template->render('database/structure/show_create', ['tables' => $tables]);
|
||||
|
||||
$this->response->addJSON('message', $showCreate);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string[] $selected Selected tables.
|
||||
*
|
||||
* @return array<string, array<int, array<string, string>>>
|
||||
*/
|
||||
private function getShowCreateTables(array $selected): array
|
||||
{
|
||||
$tables = ['tables' => [], 'views' => []];
|
||||
|
||||
foreach ($selected as $table) {
|
||||
$object = $this->dbi->getTable($this->db, $table);
|
||||
|
||||
$tables[$object->isView() ? 'views' : 'tables'][] = [
|
||||
'name' => Core::mimeDefaultFunction($table),
|
||||
'show_create' => Core::mimeDefaultFunction($object->showCreate()),
|
||||
];
|
||||
}
|
||||
|
||||
return $tables;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue