Server IP : 51.89.169.208 / Your IP : 3.148.200.110 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/yellowleaf/www/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 )); } }