/**
  * @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);
 }
 /**
  * @param MvcEvent $e
  * @return mixed|void
  */
 public function onDispatch(MvcEvent $e)
 {
     $viewModel = new ViewModel();
     $data = $this->authenticationService->getAuthData();
     $viewModel->setVariable('user', $data->user);
     $viewModel->setVariable('configure', true);
     $viewModel->setTemplate('frontend/gallery/index');
     $e->setResult($viewModel);
 }
 /**
  * @param MvcEvent $e
  * @return mixed|void
  */
 public function onDispatch(MvcEvent $e)
 {
     $viewModel = new ViewModel();
     try {
         $this->authenticationService->authenticate($this->params()->fromQuery('code', null));
         return $this->redirect()->toRoute('frontend/gallery/configure');
     } catch (InvalidCodeException $invalidCodeException) {
         $viewModel->setTemplate('frontend/error/unrecoverable');
         $viewModel->setVariable('errorMessage', 'Incorrect code string returned from Instagram');
     } catch (DomainException $domainException) {
         $viewModel->setTemplate('frontend/error/unrecoverable');
     }
     return $e->setResult($viewModel);
 }
 /**
  * @param MvcEvent $e
  * @return mixed|void
  */
 public function onDispatch(MvcEvent $e)
 {
     $viewModel = new ViewModel();
     $data = $this->authenticationService->getAuthData();
     $viewModel->setVariable('user', $data->user);
     $valid = $this->configurationData->isValid();
     $viewModel->setVariable('validInputs', $this->configurationData->getValidInput());
     if (!$valid) {
         $viewModel->setTemplate('frontend/gallery/error');
         $viewModel->setVariable('messages', $this->configurationData->getMessages());
         return $e->setResult($viewModel);
     }
     $collectionService = $this->collectionFactory->createCollection($this->configurationData);
     $images = $collectionService->getImages($this->configurationData);
     $viewModel->setVariable('images', $images);
     $this->sessionContainer->images = $images;
     $this->sessionContainer->valuesHash = md5(serialize($this->configurationData->getValues()));
     $viewModel->setTemplate('frontend/gallery/preview');
     return $e->setResult($viewModel);
 }