Skip to content
Snippets Groups Projects
Commit 2e48a0c8 authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

use session.gc_maxlifetime for session storage in cache, fixes #604

Closes #604

Merge request studip/studip!1786
parent 27e1257a
No related branches found
No related tags found
No related merge requests found
......@@ -5,52 +5,64 @@
## PHPLIB Data Storage Container using Stud.IP cache
## for use with Stud.IP and cache only!
class CT_Cache {
const CACHE_KEY_PREFIX = 'session_data';
const SESSION_LIFETIME = 7200;
class CT_Cache
{
protected const CACHE_KEY_PREFIX = 'session_data';
protected const SESSION_LIFETIME = 7200;
private $cache;
function ac_start() {
public function ac_start()
{
$this->cache = StudipCacheFactory::getCache();
}
function ac_get_lock() {
public function ac_get_lock()
{
}
function ac_release_lock() {
public function ac_release_lock()
{
}
function ac_newid($str, $name = null) {
public function ac_newid($str, $name = null)
{
return $this->ac_get_value($str) === false ? $str : false;
}
function ac_store($id, $name, $str) {
public function ac_store($id, $name, $str)
{
$cache_key = self::CACHE_KEY_PREFIX . '/' . $id;
return $this->cache->write($cache_key, $str, self::SESSION_LIFETIME);
return $this->cache->write($cache_key, $str, ini_get('session.gc_maxlifetime') ?: self::SESSION_LIFETIME);
}
function ac_delete($id, $name = null) {
public function ac_delete($id, $name = null)
{
$cache_key = self::CACHE_KEY_PREFIX . '/' . $id;
$this->cache->expire($cache_key);
}
function ac_gc($gc_time, $name = null) {
public function ac_gc($gc_time, $name = null)
{
}
function ac_halt($s) {
public function ac_halt($s)
{
echo "<b>$s</b>";
exit;
}
function ac_get_value($id, $name = null) {
public function ac_get_value($id, $name = null)
{
$cache_key = self::CACHE_KEY_PREFIX . '/' . $id;
return $this->cache->read($cache_key);
}
function ac_get_changed($id, $name = null) {
public function ac_get_changed($id, $name = null)
{
}
function ac_set_changed($id, $name, $timestamp) {
public function ac_set_changed($id, $name, $timestamp)
{
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment