/*
- * Sone - ProfileAccessor.java - Copyright © 2011–2012 David Roden
+ * Sone - ProfileAccessor.java - Copyright © 2011–2013 David Roden
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
this.core = core;
}
- /**
- * {@inheritDoc}
- */
@Override
public Object get(TemplateContext templateContext, Object object, String member) {
Profile profile = (Profile) object;
if (avatarId == null) {
return null;
}
- if (core.getImage(avatarId, false) == null) {
+ if (!core.getImage(avatarId).isPresent()) {
/* avatar ID but no matching image? show nothing. */
return null;
}
+ if (!avatarImageBelongsToTheSameSoneAsTheProfile(profile, avatarId)) {
+ return null;
+ }
Sone remoteSone = profile.getSone();
- if (core.isLocalSone(remoteSone)) {
+ if (remoteSone.isLocal()) {
/* always show your own avatars. */
return avatarId;
}
return super.get(templateContext, object, member);
}
+ private boolean avatarImageBelongsToTheSameSoneAsTheProfile(Profile profile, String avatarId) {
+ return core.getImage(avatarId).get().getSone().equals(profile.getSone());
+ }
+
}