WordPress.org

Make WordPress Core

Ticket #3824: uploads.diff

File uploads.diff, 9.5 KB (added by filosofo, 11 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} );