* @package AnyComment\Cache */ class UserCache extends AnyCommentCacheManager { /** * @var string Root caching namespace. */ public static $namespace = '/users'; /** * @var string Avatars template. */ public static $avatars = '/avatar_url/%s'; /** * Get avatar caching object. * * @param mixed $id_or_email Could be id, email or an object. In any wat it would be serialized. * * @return \Stash\Interfaces\ItemInterface */ public static function getAvatar ( $id_or_email ) { $id_or_email = md5( serialize( $id_or_email ) ); return AnyCommentCore::cache()->getItem( static::getUserNamespace() . sprintf( self::$avatars, $id_or_email ) ); } public static function flushAvatars () { } /** * Get user namespace. * * @return string */ public static function getUserNamespace () { return static::getRootNamespace() . static::$namespace; } /** * Flush all user-related cache. * * @return bool */ public static function flushAll () { return AnyCommentCore::cache()->deleteItem( static::getRootNamespace() . self::$namespace ); } }