mirror of
https://github.com/werkraum-media/events.git
synced 2024-11-22 20:36:09 +01:00
106 lines
2 KiB
PHP
106 lines
2 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Wrm\Events\Events\Controller;
|
||
|
|
||
|
use TYPO3\CMS\Extbase\Domain\Model\Category;
|
||
|
use TYPO3\CMS\Extbase\Persistence\QueryResultInterface;
|
||
|
use Wrm\Events\Domain\Model\Dto\DateDemand;
|
||
|
use Wrm\Events\Domain\Model\Region;
|
||
|
|
||
|
class DateSearchVariables
|
||
|
{
|
||
|
/**
|
||
|
* @var array
|
||
|
*/
|
||
|
private $search;
|
||
|
|
||
|
/**
|
||
|
* @var DateDemand
|
||
|
*/
|
||
|
private $demand;
|
||
|
|
||
|
/**
|
||
|
* @var QueryResultInterface<Region>
|
||
|
*/
|
||
|
private $regions;
|
||
|
|
||
|
/**
|
||
|
* @var array<Category>
|
||
|
*/
|
||
|
private $categories;
|
||
|
|
||
|
/**
|
||
|
* @var array<Category>
|
||
|
*/
|
||
|
private $features;
|
||
|
|
||
|
/**
|
||
|
* @var array
|
||
|
*/
|
||
|
private $variables = [];
|
||
|
|
||
|
/**
|
||
|
* @param QueryResultInterface<Region> $regions
|
||
|
*/
|
||
|
public function __construct(
|
||
|
array $search,
|
||
|
DateDemand $demand,
|
||
|
QueryResultInterface $regions,
|
||
|
array $categories,
|
||
|
array $features
|
||
|
) {
|
||
|
$this->search = $search;
|
||
|
$this->demand = $demand;
|
||
|
$this->regions = $regions;
|
||
|
$this->categories = $categories;
|
||
|
$this->features = $features;
|
||
|
}
|
||
|
|
||
|
public function getSearch(): array
|
||
|
{
|
||
|
return $this->search;
|
||
|
}
|
||
|
|
||
|
public function getDemand(): DateDemand
|
||
|
{
|
||
|
return $this->demand;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return QueryResultInterface<Region>
|
||
|
*/
|
||
|
public function getRegions(): QueryResultInterface
|
||
|
{
|
||
|
return $this->regions;
|
||
|
}
|
||
|
|
||
|
public function getCategories(): array
|
||
|
{
|
||
|
return $this->categories;
|
||
|
}
|
||
|
|
||
|
public function getFeatures(): array
|
||
|
{
|
||
|
return $this->features;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param mixed $value
|
||
|
*/
|
||
|
public function addVariable(string $key, $value): void
|
||
|
{
|
||
|
$this->variables[$key] = $value;
|
||
|
}
|
||
|
|
||
|
public function getVariablesForView(): array
|
||
|
{
|
||
|
return array_merge([
|
||
|
'search' => $this->search,
|
||
|
'demand' => $this->demand,
|
||
|
'regions' => $this->regions,
|
||
|
'categories' => $this->categories,
|
||
|
'features' => $this->features,
|
||
|
], $this->variables);
|
||
|
}
|
||
|
}
|