/** * Get User cache from cache file (usefull for sessionless users) * * @since 4.4 * @see eZUser::getUserCache() * @param int $userId * @return array */ protected static function getUserCacheByUserId($userId) { $userCache = null; if (eZINI::instance()->variable('RoleSettings', 'EnableCaching') === 'true') { $cacheFilePath = eZUser::getCacheDir($userId) . "/user-data-{$userId}.cache.php"; $cacheFile = eZClusterFileHandler::instance($cacheFilePath); $userCache = $cacheFile->processCache(array('eZUser', 'retrieveUserCacheFromFile'), array('eZUser', 'generateUserCacheForFile'), null, self::userInfoExpiry(), $userId); } if ($userCache === null || $userCache instanceof eZClusterFileFailure) { $userCache = self::generateUserCacheContent($userId); } return $userCache; }
/** * Get User cache from cache file (usefull for sessionless users) * * @since 4.4 * @see eZUser::getUserCache() * @param int $userId * @return array */ protected static function getUserCacheByUserId($userId) { $cacheFilePath = eZUser::getCacheDir($userId) . "/user-data-{$userId}.cache.php"; $cacheFile = eZClusterFileHandler::instance($cacheFilePath); return $cacheFile->processCache(array('eZUser', 'retrieveUserCacheFromFile'), array('eZUser', 'generateUserCacheForFile'), null, self::userInfoExpiry(), $userId); }
/** * Returns the filename for a cache file with user information * * @deprecated In 4.4.0 * @params int $userId * @return string|false Filename of the cachefile, or false when the user should not be cached */ static function getCacheFilename($userId) { $ini = eZINI::instance(); $cacheUserPolicies = $ini->variable('RoleSettings', 'UserPolicyCache'); if ($cacheUserPolicies === 'enabled') { return eZUser::getCacheDir($userId) . '/user-' . $userId . '.cache.php'; } else { if ($cacheUserPolicies !== 'disabled') { $cachableIDs = explode(',', $cacheUserPolicies); if (in_array($userId, $cachableIDs)) { return eZUser::getCacheDir($userId) . '/user-' . $userId . '.cache.php'; } } } return false; }
/** * eZUser: do not generate cache content for invalid user * * @link http://issues.ez.no/22181 */ public function testNullUserCache() { eZUser::instance($this->userId); $cacheFilePath = eZUser::getCacheDir($this->userId) . "/user-data-{$this->userId}.cache.php"; $this->assertFalse(file_exists($cacheFilePath)); }