Server IP : 15.235.198.142 / Your IP : 216.73.216.198 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/phpmyadmin/libraries/classes/Controllers/ |
Upload File : |
<?php declare(strict_types=1); namespace PhpMyAdmin\Controllers; use PhpMyAdmin\BrowseForeigners; use PhpMyAdmin\ConfigStorage\Relation; use PhpMyAdmin\Http\ServerRequest; use PhpMyAdmin\ResponseRenderer; use PhpMyAdmin\Template; /** * Display selection for relational field values */ class BrowseForeignersController extends AbstractController { /** @var BrowseForeigners */ private $browseForeigners; /** @var Relation */ private $relation; public function __construct( ResponseRenderer $response, Template $template, BrowseForeigners $browseForeigners, Relation $relation ) { parent::__construct($response, $template); $this->browseForeigners = $browseForeigners; $this->relation = $relation; } public function __invoke(ServerRequest $request): void { /** @var string|null $database */ $database = $request->getParsedBodyParam('db'); /** @var string|null $table */ $table = $request->getParsedBodyParam('table'); /** @var string|null $field */ $field = $request->getParsedBodyParam('field'); /** @var string $fieldKey */ $fieldKey = $request->getParsedBodyParam('fieldkey', ''); /** @var string $data */ $data = $request->getParsedBodyParam('data', ''); /** @var string|null $foreignShowAll */ $foreignShowAll = $request->getParsedBodyParam('foreign_showAll'); /** @var string $foreignFilter */ $foreignFilter = $request->getParsedBodyParam('foreign_filter', ''); if (! isset($database, $table, $field)) { return; } $this->response->getFooter()->setMinimal(); $header = $this->response->getHeader(); $header->disableMenuAndConsole(); $header->setBodyId('body_browse_foreigners'); $foreigners = $this->relation->getForeigners($database, $table); $foreignLimit = $this->browseForeigners->getForeignLimit($foreignShowAll); $foreignData = $this->relation->getForeignData( $foreigners, $field, true, $foreignFilter, $foreignLimit ?? '', true ); $this->response->addHTML($this->browseForeigners->getHtmlForRelationalFieldSelection( $database, $table, $field, $foreignData, $fieldKey, $data )); } }