| <?php |
|
|
| namespace Kanboard\Core\Http; |
|
|
| use Kanboard\Core\Base; |
|
|
| |
| |
| |
| |
| |
| |
| class RememberMeCookie extends Base |
| { |
| |
| |
| |
| |
| |
| const COOKIE_NAME = 'KB_RM'; |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function encode($token, $sequence) |
| { |
| return implode('|', array($token, $sequence)); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function decode($value) |
| { |
| list($token, $sequence) = explode('|', $value); |
|
|
| return array( |
| 'token' => $token, |
| 'sequence' => $sequence, |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function hasCookie() |
| { |
| return $this->request->getCookie(self::COOKIE_NAME) !== ''; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| public function write($token, $sequence, $expiration) |
| { |
| return setcookie( |
| self::COOKIE_NAME, |
| $this->encode($token, $sequence), |
| $expiration, |
| $this->helper->url->dir(), |
| '', |
| $this->request->isHTTPS(), |
| true |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function read() |
| { |
| $cookie = $this->request->getCookie(self::COOKIE_NAME); |
|
|
| if (empty($cookie)) { |
| return false; |
| } |
|
|
| return $this->decode($cookie); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function remove() |
| { |
| return setcookie( |
| self::COOKIE_NAME, |
| '', |
| time() - 3600, |
| $this->helper->url->dir(), |
| '', |
| $this->request->isHTTPS(), |
| true |
| ); |
| } |
| } |
|
|