Advertisement
Guest User

Untitled

a guest
Jul 28th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Application\Controller\Plugin;
  4.  
  5. use Zend\Session;
  6.  
  7. trait RefererRedirect
  8. {
  9. /**
  10. * @var Session\Container
  11. */
  12. private $sessionContainer;
  13.  
  14. /**
  15. * @param Session\Container $sessionContainer
  16. */
  17. public function setSessionContainer(Session\Container $sessionContainer)
  18. {
  19. $this->sessionContainer = $sessionContainer;
  20. }
  21.  
  22. protected function clearReferer()
  23. {
  24. $this->sessionContainer->offsetUnset('referer');
  25. }
  26.  
  27. protected function registerReferer()
  28. {
  29. if (!$this->sessionContainer->offsetExists('referer')) {
  30. $this->sessionContainer->offsetSet('referer', $this->getRequest()->getHeader('Referer')->uri()->getPath());
  31. }
  32. }
  33.  
  34. protected function redirectToRefererOrDefaultRoute($defaultRoute, $defaultParams = [])
  35. {
  36. if ($this->sessionContainer->offsetExists('referer')) {
  37. $url = $this->sessionContainer->offsetGet('referer');
  38. $this->clearReferer();
  39.  
  40. return $this->redirect()->toUrl($url);
  41. }
  42.  
  43. return $this->redirect()->toRoute($defaultRoute, $defaultParams);
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement