- if (((linkType == LinkType.CHK) || (linkType == LinkType.SSK) || (linkType == LinkType.USK)) && (link.length() > 98) && (link.charAt(47) == ',') && (link.charAt(91) == ',') && (link.charAt(99) == '/')) {
- name = link.substring(0, 47) + "…" + link.substring(99);
+ if (linkType == LinkType.KSK) {
+ name = link.substring(4);
+ } else if ((linkType == LinkType.CHK) || (linkType == LinkType.SSK) || (linkType == LinkType.USK)) {
+ if (name.indexOf('/') > -1) {
+ if (!name.endsWith("/")) {
+ name = name.substring(name.lastIndexOf('/') + 1);
+ } else {
+ if (name.indexOf('/') != name.lastIndexOf('/')) {
+ name = name.substring(name.lastIndexOf('/', name.lastIndexOf('/') - 1));
+ } else {
+ /* shorten to 5 chars. */
+ name = name.substring(4, Math.min(9, name.length()));
+ }
+ }
+ }
+ if (name.indexOf('?') > -1) {
+ name = name.substring(0, name.indexOf('?'));
+ }
+ boolean fromPostingSone = false;
+ if ((linkType == LinkType.SSK) || (linkType == LinkType.USK)) {
+ try {
+ new FreenetURI(link);
+ fromPostingSone = link.substring(4, Math.min(link.length(), 47)).equals(context.getPostingSone().getId());
+ parts.add(fromPostingSone ? createTrustedFreenetLinkPart(link, name) : createFreenetLinkPart(link, name));
+ } catch (MalformedURLException mue1) {
+ /* it’s not a valid link. */
+ parts.add(createPlainTextPart(link));
+ }
+ } else {
+ parts.add(fromPostingSone ? createTrustedFreenetLinkPart(link, name) : createFreenetLinkPart(link, name));
+ }