* @owner University of Latvia * @version 3.2 * @since 06.06.2018 * * @package Lu\LuAuth\Models */ class Sessions { /** * Table name * * @var string */ protected $table = 'be_sessions'; /** * Set request type * * @var string */ protected $type = 'be'; /** * Users constructor. Set initial usage. * * @param string $type 'be' or 'fe' */ public function __construct(string $type) { // Set config value $this->conf = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class)->get('lu_auth'); // Set used group if ($type == 'fe') { $this->table = 'fe_sessions'; } else { $this->table = 'be_sessions'; } // Set used group $this->type = $type == 'fe' ? 'fe' : 'be'; } /** * Destroy user session */ public function destroy() { // Delete user session $queryBuilder = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\ConnectionPool::class)->getQueryBuilderForTable($this->table); $queryBuilder->delete($this->table)->where( $queryBuilder->expr()->eq('ses_id', $queryBuilder->createNamedParameter($_COOKIE['fe_typo_user'])) ); $queryBuilder->execute(); // Update cookie setcookie('fe_typo_user', false, time() - 3600, '/', null, null, null); } }