From 7fdc40fd3c695cd96d7c8ce722293f154e94719a Mon Sep 17 00:00:00 2001 From: erqan Date: Wed, 9 Apr 2014 15:45:14 +0300 Subject: [PATCH] proxy for external links and preview feature for multiple images --- css/style.css | 3 +++ js/interface_common.js | 17 ++++++++++++++--- js/interface_localization.js | 6 +++++- js/options.js | 8 +++++--- js/twister_formatpost.js | 19 +++++++------------ options.html | 7 ++++--- 6 files changed, 38 insertions(+), 22 deletions(-) diff --git a/css/style.css b/css/style.css index 8ecf291..2a2495c 100644 --- a/css/style.css +++ b/css/style.css @@ -956,12 +956,15 @@ button.disabled:hover max-height: 500px; max-width: 530px; width: auto; + display: block; + margin: 0 auto; } .preview-container { max-height: 500px; width: 100%; text-align: center; + overflow-y: auto; } .post-stats { diff --git a/js/interface_common.js b/js/interface_common.js index d38a9e2..9961e28 100644 --- a/js/interface_common.js +++ b/js/interface_common.js @@ -342,9 +342,20 @@ var postExpandFunction = function( e, postLi ) if ($(previewContainer).children().length == 0) { var link = originalPost.find("a[rel='nofollow']"); /*is there any link in the post?*/ - if (link.siblings().length > 0){ - if (/((\.jpe{0,1}g)|(\.gif)|(\.png))$/i.test(link.html())){ - $(previewContainer).append($("")); + for (var i=0; i")); } } } diff --git a/js/interface_localization.js b/js/interface_localization.js index a704901..4a6ee58 100644 --- a/js/interface_localization.js +++ b/js/interface_localization.js @@ -204,6 +204,8 @@ if(preferredLanguage == "en"){ "none": "none", "Custom": "Custom", "Mentions": "Mentions", + "Use proxy for image preview only": "Use proxy for image preview only", + "Use external links behind a proxy": "Use external links behind a proxy" }; } if(preferredLanguage == "es"){ @@ -1806,7 +1808,9 @@ if(preferredLanguage == "tr"){ "You are not following anyone because you are not logged in.": "Giriş yapmadığınız için kimseyi takip etmiyorsunuz.", "You don't have any followers because you are not logged in.": "Giriş yapmadığınız için hiç takipçiniz yok.", "No one can mention you because you are not logged in.": "Giriş yapmadığınız için kimse adınıza mesaj gönderemiyor.", - "You don't have any profile because you are not logged in.": "Giriş yapmadığınız için profiliniz yok." + "You don't have any profile because you are not logged in.": "Giriş yapmadığınız için profiliniz yok.", + "Use proxy for image preview only": "Vekil sunucuyu sadece resim ön izleme için kullan", + "Use external links behind a proxy": "Harici bağlantılar için vekil sunucu kullan" }; } diff --git a/js/options.js b/js/options.js index 85aceb7..dacd0cd 100644 --- a/js/options.js +++ b/js/options.js @@ -218,7 +218,7 @@ var TwisterOptions = function() this.setUseProxyOpt = function () { $('#useProxy')[0].value = this.getUseProxyOpt(); - if (this.getProxyOpt() === 'disable') + if (this.getUseProxyOpt() === 'disable') $('#useProxyForImgOnly').attr('disabled','disabled'); $('#useProxy').on('change', function () { @@ -238,8 +238,8 @@ var TwisterOptions = function() this.setUseProxyForImgOnlyOpt = function () { $('#useProxyForImgOnly')[0].checked = this.getUseProxyForImgOnlyOpt(); - $('useProxyForImgOnly').on('change', function () { - $.Options.setOption(this.id, this.value); + $('#useProxyForImgOnly').on('change', function () { + $.Options.setOption(this.id, this.checked); }); } @@ -256,6 +256,8 @@ var TwisterOptions = function() this.setConvertEmotionsOpt(); this.setConvertSignsOpt(); this.setConvertFractionsOpt(); + this.setUseProxyOpt(); + this.setUseProxyForImgOnlyOpt(); } } diff --git a/js/twister_formatpost.js b/js/twister_formatpost.js index 3cf0d78..17a89fb 100644 --- a/js/twister_formatpost.js +++ b/js/twister_formatpost.js @@ -195,23 +195,18 @@ function htmlFormatMsg( msg, output, mentions ) { url = url.replace('&', '&'); var extLinkTemplate = $("#external-page-link-template").clone(true); extLinkTemplate.removeAttr("id"); - var proxy = false; - if ($.Options.getOption('useProxy') === 'disable'){ - extLinkTemplate.attr("href",url); - } else if ($.Options.getOption('useProxyForImgOnly')){ - if ($.Options.getOption('displayPreview') !== 'disable' && /((\.jpe{0,1}g)|(\.gif)|(\.png))$/i.test(url)) - proxy = true; - } else { - proxy = true; - } - if (proxy){ + if ($.Options.getUseProxyOpt() !== 'disable' && !$.Options.getUseProxyForImgOnlyOpt()){ //proxy alternatives may be added to options page... - if ($.Options.getOption('useProxy') === 'ssl-proxy-my-addr') { - extLinkTemplate.attr('href', 'https://ssl-proxy.my-addr.com/' + + if ($.Options.getUseProxyOpt() === 'ssl-proxy-my-addr') { + extLinkTemplate.attr('href', 'https://ssl-proxy.my-addr.org/myaddrproxy.php/' + url.substring(0, url.indexOf(':')) + url.substr(url.indexOf('/') + 1)); + } else if ($.Options.getUseProxyOpt() ==='anonymouse') { + extLinkTemplate.attr('href', 'http://anonymouse.org/cgi-bin/anon-www.cgi/' + url); } + } else { + extLinkTemplate.attr("href",url); } extLinkTemplate.text(url); diff --git a/options.html b/options.html index 9edaadc..3c90ce8 100644 --- a/options.html +++ b/options.html @@ -160,12 +160,13 @@
-

Use links behind a proxy

+

Use external links behind a proxy

- Use proxy for image preview only + Use proxy for image preview only