/** * Retrive remembered Return URL from key. * * Default key: 'return' GET param. * * @param string|null * @return self */ public function returnUrl($default = null, $key = null) { if (!$key) { $key = $this->get('request')->get('return'); } if ($this->session->hasBag('returnUrls') && ($return = $this->session->getBag('returnUrls')->get($key))) { return $return; } return $default; }
protected function create(Container $c) { $config = $c->get('config'); switch ($b = $config->get('session.backend', 'file')) { case 'database': $backend = new S\Backend\Database($c->get('doctrine')->getConnection(), $config->get('database.prefix') . 'session'); break; case 'file': $backend = new S\Backend\File($c->get('app')->path('var/session/')); break; default: throw new \RuntimeException("Session backend '{$b}' not recognized!"); } $session = new S\Session($backend, $config->get('session', [])); $session->start($c->get('request')); $c->get('controller')->addSendListener(array($session, 'close')); return $session; }
/** * Get configured Session Bag. * * @return \Vero\Session\Bag */ protected function getBag() { return $this->session->getBag('tokens', ['max' => 20]); }