You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
1.8 KiB
85 lines
1.8 KiB
2 years ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace PhpMyAdmin\Config\Settings;
|
||
|
|
||
|
// phpcs:disable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||
|
|
||
|
/**
|
||
|
* @psalm-immutable
|
||
|
*/
|
||
|
final class SqlQueryBox
|
||
|
{
|
||
|
/**
|
||
|
* Display an "Edit" link on the results page to change a query.
|
||
|
*
|
||
|
* @var bool
|
||
|
*/
|
||
|
public $Edit;
|
||
|
|
||
|
/**
|
||
|
* Display an "Explain SQL" link on the results page.
|
||
|
*
|
||
|
* @var bool
|
||
|
*/
|
||
|
public $Explain;
|
||
|
|
||
|
/**
|
||
|
* Display a "Create PHP code" link on the results page to wrap a query in PHP.
|
||
|
*
|
||
|
* @var bool
|
||
|
*/
|
||
|
public $ShowAsPHP;
|
||
|
|
||
|
/**
|
||
|
* Display a "Refresh" link on the results page.
|
||
|
*
|
||
|
* @var bool
|
||
|
*/
|
||
|
public $Refresh;
|
||
|
|
||
|
/**
|
||
|
* @param mixed[] $sqlQueryBox
|
||
|
*/
|
||
|
public function __construct(array $sqlQueryBox = [])
|
||
|
{
|
||
|
$this->Edit = $this->setEdit($sqlQueryBox);
|
||
|
$this->Explain = $this->setExplain($sqlQueryBox);
|
||
|
$this->ShowAsPHP = $this->setShowAsPHP($sqlQueryBox);
|
||
|
$this->Refresh = $this->setRefresh($sqlQueryBox);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param mixed[] $sqlQueryBox
|
||
|
*/
|
||
|
private function setEdit(array $sqlQueryBox): bool
|
||
|
{
|
||
|
return ! isset($sqlQueryBox['Edit']) || $sqlQueryBox['Edit'];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param mixed[] $sqlQueryBox
|
||
|
*/
|
||
|
private function setExplain(array $sqlQueryBox): bool
|
||
|
{
|
||
|
return ! isset($sqlQueryBox['Explain']) || $sqlQueryBox['Explain'];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param mixed[] $sqlQueryBox
|
||
|
*/
|
||
|
private function setShowAsPHP(array $sqlQueryBox): bool
|
||
|
{
|
||
|
return ! isset($sqlQueryBox['ShowAsPHP']) || $sqlQueryBox['ShowAsPHP'];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param mixed[] $sqlQueryBox
|
||
|
*/
|
||
|
private function setRefresh(array $sqlQueryBox): bool
|
||
|
{
|
||
|
return ! isset($sqlQueryBox['Refresh']) || $sqlQueryBox['Refresh'];
|
||
|
}
|
||
|
}
|