Session.php 1.88 KB
Newer Older
1
<?php
2
3
namespace T3o\TerFe2\Persistence;

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*******************************************************************
 *  Copyright notice
 *
 *  (c) 2011 Kai Vogel <kai.vogel@speedprogs.de>, Speedprogs.de
 *
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as
 *  published by the Free Software Foundation; either version 2 of
 *  the License, or (at your option) any later version.
 *
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
 *
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ******************************************************************/
27

28
29
30
/**
 * Utilities to manage session content
 */
31
class Session extends \T3o\TerFe2\Persistence\AbstractPersistence
32
{
33

34
35
36
37
38
39
40
41
    /**
     * Load content
     *
     * @return void
     */
    public function load()
    {
        if (empty($GLOBALS['TSFE']->fe_user)) {
42
            throw new \Exception('Could not load session without frontend user');
43
44
45
46
47
48
        }
        if (!$this->isLoaded) {
            $this->content = $GLOBALS['TSFE']->fe_user->getKey('ses', $this->getName());
            $this->setIsLoaded(TRUE);
        }
    }
49
50


51
52
53
54
55
56
57
58
    /**
     * Save content
     *
     * @return void
     */
    public function save()
    {
        if (empty($GLOBALS['TSFE']->fe_user)) {
59
            throw new \Exception('Could not save session without frontend user');
60
61
62
63
64
65
        }
        $GLOBALS['TSFE']->fe_user->setKey('ses', $this->getName(), $this->content);
        $GLOBALS['TSFE']->storeSessionData();
    }

}