Translated using Weblate (Slovenian)
[phpmyadmin.git] / src / Controllers / BrowseForeignersController.php
blob03055d55ff44a128383780582d5ffbc8c1c6293d
1 <?php
3 declare(strict_types=1);
5 namespace PhpMyAdmin\Controllers;
7 use PhpMyAdmin\BrowseForeigners;
8 use PhpMyAdmin\ConfigStorage\Relation;
9 use PhpMyAdmin\Http\ServerRequest;
10 use PhpMyAdmin\ResponseRenderer;
11 use PhpMyAdmin\Template;
13 /**
14 * Display selection for relational field values
16 class BrowseForeignersController extends AbstractController
18 public function __construct(
19 ResponseRenderer $response,
20 Template $template,
21 private BrowseForeigners $browseForeigners,
22 private Relation $relation,
23 ) {
24 parent::__construct($response, $template);
27 public function __invoke(ServerRequest $request): void
29 /** @var string|null $database */
30 $database = $request->getParsedBodyParam('db');
31 /** @var string|null $table */
32 $table = $request->getParsedBodyParam('table');
33 /** @var string|null $field */
34 $field = $request->getParsedBodyParam('field');
35 /** @var string $fieldKey */
36 $fieldKey = $request->getParsedBodyParam('fieldkey', '');
37 /** @var string $data */
38 $data = $request->getParsedBodyParam('data', '');
39 /** @var string|null $foreignShowAll */
40 $foreignShowAll = $request->getParsedBodyParam('foreign_showAll');
41 /** @var string $foreignFilter */
42 $foreignFilter = $request->getParsedBodyParam('foreign_filter', '');
44 if (! isset($database, $table, $field)) {
45 return;
48 $this->response->setMinimalFooter();
49 $header = $this->response->getHeader();
50 $header->disableMenuAndConsole();
51 $header->setBodyId('body_browse_foreigners');
53 $foreigners = $this->relation->getForeigners($database, $table);
54 $foreignLimit = $this->browseForeigners->getForeignLimit($foreignShowAll);
55 $foreignData = $this->relation->getForeignData(
56 $foreigners,
57 $field,
58 true,
59 $foreignFilter,
60 $foreignLimit ?? '',
61 true,
64 $this->response->addHTML($this->browseForeigners->getHtmlForRelationalFieldSelection(
65 $database,
66 $table,
67 $field,
68 $foreignData,
69 $fieldKey,
70 $data,
71 ));