. * */ namespace SP; /** * Clase base para guardar/obtener elementos de la caché */ class Cache { /** * Tiempo de expiración de la cache en segundos */ const EXPIRE_TIME = 300; /** * Obtener un parámetro de la configuración de sysPass desde la caché de la sesión * * @param string $param El parámetro a obtener * @return null */ public static function getSessionCacheConfigValue($param) { $config = self::getSessionCacheConfig(); if (isset($config) && isset($config[$param])) { return $config[$param]; } // FIXME // error_log('CONFIG_CACHE_VALUE_MISS'); return null; } /** * Obtener la configuración de sysPass desde la caché de la sesión * * @return array|bool Los datos de la configuración */ public static function getSessionCacheConfig() { if (isset($_SESSION['cache']['config']) && is_array($_SESSION['cache']['config'])) { $isExpired = (time() - $_SESSION['cache']['config']['expires'] > 0); if (!$isExpired) { return $_SESSION['cache']['config']; } } self::setSessionCacheConfig(); return $_SESSION['cache']['config']; } /** * Guardar la cache de configuración en la sesion */ public static function setSessionCacheConfig() { // FIXME // error_log('CONFIG_CACHE_MISS'); $_SESSION['cache']['config'] = Config::getConfig(); $_SESSION['cache']['config']['expires'] = time() + self::EXPIRE_TIME; } }