Allow bare minimum urls in [url text] syntax
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
//#include "lluicolortable.h"
|
||||
#include "message.h"
|
||||
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/format.hpp> // <alchemy/>
|
||||
|
||||
#define APP_HEADER_REGEX "((((x-grid-info://)|(x-grid-location-info://))[-\\w\\.]+(:\\d+)?/app)|(secondlife:///app))"
|
||||
@@ -120,11 +121,11 @@ std::string LLUrlEntryBase::getLabelFromWikiLink(const std::string &url) const
|
||||
size_t start = 0;
|
||||
while (! isspace(text[start]))
|
||||
{
|
||||
start++;
|
||||
++start;
|
||||
}
|
||||
while (text[start] == ' ' || text[start] == '\t')
|
||||
{
|
||||
start++;
|
||||
++start;
|
||||
}
|
||||
return unescapeUrl(url.substr(start, url.size()-start-1));
|
||||
}
|
||||
@@ -136,7 +137,7 @@ std::string LLUrlEntryBase::getUrlFromWikiLink(const std::string &string) const
|
||||
size_t end = 0;
|
||||
while (! isspace(text[end]))
|
||||
{
|
||||
end++;
|
||||
++end;
|
||||
}
|
||||
return escapeUrl(string.substr(1, end-1));
|
||||
}
|
||||
@@ -273,7 +274,7 @@ std::string LLUrlEntryHTTP::getTooltip(const std::string &url) const
|
||||
//
|
||||
LLUrlEntryHTTPLabel::LLUrlEntryHTTPLabel()
|
||||
{
|
||||
mPattern = boost::regex("\\[https?://\\S+[ \t]+[^\\]]+\\]",
|
||||
mPattern = boost::regex("\\[(https?://\\S+|\\S+\\.([^\\s<]*)?)[ \t]+[^\\]]+\\]",
|
||||
boost::regex::perl|boost::regex::icase);
|
||||
mMenuName = "menu_url_http.xml";
|
||||
mTooltip = LLTrans::getString("TooltipHttpUrl");
|
||||
@@ -292,7 +293,10 @@ std::string LLUrlEntryHTTPLabel::getTooltip(const std::string &string) const
|
||||
|
||||
std::string LLUrlEntryHTTPLabel::getUrl(const std::string &string) const
|
||||
{
|
||||
return getUrlFromWikiLink(string);
|
||||
auto url = getUrlFromWikiLink(string);
|
||||
if (!boost::istarts_with(url, "http"))
|
||||
return "http://" + url;
|
||||
return url;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user