Viewing file: TablesController.php (1.3 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Controllers\Database\MultiTableQuery;
use PhpMyAdmin\Controllers\AbstractController; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Query\Generator as QueryGenerator; use PhpMyAdmin\ResponseRenderer; use PhpMyAdmin\Template;
use function rtrim;
final class TablesController extends AbstractController { /** @var DatabaseInterface */ private $dbi;
public function __construct(ResponseRenderer $response, Template $template, DatabaseInterface $dbi) { parent::__construct($response, $template); $this->dbi = $dbi; }
public function __invoke(): void { $params = [ 'tables' => $_GET['tables'] ?? [], 'db' => $_GET['db'] ?? '', ];
$tablesListForQuery = ''; foreach ($params['tables'] as $table) { $tablesListForQuery .= "'" . $this->dbi->escapeString($table) . "',"; }
$tablesListForQuery = rtrim($tablesListForQuery, ',');
$constrains = $this->dbi->fetchResult( QueryGenerator::getInformationSchemaForeignKeyConstraintsRequest( $this->dbi->escapeString($params['db']), $tablesListForQuery ) ); $this->response->addJSON(['foreignKeyConstrains' => $constrains]); } }
|