summaryrefslogtreecommitdiff
path: root/static/js/src
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/src')
-rwxr-xr-xstatic/js/src/_main.js14
-rwxr-xr-xstatic/js/src/search.js11
-rwxr-xr-xstatic/js/src/share.js8
-rwxr-xr-xstatic/js/src/tag.js2
-rwxr-xr-xstatic/js/src/text.js8
-rwxr-xr-xstatic/js/src/util.js10
-rwxr-xr-xstatic/js/src/youtube.js13
7 files changed, 40 insertions, 26 deletions
diff --git a/static/js/src/_main.js b/static/js/src/_main.js
index d97b0ac..18592d5 100755
--- a/static/js/src/_main.js
+++ b/static/js/src/_main.js
@@ -3,6 +3,9 @@
window.RootDomain = location.href.match(/http:\/\/(\w)+\./)
? '/' : '/';
+if (typeof window.Nick === 'undefined') { window.Nick = null; }
+if (typeof window.Domain === 'undefined') { window.Domain = ''; }
+
window.cache = {};
window.PendingMessages = {};
window.MessageContentCache = {};
@@ -29,9 +32,17 @@ window.Anim = {
"logThumbBig": {"width": "64px", "height": "64px", "marginRight": "-2px", "marginTop": "-2px"}
}
+function getCookieDomain() {
+ if (!location || !location.hostname) { return null; }
+ var hostname = location.hostname;
+ if (hostname == 'localhost' || hostname.match(/^\\d+\\.\\d+\\.\\d+\\.\\d+$/)) { return null; }
+ var parts = hostname.split(".");
+ if (parts.length < 2) { return null; }
+ return "." + parts.slice(-2).join(".");
+}
window.Preferences = {
- "Domain": '.dump.fm',
+ "Domain": getCookieDomain(),
"getProperty": function(prop, defaultValue) {
var value = $.cookie(prop);
@@ -46,4 +57,3 @@ window.Preferences = {
$.cookie(prop, null, { domain: Preferences.Domain, path: '/' });
}
};
-
diff --git a/static/js/src/search.js b/static/js/src/search.js
index c7bdabf..9a9d389 100755
--- a/static/js/src/search.js
+++ b/static/js/src/search.js
@@ -159,18 +159,15 @@ Search = {
},
'doAjax': function(term) {
- if (Domain == "/") {
$.ajax({
"dataType": "json",
"url": "/cmd/search/" + term,
"success": Search.results,
- "error": Search.error,
+ "error": function(_xhr, _status, error){
+ Search.searchError(error || "search failed")
+ },
"timeout": 20000,
})
- } else { // search main site via jsonp
- $("#search-script").remove()
- $("head").append("<s"+"cript src='/cmd/search/"+term+"?callback=Search.results' id='search-script'></s"+"cript>")
- }
},
'click': function(e){
@@ -206,7 +203,7 @@ Search = {
if (url.charAt(0) == '/')
url = '/images' + url
else
- url = 'http://' + url
+ url = normalizeUrl(url)
urls.push(url)
})
ImgCache.add("search", urls)
diff --git a/static/js/src/share.js b/static/js/src/share.js
index 976c930..564ca6f 100755
--- a/static/js/src/share.js
+++ b/static/js/src/share.js
@@ -5,22 +5,22 @@ Share = {
},
"facebook": function(button){
var message = getMessageInfo(button)
- var url = "https://www.facebook.com/share.php?u=" + message.img + "&t=" + message.via
+ var url = "https://www.facebook.com/share.php?u=" + encodeURIComponent(message.img) + "&t=" + encodeURIComponent(message.via)
Share.openLink(url)
},
"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=" + encodeURIComponent(message.img) + "&t=" + encodeURIComponent(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/intent/tweet?text=" + encodeURIComponent(message.img + " " + 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=" + encodeURIComponent(message.img) + "&title=" + encodeURIComponent(message.img) + "&notes=" + encodeURIComponent(message.via)
Share.openLink(url)
}
}
diff --git a/static/js/src/tag.js b/static/js/src/tag.js
index 1f374ee..76657ee 100755
--- a/static/js/src/tag.js
+++ b/static/js/src/tag.js
@@ -61,7 +61,7 @@ Tag = {
if (isAdding) {
var link = $('<a>')
- .attr('href', Domain + '/' + Nick + '/popular')
+ .attr('href', RootDomain + Nick + '/popular')
.append($('<b>').text(Nick))
.append(" ");
$dump.find('.faver-list').append(link);
diff --git a/static/js/src/text.js b/static/js/src/text.js
index 773eed4..f426255 100755
--- a/static/js/src/text.js
+++ b/static/js/src/text.js
@@ -103,11 +103,7 @@ function imgClickHandler() {
// durty hack to use a global to check this... but otherwise i'd have to rewrite the String.replace function? :/
var LastMsgContainsImage = false
function linkReplace(url) {
- var lowerurl = url.toLowerCase();
- if (lowerurl.indexOf('http://') == 0 || lowerurl.indexOf('https://') == 0 || lowerurl.indexOf('ftp://') == 0)
- linkUrl = url;
- else
- linkUrl = 'http://' + url;
+ linkUrl = normalizeUrl(url);
var uri = parseUri(url)
var type = getUriType(uri)
@@ -162,7 +158,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>"
}
diff --git a/static/js/src/util.js b/static/js/src/util.js
index e8d1107..2a3dc52 100755
--- a/static/js/src/util.js
+++ b/static/js/src/util.js
@@ -16,6 +16,15 @@ isEmptyObject = function(obj) {
String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,'') }
+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;
+}
+
function isCSSPropertySupported(prop){ return prop in document.body.style }
function track(group, name) {
@@ -93,4 +102,3 @@ window.requestAnimFrame = (function(){
function text_off(){
setTextEnable.call( $("#textbutton input").attr("checked",false) )
}
-
diff --git a/static/js/src/youtube.js b/static/js/src/youtube.js
index 7b819dc..2b6a977 100755
--- a/static/js/src/youtube.js
+++ b/static/js/src/youtube.js
@@ -17,16 +17,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"
},
}