/**
* @param MvcEvent $e
* @return mixed|void
*/
public function onDispatch(MvcEvent $e)
{
$viewModel = new ViewModel();
$valid = $this->collageData->isValid();
$data = $this->authenticationService->getAuthData();
$viewModel->setVariable('validInputs', $this->collageData->getValidInput());
$viewModel->setVariable('user', $data->user);
if (!$valid) {
$viewModel->setTemplate('frontend/gallery/error');
$viewModel->setVariable('messages', $this->collageData->getMessages());
return $e->setResult($viewModel);
}
$uniqueId = md5(serialize($this->collageData->getValues()));
if ($this->sessionContainer->valuesHash != $uniqueId) {
$collectionService = $this->collectionFactory->createCollection($this->collageData);
$images = $collectionService->getImages($this->collageData);
} else {
$images = $this->sessionContainer->images;
}
$collageHttpPath = $this->collageService->create($images, $uniqueId, $this->collageData->getWidth(), $this->collageData->getHeight(), $this->collageData->getLimit());
if ($collageHttpPath !== false) {
$viewModel->setVariable('collageHttpPath', $collageHttpPath);
}
$viewModel->setTemplate('frontend/gallery/index');
return $e->setResult($viewModel);
}