WordPress.org

Make WordPress Core

Ticket #6453: 6453.001.diff

File 6453.001.diff, 9.0 KB (added by aaroncampbell, 9 years ago)
  • wp-includes/js/thickbox/thickbox.js

     
    44 * Copyright (c) 2007 cody lindley
    55 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
    66*/
    7                  
    8 var tb_pathToImage = "../wp-includes/js/thickbox/loadingAnimation.gif";
    9 var tb_closeImage = "../wp-includes/js/thickbox/tb-close.png";
    107
     8if ( typeof tb_pathToImage != 'string' ) {
     9        var tb_pathToImage = "../wp-includes/js/thickbox/loadingAnimation.gif";
     10}
     11if ( typeof tb_closeImage != 'string' ) {
     12        var tb_closeImage = "../wp-includes/js/thickbox/tb-close.png";
     13}
     14
    1115/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
    1216
    1317//on page load call tb_init
    14 jQuery(document).ready(function(){   
     18jQuery(document).ready(function(){
    1519        tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
    1620        imgLoader = new Image();// preload image
    1721        imgLoader.src = tb_pathToImage;
     
    4549                                jQuery("#TB_overlay").click(tb_remove);
    4650                        }
    4751                }
    48                
     52
    4953                if(tb_detectMacXFF()){
    5054                        jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
    5155                }else{
    5256                        jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
    5357                }
    54                
     58
    5559                if(caption===null){caption="";}
    5660                jQuery("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
    5761                jQuery('#TB_load').show();//show loader
    58                
     62
    5963                var baseURL;
    6064           if(url.indexOf("?")!==-1){ //ff there is a query string involved
    6165                        baseURL = url.substr(0, url.indexOf("?"));
    62            }else{ 
     66           }else{
    6367                        baseURL = url;
    6468           }
    65            
     69
    6670           var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
    6771           var urlType = baseURL.toLowerCase().match(urlString);
    6872
    6973                if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
    70                                
     74
    7175                        TB_PrevCaption = "";
    7276                        TB_PrevURL = "";
    7377                        TB_PrevHTML = "";
     
    8084                                TB_TempArray = jQuery("a[rel="+imageGroup+"]").get();
    8185                                for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
    8286                                        var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
    83                                                 if (!(TB_TempArray[TB_Counter].href == url)) {                                         
     87                                                if (!(TB_TempArray[TB_Counter].href == url)) {
    8488                                                        if (TB_FoundURL) {
    8589                                                                TB_NextCaption = TB_TempArray[TB_Counter].title;
    8690                                                                TB_NextURL = TB_TempArray[TB_Counter].href;
     
    9296                                                        }
    9397                                                } else {
    9498                                                        TB_FoundURL = true;
    95                                                         TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);                                                                                     
     99                                                        TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);
    96100                                                }
    97101                                }
    98102                        }
    99103
    100104                        imgPreloader = new Image();
    101                         imgPreloader.onload = function(){               
     105                        imgPreloader.onload = function(){
    102106                        imgPreloader.onload = null;
    103                                
     107
    104108                        // Resizing large images - orginal by Christian Montoya edited by me.
    105109                        var pagesize = tb_getPageSize();
    106110                        var x = pagesize[0] - 150;
     
    108112                        var imageWidth = imgPreloader.width;
    109113                        var imageHeight = imgPreloader.height;
    110114                        if (imageWidth > x) {
    111                                 imageHeight = imageHeight * (x / imageWidth); 
    112                                 imageWidth = x; 
    113                                 if (imageHeight > y) { 
    114                                         imageWidth = imageWidth * (y / imageHeight); 
    115                                         imageHeight = y; 
     115                                imageHeight = imageHeight * (x / imageWidth);
     116                                imageWidth = x;
     117                                if (imageHeight > y) {
     118                                        imageWidth = imageWidth * (y / imageHeight);
     119                                        imageHeight = y;
    116120                                }
    117                         } else if (imageHeight > y) { 
    118                                 imageWidth = imageWidth * (y / imageHeight); 
    119                                 imageHeight = y; 
    120                                 if (imageWidth > x) { 
    121                                         imageHeight = imageHeight * (x / imageWidth); 
     121                        } else if (imageHeight > y) {
     122                                imageWidth = imageWidth * (y / imageHeight);
     123                                imageHeight = y;
     124                                if (imageWidth > x) {
     125                                        imageHeight = imageHeight * (x / imageWidth);
    122126                                        imageWidth = x;
    123127                                }
    124128                        }
    125129                        // End Resizing
    126                        
     130
    127131                        TB_WIDTH = imageWidth + 30;
    128132                        TB_HEIGHT = imageHeight + 60;
    129                         jQuery("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'><img src='" + tb_closeImage + "' /></a></div>");         
    130                        
     133                        jQuery("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'><img src='" + tb_closeImage + "' /></a></div>");
     134
    131135                        jQuery("#TB_closeWindowButton").click(tb_remove);
    132                        
     136
    133137                        if (!(TB_PrevHTML === "")) {
    134138                                function goPrev(){
    135139                                        if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);}
    136140                                        jQuery("#TB_window").remove();
    137141                                        jQuery("body").append("<div id='TB_window'></div>");
    138142                                        tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
    139                                         return false;   
     143                                        return false;
    140144                                }
    141145                                jQuery("#TB_prev").click(goPrev);
    142146                        }
    143                        
    144                         if (!(TB_NextHTML === "")) {           
     147
     148                        if (!(TB_NextHTML === "")) {
    145149                                function goNext(){
    146150                                        jQuery("#TB_window").remove();
    147151                                        jQuery("body").append("<div id='TB_window'></div>");
    148                                         tb_show(TB_NextCaption, TB_NextURL, imageGroup);                               
    149                                         return false;   
     152                                        tb_show(TB_NextCaption, TB_NextURL, imageGroup);
     153                                        return false;
    150154                                }
    151155                                jQuery("#TB_next").click(goNext);
    152                                
     156
    153157                        }
    154158
    155                         document.onkeydown = function(e){       
     159                        document.onkeydown = function(e){
    156160                                if (e == null) { // ie
    157161                                        keycode = event.keyCode;
    158162                                } else { // mozilla
     
    170174                                                document.onkeydown = "";
    171175                                                goPrev();
    172176                                        }
    173                                 }       
     177                                }
    174178                        };
    175                        
     179
    176180                        tb_position();
    177181                        jQuery("#TB_load").remove();
    178182                        jQuery("#TB_ImageOff").click(tb_remove);
    179183                        jQuery("#TB_window").css({display:"block"}); //for safari using css instead of show
    180184                        };
    181                        
     185
    182186                        imgPreloader.src = url;
    183187                }else{//code to show html
    184                        
     188
    185189                        var queryString = url.replace(/^[^\?]+\??/,'');
    186190                        var params = tb_parseQuery( queryString );
    187191
     
    189193                        TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
    190194                        ajaxContentW = TB_WIDTH - 30;
    191195                        ajaxContentH = TB_HEIGHT - 45;
    192                        
    193                         if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window             
     196
     197                        if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window
    194198                                        urlNoQuery = url.split('TB_');
    195199                                        jQuery("#TB_iframeContent").remove();
    196200                                        if(params['modal'] != "true"){//iframe no modal
     
    205209                                                jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'><img src='" + tb_closeImage + "' /></a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
    206210                                                }else{//ajax modal
    207211                                                jQuery("#TB_overlay").unbind();
    208                                                 jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");   
     212                                                jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
    209213                                                }
    210214                                        }else{//this means the window is already up, we are just loading new content via ajax
    211215                                                jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
     
    214218                                                jQuery("#TB_ajaxWindowTitle").html(caption);
    215219                                        }
    216220                        }
    217                                        
     221
    218222                        jQuery("#TB_closeWindowButton").click(tb_remove);
    219                        
    220                                 if(url.indexOf('TB_inline') != -1){     
     223
     224                                if(url.indexOf('TB_inline') != -1){
    221225                                        jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
    222226                                        jQuery("#TB_window").unload(function () {
    223227                                                jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished
    224228                                        });
    225229                                        tb_position();
    226230                                        jQuery("#TB_load").remove();
    227                                         jQuery("#TB_window").css({display:"block"}); 
     231                                        jQuery("#TB_window").css({display:"block"});
    228232                                }else if(url.indexOf('TB_iframe') != -1){
    229233                                        tb_position();
    230234                                        if($.browser.safari){//safari needs help because it will not fire iframe onload
     
    239243                                                jQuery("#TB_window").css({display:"block"});
    240244                                        });
    241245                                }
    242                        
     246
    243247                }
    244248
    245249                if(!params['modal']){
    246                         document.onkeyup = function(e){         
     250                        document.onkeyup = function(e){
    247251                                if (e == null) { // ie
    248252                                        keycode = event.keyCode;
    249253                                } else { // mozilla
     
    251255                                }
    252256                                if(keycode == 27){ // close
    253257                                        tb_remove();
    254                                 }       
     258                                }
    255259                        };
    256260                }
    257                
     261
    258262        } catch(e) {
    259263                //nothing here
    260264        }
     
    317321    return true;
    318322  }
    319323}
    320 
    321