WordPress.org

Make WordPress Core

Ticket #19389: 19389.patch

File 19389.patch, 2.9 KB (added by azaozz, 6 years ago)
  • wp-admin/js/editor.dev.js

     
    209209                if ( preserve_br )
    210210                        pee = pee.replace(/<wp-temp-br([^>]*)>/g, '<br$1>');
    211211
     212                if ( typeof(tinymce) != 'undefined' && tinymce.isIE )
     213                        pee = pee.replace(/<p>&nbsp;<\/p>/gi, '<p></p>');
     214
    212215                return pee;
    213216        },
    214217
  • wp-admin/js/media-upload.dev.js

     
    2626
    2727                if ( h.indexOf('[caption') === 0 ) {
    2828                        if ( ed.wpSetImgCaption )
    29                                 h = ed.wpSetImgCaption(h);
     29                                h = ed.wpSetImgCaption(h, true);
    3030                } else if ( h.indexOf('[gallery') === 0 ) {
    3131                        if ( ed.plugins.wpgallery )
    3232                                h = ed.plugins.wpgallery._do_gallery(h);
     
    7979                        var ed;
    8080
    8181                        if ( typeof(tinymce) != 'undefined' && tinymce.isIE && ( ed = tinymce.get(wpActiveEditor) ) && !ed.isHidden() ) {
    82                                 ed.focus();
    83                                 ed.windowManager.insertimagebookmark = ed.selection.getBookmark();
     82                                ed.windowManager.insertimagebookmark = ed.selection.getBookmark(2);
    8483                        }
    8584                });
    8685        });
  • wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js

     
    124124                        });
    125125
    126126                        ed.onPostProcess.add(function(ed, o) {
    127                                 if (o.get)
     127                                if ( o.get )
    128128                                        o.content = ed.wpGetImgCaption(o.content);
    129129                        });
    130130
    131                         ed.wpSetImgCaption = function(content) {
    132                                 return t._do_shcode(content);
     131                        ed.wpSetImgCaption = function(str, insert) {
     132                                return t._do_shcode(str, insert);
    133133                        };
    134134
    135                         ed.wpGetImgCaption = function(content) {
    136                                 return t._get_shcode(content);
     135                        ed.wpGetImgCaption = function(str) {
     136                                return t._get_shcode(str);
    137137                        };
    138138                },
    139139
    140                 _do_shcode : function(content) {
    141                         return content.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function(a,b,c){
     140                _do_shcode : function(str, insert) {
     141                        var ed = this.editor, n;
     142
     143                        if ( insert ) { // new image with caption inserted
     144                                n = ed.selection.getNode();
     145
     146                                if ( n && n.nodeName === 'P' && /^(?:&nbsp;|<br[^>]*>|\s|\uFEFF|\u200B)*$/.test(n.innerHTML) ) {
     147                                        // add a paragraph after the caption, the caret would go there
     148                                        if ( tinymce.isIE ) {
     149                                                str += '<p>'
     150                                        } else {
     151                                                ed.selection.select(n);
     152                                                str += '<p></p>'
     153                                        }
     154                                }
     155                        }
     156
     157                        return str.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function(a,b,c){
    142158                                var id, cls, w, cap, div_cls, img, trim = tinymce.trim;
    143159
    144160                                id = b.match(/id=['"]([^'"]*)['"] ?/);