Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin.bak/libraries/classes/Controllers/Database/ |
Upload File : |
<?php declare(strict_types=1); namespace PhpMyAdmin\Controllers\Database; use PhpMyAdmin\Database\MultiTableQuery; use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\Response; use PhpMyAdmin\Template; /** * Handles database multi-table querying */ class MultiTableQueryController extends AbstractController { /** @var DatabaseInterface */ private $dbi; /** * @param Response $response * @param string $db Database name. * @param DatabaseInterface $dbi */ public function __construct($response, Template $template, $db, $dbi) { parent::__construct($response, $template, $db); $this->dbi = $dbi; } public function index(): void { $this->addScriptFiles([ 'vendor/jquery/jquery.md5.js', 'database/multi_table_query.js', 'database/query_generator.js', ]); $queryInstance = new MultiTableQuery($this->dbi, $this->template, $this->db); $this->response->addHTML($queryInstance->getFormHtml()); } public function displayResults(): void { global $PMA_Theme; $params = [ 'sql_query' => $_POST['sql_query'], 'db' => $_POST['db'] ?? $_GET['db'] ?? null, ]; $this->response->addHTML(MultiTableQuery::displayResults( $params['sql_query'], $params['db'], $PMA_Theme->getImgPath() )); } public function table(): void { $params = [ 'tables' => $_GET['tables'], 'db' => $_GET['db'] ?? null, ]; $constrains = $this->dbi->getForeignKeyConstrains( $params['db'], $params['tables'] ); $this->response->addJSON(['foreignKeyConstrains' => $constrains]); } }