-
Bug
-
Resolution: Fixed
-
Major
-
1.1.2
-
None
-
None
-
any
-
-
Yes
-
Empty show more show less
If you enter any external link with a protocol different from http, the string "http://" is prepended to it.
This is due to STKUtil only checking of a string prefix of "http://", but fails to detect other protocols such as https. I've attached a new implementation of both affected STKUtil methods. I couldn't create an actual patch in the given timeframe easily, sorry.
The following two methods accept any protocol, but still prepend "http://" in case none is given:
public static String getExternalLink(Content content, String linkNodeName){
String externalLink = content.getNodeData(linkNodeName).getString();
if(!externalLink.contains("://"))
{ externalLink = "http://"+externalLink; } return externalLink;
}
public static String getExternalLinkTitle(Content content, String linkNodeName, String linkTitleNodeName){
String linkTitle = content.getNodeData(linkTitleNodeName).getString();
if(StringUtils.isNotEmpty(linkTitle))
String externalLink = content.getNodeData(linkNodeName).getString();
int idx = externalLink.indexOf("://");
if(idx != -1){
if (externalLink.length() > idx+3)
else
{ externalLink = ""; } }
return externalLink;
}