WordPress.org

Make WordPress Core

Ticket #3824: uploads.diff

File uploads.diff, 9.5 KB (added by filosofo, 8 years ago)
  • wp-includes/script-loader.php

     
    7272                $this->add( 'cropper', '/wp-includes/js/crop/cropper.js', array('scriptaculous-dragdrop'), '20070118'); 
    7373                 
    7474                $this->add( 'jquery', '/wp-includes/js/jquery/jquery.js', false, '1.1.2'); 
     75                $this->add( 'jquery-form', '/wp-includes/js/jquery/jquery.form.js', array('jquery'), '1.0.3'); 
    7576                $this->add( 'interface', '/wp-includes/js/jquery/interface.js', array('jquery'), '1.2'); 
    7677                 
    7778                if ( is_admin() ) { 
     
    113114                        $this->add( 'admin-comments', '/wp-admin/edit-comments.js', array('listman'), '20070327' ); 
    114115                        $this->add( 'admin-users', '/wp-admin/users.js', array('listman'), '4583' ); 
    115116                        $this->add( 'xfn', '/wp-admin/xfn.js', false, '3517' ); 
    116                         $this->add( 'upload', '/wp-admin/upload.js', array('prototype'), '20070306' ); 
     117                        $this->add( 'upload', '/wp-admin/upload.js', array('jquery'), '20070518' ); 
    117118                        $this->localize( 'upload', 'uploadL10n', array( 
    118119                                'browseTitle' => attribute_escape(__('Browse your files')), 
    119120                                'back' => __('« Back'), 
  • wp-admin/upload.js

     
    55                tab: '', 
    66                postID: 0, 
    77 
     8                toQueryParams: function(qryStrOrig) { 
     9                        var params = new Object(); 
     10                        var qryStr = qryStrOrig; 
     11                        var i = 0; 
     12                        do { 
     13                                params[qryStr.split("=")[0].replace(/&/, "")] = ( qryStr.split("=")[1] ) ? qryStr.split("=")[1].split(/&|$/)[0] : ''; 
     14                                qryStr = ( qryStr.split("=")[1] ) ? qryStr.split(qryStr.split("=")[1].split(/&|$/)[0])[1] : ''; 
     15                                i++; 
     16                        }  
     17                        while(i < (qryStrOrig.split("=").length - 1)); 
     18                        return params; 
     19                }, 
     20 
     21                toQueryString: function(params) { 
     22                        for ( var key in params ) 
     23                        var qryStr = ''; 
     24                        for ( key in params ) 
     25                                qryStr += key + '=' + params[key] + '&'; 
     26                        return qryStr; 
     27                }, 
     28 
    829                initializeVars: function() { 
    930                        this.urlData  = document.location.href.split('?'); 
    10                         this.params = this.urlData[1].toQueryParams(); 
     31                        this.params = this.toQueryParams(this.urlData[1]); 
    1132                        this.postID = this.params['post_id']; 
    1233                        this.tab = this.params['tab']; 
    1334                        this.style = this.params['style']; 
    1435                        this.ID = this.params['ID']; 
    1536                        if ( !this.style ) 
    1637                                this.style = 'default'; 
    17                         var nonceEl = $('nonce-value'); 
     38                        var nonceEl = jQuery('#nonce-value'); 
    1839                        if ( nonceEl ) 
    19                                 this.nonce = nonceEl.value; 
     40                                this.nonce = jQuery(nonceEl).val(); 
    2041                        if ( this.ID ) { 
    2142                                this.grabImageData( this.ID ); 
    2243                                this.imageView( this.ID ); 
     
    2647                initializeLinks: function() { 
    2748                        if ( this.ID ) 
    2849                                return; 
    29                         $$('a.file-link').each( function(i) { 
    30                                 var id = i.id.split('-').pop(); 
    31                                 i.onclick = function(e) { theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); } 
     50                        jQuery('a.file-link').each( function() { 
     51                                var id = jQuery(this).attr('id').split('-').pop(); 
     52                                jQuery(this).attr('href','javascript:void(0)'); 
     53                                jQuery(this).click( function(e) { theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); }); 
    3254                        } ); 
    3355                }, 
    3456 
    3557                grabImageData: function(id) { 
    3658                        if ( id == this.currentImage.ID ) 
    3759                                return; 
    38                         var thumbEl = $('attachment-thumb-url-' + id); 
     60                        var thumbEl = jQuery('#attachment-thumb-url-' + id); 
    3961                        if ( thumbEl ) { 
    40                                 this.currentImage.thumb = ( 0 == id ? '' : thumbEl.value ); 
    41                                 this.currentImage.thumbBase = ( 0 == id ? '' : $('attachment-thumb-url-base-' + id).value ); 
     62                                this.currentImage.thumb = ( 0 == id ? '' : jQuery(thumbEl).val() ); 
     63                                this.currentImage.thumbBase = ( 0 == id ? '' : jQuery('#attachment-thumb-url-base-' + id).val() ); 
    4264                        } else { 
    4365                                this.currentImage.thumb = false; 
    4466                        } 
    45                         this.currentImage.src = ( 0 == id ? '' : $('attachment-url-' + id).value ); 
    46                         this.currentImage.srcBase = ( 0 == id ? '' : $('attachment-url-base-' + id).value ); 
    47                         this.currentImage.page = ( 0 == id ? '' : $('attachment-page-url-' + id).value ); 
    48                         this.currentImage.title = ( 0 == id ? '' : $('attachment-title-' + id).value ); 
    49                         this.currentImage.description = ( 0 == id ? '' : $('attachment-description-' + id).value ); 
    50                         var widthEl = $('attachment-width-' + id); 
     67                        this.currentImage.src = ( 0 == id ? '' : jQuery('#attachment-url-' + id).val() ); 
     68                        this.currentImage.srcBase = ( 0 == id ? '' : jQuery('#attachment-url-base-' + id).val() ); 
     69                        this.currentImage.page = ( 0 == id ? '' : jQuery('#attachment-page-url-' + id).val() ); 
     70                        this.currentImage.title = ( 0 == id ? '' : jQuery('#attachment-title-' + id).val() ); 
     71                        this.currentImage.description = ( 0 == id ? '' : jQuery('#attachment-description-' + id).val() ); 
     72                        var widthEl = jQuery('#attachment-width-' + id); 
    5173                        if ( widthEl ) { 
    52                                 this.currentImage.width = ( 0 == id ? '' : widthEl.value ); 
    53                                 this.currentImage.height = ( 0 == id ? '' : $('attachment-height-' + id).value ); 
     74                                this.currentImage.width = ( 0 == id ? '' : jQuery(widthEl).val() ); 
     75                                this.currentImage.height = ( 0 == id ? '' : jQuery('#attachment-height-' + id).val() ); 
    5476                        } else { 
    5577                                this.currentImage.width = false; 
    5678                                this.currentImage.height = false; 
    5779                        } 
    58                         this.currentImage.isImage = ( 0 == id ? 0 : $('attachment-is-image-' + id).value ); 
     80                        this.currentImage.isImage = ( 0 == id ? 0 : jQuery('#attachment-is-image-' + id).val() ); 
    5981                        this.currentImage.ID = id; 
    6082                }, 
    6183 
     
    6587 
    6688                        h += "<div id='upload-file'>" 
    6789                        if ( this.ID ) { 
    68                                 var params = $H(this.params); 
     90                                var params = this.params; 
    6991                                params.ID = ''; 
    7092                                params.action = ''; 
    71                                 h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "'"; 
     93                                h += "<a href='" + this.urlData[0] + '?' + this.toQueryString(params) + "'"; 
    7294                        } else { 
    7395                                h += "<a href='#' onclick='return theFileList.cancelView();'"; 
    7496                        } 
     
    108130                        if ( display.length ) { 
    109131                                display.push("<br /><label for='display-title'><input type='radio' name='display' id='display-title' value='title' /> " + this.title + "</label>"); 
    110132                                h += "<tr><th style='padding-bottom:.5em'>" + this.show + "</th><td style='padding-bottom:.5em'>"; 
    111                                 $A(display).each( function(i) { h += i; } ); 
     133                                jQuery(display).each( function() { h += this; } ); 
    112134                                h += "</td></tr>"; 
    113135                        } 
    114136 
     
    125147 
    126148                        h += "</div>"; 
    127149 
    128                         new Insertion.Top('upload-content', h); 
    129                         var displayEl = $(checked); 
    130                         if ( displayEl ) 
    131                                 displayEl.checked = true; 
    132  
    133                         if (e) Event.stop(e); 
     150                        jQuery(h).prependTo('#upload-content'); 
     151                        jQuery('#' + checked).attr('checked','checked'); 
     152                        if (e) return e.stopPropagation(); 
    134153                        return false; 
    135154                }, 
    136155 
     
    144163 
    145164                        h += "<form id='upload-file' method='post' action='" + action + "'>"; 
    146165                        if ( this.ID ) { 
    147                                 var params = $H(this.params); 
     166                                var params = this.params; 
    148167                                params.ID = ''; 
    149168                                params.action = ''; 
    150                                 h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "'"; 
     169                                h += "<a href='" + this.urlData[0] + '?' + this.toQueryString(params) + "'"; 
    151170                        } else { 
    152171                                h += "<a href='#' onclick='return theFileList.cancelView();'"; 
    153172                        } 
     
    188207                        h += "<div class='submit'><input type='submit' value='" + this.saveText + "' /></div>"; 
    189208                        h += "</td></tr></table></form>"; 
    190209 
    191                         new Insertion.Top('upload-content', h); 
    192                         if (e) Event.stop(e); 
     210                        jQuery(h).prependTo('#upload-content'); 
     211                        if (e) e.stopPropagation(); 
    193212                        return false; 
    194213                }, 
    195214 
    196215                prepView: function(id) { 
    197216                        this.cancelView( true ); 
    198                         var filesEl = $('upload-files'); 
     217                        var filesEl = jQuery('#upload-files'); 
    199218                        if ( filesEl ) 
    200219                                filesEl.hide(); 
    201                         var navEl = $('current-tab-nav'); 
     220                        var navEl = jQuery('#current-tab-nav'); 
    202221                        if ( navEl ) 
    203222                                navEl.hide(); 
    204223                        this.grabImageData(id); 
     
    206225 
    207226                cancelView: function( prep ) { 
    208227                        if ( !prep ) { 
    209                                 var filesEl = $('upload-files'); 
     228                                var filesEl = jQuery('#upload-files'); 
    210229                                if ( filesEl ) 
    211                                         Element.show(filesEl); 
    212                                 var navEl = $('current-tab-nav'); 
     230                                        jQuery(filesEl).show(); 
     231                                var navEl = jQuery('#current-tab-nav'); 
    213232                                if ( navEl ) 
    214                                         Element.show(navEl); 
     233                                        jQuery(navEl).show(); 
    215234                        } 
    216235                        if ( !this.ID ) 
    217236                                this.grabImageData(0); 
    218                         var div = $('upload-file'); 
     237                        var div = jQuery('#upload-file'); 
    219238                        if ( div ) 
    220                                 Element.remove(div); 
     239                                jQuery(div).remove(); 
    221240                        return false; 
    222241                }, 
    223242 
     
    227246                        var display = ''; 
    228247                        var h = ''; 
    229248 
    230                         link = $A(document.forms.uploadoptions.elements.link).detect( function(i) { return i.checked; } ).value; 
    231                         displayEl = $A(document.forms.uploadoptions.elements.display).detect( function(i) { return i.checked; } ) 
     249                        link = jQuery('input[@type=radio][@name="link"][@checked]','#uploadoptions').val(); 
     250                        displayEl = jQuery('input[@type=radio][@name="display"][@checked]','#uploadoptions'); 
    232251                        if ( displayEl ) 
    233                                 display = displayEl.value; 
     252                                display = jQuery(displayEl).val(); 
    234253                        else if ( 1 == this.currentImage.isImage ) 
    235254                                display = 'full'; 
    236255 
     
    259278 
    260279                deleteFile: function(id) { 
    261280                        if ( confirm( this.confirmText.replace(/%title%/g, this.currentImage.title) ) ) { 
    262                                 $('action-value').value = 'delete'; 
    263                                 $('upload-file').submit(); 
     281                                jQuery('#action-value').attr('value','delete'); 
     282                                jQuery('#upload-file').submit(); 
    264283                                return true; 
    265284                        } 
    266285                        return false; 
    267286                } 
    268287 
    269288        }; 
    270         Object.extend( theFileList, uploadL10n ); 
     289 
     290        for ( var property in uploadL10n )  
     291                theFileList[property] = uploadL10n[property]; 
    271292        theFileList.initializeVars(); 
    272293        theFileList.initializeLinks(); 
    273294} );