blob: 314ae29f5f4a6bb76591c4ea4bccbdb56529d526 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<?php
/**
* Holds the PhpMyAdmin\Controllers\Database\MultiTableQueryController
*
* @package PhpMyAdmin\Controllers\Database
*/
declare(strict_types=1);
namespace PhpMyAdmin\Controllers\Database;
use PhpMyAdmin\Database\MultiTableQuery;
/**
* Handles database multi-table querying
* @package PhpMyAdmin\Controllers\Database
*/
class MultiTableQueryController extends AbstractController
{
/**
* @return string
*/
public function index(): string
{
$header = $this->response->getHeader();
$scripts = $header->getScripts();
$scripts->addFile('vendor/jquery/jquery.md5.js');
$scripts->addFile('database/multi_table_query.js');
$scripts->addFile('database/query_generator.js');
$queryInstance = new MultiTableQuery($this->dbi, $this->template, $this->db);
return $queryInstance->getFormHtml();
}
/**
* @param array $params Request parameters
* @return void
*/
public function displayResults(array $params): void
{
global $pmaThemeImage;
MultiTableQuery::displayResults(
$params['sql_query'],
$params['db'],
$pmaThemeImage
);
}
/**
* @param array $params Request parameters
* @return array JSON
*/
public function table(array $params): array
{
$constrains = $this->dbi->getForeignKeyConstrains(
$params['db'],
$params['tables']
);
return ['foreignKeyConstrains' => $constrains];
}
}
|