From d9b2b3f7a19ae12019c8c4583f77db7708cf5004 Mon Sep 17 00:00:00 2001 From: Michael Save Date: Sat, 31 Mar 2012 19:18:53 +1100 Subject: [PATCH] inline-expanding.js --- inc/config.php | 16 +++++++-------- js/inline-expanding.js | 45 ++++++++++++++++++++++++++++++++++++++++++ js/local-time.js | 2 -- templates/main.js | 34 ------------------------------- 4 files changed, 53 insertions(+), 44 deletions(-) create mode 100644 js/inline-expanding.js diff --git a/inc/config.php b/inc/config.php index 54ab8231..85f825f9 100644 --- a/inc/config.php +++ b/inc/config.php @@ -326,10 +326,6 @@ // When true, a blank password will be used for files (not usable for deletion). $config['field_disable_password'] = false; - // Allows js/quick-reply.js to work - // This will make your imageboard more vulnerable to flood attacks. - $config['quick_reply'] = false; - /* * ==================== * Markup settings @@ -473,9 +469,6 @@ // Timezone $config['timezone'] = 'America/Los_Angeles'; - // Inline expanding of images with Javascript - $config['inline_expanding'] = true; - // The format string passed to strftime() for post times // http://www.php.net/manual/en/function.strftime.php $config['post_date'] = '%m/%d/%y (%a) %H:%M:%S'; @@ -552,9 +545,12 @@ */ // Additional Javascript files to include on board index and thread pages. + $config['additional_javascript'][] = 'js/inline-expanding.js'; + // $config['additional_javascript'][] = 'js/local-time.js'; + + // Some scripts require jQuery. Check the comments in script files to see what's needed. // $config['additional_javascript'][] = 'js/jquery.min.js'; // $config['additional_javascript'][] = 'js/auto-reload.js'; - // $config['additional_javascript'][] = 'js/local-time.js'; // Where these script files are located on the web (defaults to $config['root']). // $config['additional_javascript_url'] = '/js/'; @@ -565,6 +561,10 @@ // Minify Javascript using http://code.google.com/p/minify/ $config['minify_js'] = false; + // Allows js/quick-reply.js to work + // This will make your imageboard more vulnerable to flood attacks. + $config['quick_reply'] = false; + /* * ==================== * Video embedding diff --git a/js/inline-expanding.js b/js/inline-expanding.js new file mode 100644 index 00000000..e7360dce --- /dev/null +++ b/js/inline-expanding.js @@ -0,0 +1,45 @@ +/* + * inline-expanding.js + * https://github.com/savetheinternet/Tinyboard/blob/master/js/inline-expanding.js + * + * Released under the MIT license + * Copyright (c) 2012 Michael Save + * + * Usage: + * $config['additional_javascript'][] = 'js/inline-expanding.js'; + * + */ + +onload(function(){ + var link = document.getElementsByTagName('a'); + + for(var i = 0; i < link.length; i++) { + if(typeof link[i] == "object" && link[i].childNodes[0].src && link[i].className != 'file') { + link[i].onclick = function(e) { + if(e.which == 2) { + return true; + } + if(!this.tag) { + this.tag = this.childNodes[0].src; + this.childNodes[0].src = this.href; + this.childNodes[0].style.width = 'auto'; + this.childNodes[0].style.height = 'auto'; + this.childNodes[0].style.opacity = '0.4'; + this.childNodes[0].style.filter = 'alpha(opacity=40)'; + this.childNodes[0].onload = function() { + this.style.opacity = '1'; + this.style.filter = ''; + } + } else { + this.childNodes[0].src = this.tag; + this.childNodes[0].style.width = 'auto'; + this.childNodes[0].style.height = 'auto'; + this.tag = ''; + } + return false; + } + + } + } +}); + diff --git a/js/local-time.js b/js/local-time.js index 4a3b4deb..b81c324f 100644 --- a/js/local-time.js +++ b/js/local-time.js @@ -6,8 +6,6 @@ * Copyright (c) 2012 Michael Save * * Usage: - * $config['quick_reply'] = true; - * $config['additional_javascript'][] = 'js/jquery.min.js'; * $config['additional_javascript'][] = 'js/local-time.js'; * */ diff --git a/templates/main.js b/templates/main.js index 9e51aa7b..71180259 100644 --- a/templates/main.js +++ b/templates/main.js @@ -136,38 +136,6 @@ function rememberStuff() { } } -function init_expanding() { - link = document.getElementsByTagName('a'); - for ( i in link ) { - if(typeof link[i] == "object" && link[i].childNodes[0].src && link[i].className != 'file') { - link[i].onclick = function(e) { - if(e.which == 2) { - return true; - } - if(!this.tag) { - this.tag = this.childNodes[0].src; - this.childNodes[0].src = this.href; - this.childNodes[0].style.width = 'auto'; - this.childNodes[0].style.height = 'auto'; - this.childNodes[0].style.opacity = '0.4'; - this.childNodes[0].style.filter = 'alpha(opacity=40)'; - this.childNodes[0].onload = function() { - this.style.opacity = '1'; - this.style.filter = ''; - } - } else { - this.childNodes[0].src = this.tag; - this.childNodes[0].style.width = 'auto'; - this.childNodes[0].style.height = 'auto'; - this.tag = ''; - } - return false; - } - - } - } -} - function init() { newElement = document.createElement('div'); newElement.className = 'styles'; @@ -189,8 +157,6 @@ function init() { if(window.location.hash.indexOf('q') != 1 && window.location.hash.substring(1)) highlightReply(window.location.hash.substring(1)); - - {% endraw %}{% if config.inline_expanding %}{% raw %}init_expanding();{% endraw %}{% endif %}{% raw %} } var RecaptchaOptions = {