summaryrefslogtreecommitdiff
path: root/static/js/pichat.butt.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/pichat.butt.js')
-rwxr-xr-xstatic/js/pichat.butt.js35
1 files changed, 22 insertions, 13 deletions
diff --git a/static/js/pichat.butt.js b/static/js/pichat.butt.js
index bb1d00f..3f16519 100755
--- a/static/js/pichat.butt.js
+++ b/static/js/pichat.butt.js
@@ -50,6 +50,15 @@ function escapeHtml(txt) {
else { return $("<span>").text(txt).html(); }
}
+function normalizeUrl(url) {
+ if (!url) { return url; }
+ var lowerurl = url.toLowerCase();
+ if (lowerurl.indexOf('http://') == 0 || lowerurl.indexOf('https://') == 0 || lowerurl.indexOf('ftp://') == 0 || lowerurl.indexOf('//') == 0)
+ return url;
+ var scheme = (location && location.protocol == 'https:') ? 'https://' : 'http://';
+ return scheme + url;
+}
+
URLRegex = /((\b(http\:\/\/|https\:\/\/|ftp\:\/\/)|(www\.))+(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
PicRegex = /\.(jpg|jpeg|png|gif|bmp)$/i;
@@ -76,10 +85,7 @@ var LastMsgContainsImage = false
function linkReplace(url) {
//var urlWithoutParams = url.replace(/\?.*$/i, "");
- if (url.indexOf('http://') == 0 || url.indexOf('https://') == 0 || url.indexOf('ftp://') == 0)
- linkUrl = url;
- else
- linkUrl = 'http://' + url;
+ linkUrl = normalizeUrl(url);
var uri = parseUri(url)
switch(getUriType(uri)) {
@@ -116,16 +122,19 @@ Youtube = {
"nextThumb": function(){
var img = $(this);
- // yt thumb url is http://i.ytimg.com/vi/0123456789A/1.jpg
- var v = img.attr("src").substr(22,11)
- var num = img.attr("src").charAt(34);
- img.attr("src", (Youtube.nextThumbUrl(v, num)))
+ // yt thumb url example: https://i.ytimg.com/vi/0123456789A/1.jpg
+ var src = img.attr("src") || ""
+ var match = src.match(/\\/vi\\/([^/]{11})\\/(\\d)\\.jpg/i)
+ if (!match) return
+ var v = match[1]
+ var num = match[2]
+ img.attr("src", Youtube.nextThumbUrl(v, num))
},
"nextThumbUrl": function(v, num){
if (!num) num = 0;
num = (parseInt(num) % 3) + 1 // cycle over 1,2,3
- return "http://i.ytimg.com/vi/" + v + "/" + num + ".jpg"
+ return "https://i.ytimg.com/vi/" + v + "/" + num + ".jpg"
},
}
@@ -148,7 +157,7 @@ function linkifyWithoutImage(text) {
function linkReplaceWithoutImage(url){
var urlWithoutParams = url.replace(/\?.*$/i, "");
- linkUrl = url.indexOf('http://') == 0 ? url : 'http://' + url;
+ linkUrl = normalizeUrl(url);
return "<a target='_blank' href='" + linkUrl + "'>" + url + "</a>"
}
@@ -839,17 +848,17 @@ Share = {
},
"tumblr": function(button){
var message = getMessageInfo(button)
- var url = "http://www.tumblr.com/share?v=3&u=" + message.img + "&t=" + message.via
+ var url = "https://www.tumblr.com/share?v=3&u=" + message.img + "&t=" + message.via
Share.openLink(url)
},
"twitter": function(button){
var message = getMessageInfo(button)
- var url = "http://twitter.com/home?status=" + message.img + encodeURIComponent(" ") + message.via
+ var url = "https://twitter.com/home?status=" + message.img + encodeURIComponent(" ") + message.via
Share.openLink(url)
},
"delicious": function(button){
var message = getMessageInfo(button)
- var url = "http://delicious.com/save?url=" + message.img + "&title=" + message.img + "&notes=" + message.via
+ var url = "https://delicious.com/save?url=" + message.img + "&title=" + message.img + "&notes=" + message.via
Share.openLink(url)
}
}