]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/mce-view.js
WordPress 4.4
[autoinstalls/wordpress.git] / wp-includes / js / mce-view.js
index c0ae668062f6d1be5e6d63e150aaab26bae9af5d..b532cb97a57372ffab9f3bff1618d143e5664181 100644 (file)
 
                                                // Add the processed piece for the match.
                                                pieces.push( {
-                                                       content: '<p data-wpview-marker="' + instance.encodedText + '">' + text + '</p>',
+                                                       content: instance.ignore ? text : '<p data-wpview-marker="' + instance.encodedText + '">' + text + '</p>',
                                                        processed: true
                                                } );
 
  * and a view for embeddable URLs.
  */
 ( function( window, views, media, $ ) {
-       var base, gallery, av, embed;
+       var base, gallery, av, embed,
+               schema, parser, serializer;
+
+       function verifyHTML( string ) {
+               var settings = {};
+
+               if ( ! window.tinymce ) {
+                       return string.replace( /<[^>]+>/g, '' );
+               }
+
+               if ( ! string || ( string.indexOf( '<' ) === -1 && string.indexOf( '>' ) === -1 ) ) {
+                       return string;
+               }
+
+               schema = schema || new window.tinymce.html.Schema( settings );
+               parser = parser || new window.tinymce.html.DomParser( settings, schema );
+               serializer = serializer || new window.tinymce.html.Serializer( settings, schema );
+
+               return serializer.serialize( parser.parse( string, { forced_root_block: false } ) );
+       }
 
        base = {
                state: [],
                                } );
 
                                self.render( self.template( {
+                                       verifyHTML: verifyHTML,
                                        attachments: attachments,
                                        columns: attrs.columns ? parseInt( attrs.columns, 10 ) : media.galleryDefaults.columns
                                } ) );
                        } )
                        .fail( function( response ) {
                                if ( self.url ) {
+                                       self.ignore = true;
                                        self.removeMarkers();
                                } else {
                                        self.setError( response.message || response.statusText, 'admin-media' );