gl-website-deployer/admin/phpMyAdmin/libraries/classes/Config/Settings/SqlQueryBox.php

85 lines
1.8 KiB
PHP
Raw Normal View History

2024-11-23 20:45:29 +01:00
<?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'];
}
}