Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Application\Controller\Plugin;
- use Zend\Session;
- trait RefererRedirect
- {
- /**
- * @var Session\Container
- */
- private $sessionContainer;
- /**
- * @param Session\Container $sessionContainer
- */
- public function setSessionContainer(Session\Container $sessionContainer)
- {
- $this->sessionContainer = $sessionContainer;
- }
- protected function clearReferer()
- {
- $this->sessionContainer->offsetUnset('referer');
- }
- protected function registerReferer()
- {
- if (!$this->sessionContainer->offsetExists('referer')) {
- $this->sessionContainer->offsetSet('referer', $this->getRequest()->getHeader('Referer')->uri()->getPath());
- }
- }
- protected function redirectToRefererOrDefaultRoute($defaultRoute, $defaultParams = [])
- {
- if ($this->sessionContainer->offsetExists('referer')) {
- $url = $this->sessionContainer->offsetGet('referer');
- $this->clearReferer();
- return $this->redirect()->toUrl($url);
- }
- return $this->redirect()->toRoute($defaultRoute, $defaultParams);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement