From c131504b28b99862ee2320c0cd7a27dc351145ce Mon Sep 17 00:00:00 2001 From: azaozz Date: Wed, 18 Nov 2009 00:19:55 +0000 Subject: [PATCH] Let plugins predefine thickbox image vars, props aaroncampbell, fixes #6453 git-svn-id: http://svn.automattic.com/wordpress/trunk@12205 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/js/thickbox/thickbox.js | 106 ++++++++++++++-------------- wp-includes/script-loader.php | 2 +- 2 files changed, 55 insertions(+), 53 deletions(-) diff --git a/wp-includes/js/thickbox/thickbox.js b/wp-includes/js/thickbox/thickbox.js index df602f3cff..79e2f982ca 100644 --- a/wp-includes/js/thickbox/thickbox.js +++ b/wp-includes/js/thickbox/thickbox.js @@ -4,14 +4,18 @@ * Copyright (c) 2007 cody lindley * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php */ - -var tb_pathToImage = "../wp-includes/js/thickbox/loadingAnimation.gif"; -var tb_closeImage = "../wp-includes/js/thickbox/tb-close.png"; + +if ( typeof tb_pathToImage != 'string' ) { + var tb_pathToImage = "../wp-includes/js/thickbox/loadingAnimation.gif"; +} +if ( typeof tb_closeImage != 'string' ) { + var tb_closeImage = "../wp-includes/js/thickbox/tb-close.png"; +} /*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/ //on page load call tb_init -jQuery(document).ready(function(){ +jQuery(document).ready(function(){ tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox imgLoader = new Image();// preload image imgLoader.src = tb_pathToImage; @@ -45,29 +49,29 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic jQuery("#TB_overlay").click(tb_remove); } } - + if(tb_detectMacXFF()){ jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash }else{ jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity } - + if(caption===null){caption="";} jQuery("body").append("
");//add loader to the page jQuery('#TB_load').show();//show loader - + var baseURL; if(url.indexOf("?")!==-1){ //ff there is a query string involved baseURL = url.substr(0, url.indexOf("?")); - }else{ + }else{ baseURL = url; } - + var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/; var urlType = baseURL.toLowerCase().match(urlString); if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images - + TB_PrevCaption = ""; TB_PrevURL = ""; TB_PrevHTML = ""; @@ -80,7 +84,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic TB_TempArray = jQuery("a[rel="+imageGroup+"]").get(); for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) { var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString); - if (!(TB_TempArray[TB_Counter].href == url)) { + if (!(TB_TempArray[TB_Counter].href == url)) { if (TB_FoundURL) { TB_NextCaption = TB_TempArray[TB_Counter].title; TB_NextURL = TB_TempArray[TB_Counter].href; @@ -92,15 +96,15 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic } } else { TB_FoundURL = true; - TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length); + TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length); } } } imgPreloader = new Image(); - imgPreloader.onload = function(){ + imgPreloader.onload = function(){ imgPreloader.onload = null; - + // Resizing large images - orginal by Christian Montoya edited by me. var pagesize = tb_getPageSize(); var x = pagesize[0] - 150; @@ -108,51 +112,51 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic var imageWidth = imgPreloader.width; var imageHeight = imgPreloader.height; if (imageWidth > x) { - imageHeight = imageHeight * (x / imageWidth); - imageWidth = x; - if (imageHeight > y) { - imageWidth = imageWidth * (y / imageHeight); - imageHeight = y; + imageHeight = imageHeight * (x / imageWidth); + imageWidth = x; + if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; } - } else if (imageHeight > y) { - imageWidth = imageWidth * (y / imageHeight); - imageHeight = y; - if (imageWidth > x) { - imageHeight = imageHeight * (x / imageWidth); + } else if (imageHeight > y) { + imageWidth = imageWidth * (y / imageHeight); + imageHeight = y; + if (imageWidth > x) { + imageHeight = imageHeight * (x / imageWidth); imageWidth = x; } } // End Resizing - + TB_WIDTH = imageWidth + 30; TB_HEIGHT = imageHeight + 60; - jQuery("#TB_window").append(""+caption+"" + "
"+caption+"
" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "
"); - + jQuery("#TB_window").append(""+caption+"" + "
"+caption+"
" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "
"); + jQuery("#TB_closeWindowButton").click(tb_remove); - + if (!(TB_PrevHTML === "")) { function goPrev(){ if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);} jQuery("#TB_window").remove(); jQuery("body").append("
"); tb_show(TB_PrevCaption, TB_PrevURL, imageGroup); - return false; + return false; } jQuery("#TB_prev").click(goPrev); } - - if (!(TB_NextHTML === "")) { + + if (!(TB_NextHTML === "")) { function goNext(){ jQuery("#TB_window").remove(); jQuery("body").append("
"); - tb_show(TB_NextCaption, TB_NextURL, imageGroup); - return false; + tb_show(TB_NextCaption, TB_NextURL, imageGroup); + return false; } jQuery("#TB_next").click(goNext); - + } - document.onkeydown = function(e){ + document.onkeydown = function(e){ if (e == null) { // ie keycode = event.keyCode; } else { // mozilla @@ -170,18 +174,18 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic document.onkeydown = ""; goPrev(); } - } + } }; - + tb_position(); jQuery("#TB_load").remove(); jQuery("#TB_ImageOff").click(tb_remove); jQuery("#TB_window").css({display:"block"}); //for safari using css instead of show }; - + imgPreloader.src = url; }else{//code to show html - + var queryString = url.replace(/^[^\?]+\??/,''); var params = tb_parseQuery( queryString ); @@ -189,8 +193,8 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL ajaxContentW = TB_WIDTH - 30; ajaxContentH = TB_HEIGHT - 45; - - if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window + + if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window urlNoQuery = url.split('TB_'); jQuery("#TB_iframeContent").remove(); if(params['modal'] != "true"){//iframe no modal @@ -205,7 +209,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic jQuery("#TB_window").append("
"+caption+"
"); }else{//ajax modal jQuery("#TB_overlay").unbind(); - jQuery("#TB_window").append("
"); + jQuery("#TB_window").append("
"); } }else{//this means the window is already up, we are just loading new content via ajax jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px"; @@ -214,17 +218,17 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic jQuery("#TB_ajaxWindowTitle").html(caption); } } - + jQuery("#TB_closeWindowButton").click(tb_remove); - - if(url.indexOf('TB_inline') != -1){ + + if(url.indexOf('TB_inline') != -1){ jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children()); jQuery("#TB_window").unload(function () { jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished }); tb_position(); jQuery("#TB_load").remove(); - jQuery("#TB_window").css({display:"block"}); + jQuery("#TB_window").css({display:"block"}); }else if(url.indexOf('TB_iframe') != -1){ tb_position(); if($.browser.safari){//safari needs help because it will not fire iframe onload @@ -239,11 +243,11 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic jQuery("#TB_window").css({display:"block"}); }); } - + } if(!params['modal']){ - document.onkeyup = function(e){ + document.onkeyup = function(e){ if (e == null) { // ie keycode = event.keyCode; } else { // mozilla @@ -251,10 +255,10 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic } if(keycode == 27){ // close tb_remove(); - } + } }; } - + } catch(e) { //nothing here } @@ -317,5 +321,3 @@ function tb_detectMacXFF() { return true; } } - - diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php index f41023a475..20c6b46b03 100644 --- a/wp-includes/script-loader.php +++ b/wp-includes/script-loader.php @@ -164,7 +164,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'jquery-table-hotkeys', "/wp-includes/js/jquery/jquery.table-hotkeys$suffix.js", array('jquery', 'jquery-hotkeys'), '20090102' ); $scripts->add_data( 'jquery-table-hotkeys', 'group', 1 ); - $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20090123'); + $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20091117'); $scripts->add_data( 'thickbox', 'group', 1 ); $scripts->add( 'jcrop', "/wp-includes/js/jcrop/jquery.Jcrop$suffix.js", array('jquery'), '0.9.8');