WordPress.org

Make WordPress Core

Ticket #44341: 44341.diff

File 44341.diff, 79.2 KB (added by sebastien@…, 21 months ago)
  • wp-includes/class-wp-editor.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    1212        public static $mce_locale;
    1313
    1414        private static $mce_settings = array();
    15         private static $qt_settings  = array();
    16         private static $plugins      = array();
    17         private static $qt_buttons   = array();
     15        private static $qt_settings = array();
     16        private static $plugins = array();
     17        private static $qt_buttons = array();
    1818        private static $ext_plugins;
    1919        private static $baseurl;
    2020        private static $first_init;
    21         private static $this_tinymce       = false;
    22         private static $this_quicktags     = false;
    23         private static $has_tinymce        = false;
    24         private static $has_quicktags      = false;
    25         private static $has_medialib       = false;
     21        private static $this_tinymce = false;
     22        private static $this_quicktags = false;
     23        private static $has_tinymce = false;
     24        private static $has_quicktags = false;
     25        private static $has_medialib = false;
    2626        private static $editor_buttons_css = true;
    27         private static $drag_drop_upload   = false;
    28         private static $old_dfw_compat     = false;
     27        private static $drag_drop_upload = false;
     28        private static $old_dfw_compat = false;
    2929        private static $translation;
    3030        private static $tinymce_scripts_printed = false;
    31         private static $link_dialog_printed     = false;
     31        private static $link_dialog_printed = false;
    3232
    33         private function __construct() {}
     33        private function __construct() {
     34        }
    3435
    3536        /**
    3637         * Parse default arguments for the editor instance.
    3738         *
    3839         * @param string $editor_id ID for the current editor instance.
    39          * @param array  $settings {
     40         * @param array $settings {
    4041         *     Array of editor arguments.
    4142         *
    42          *     @type bool       $wpautop          Whether to use wpautop(). Default true.
    43          *     @type bool       $media_buttons    Whether to show the Add Media/other media buttons.
    44          *     @type string     $default_editor    When both TinyMCE and Quicktags are used, set which
     43         * @type bool $wpautop Whether to use wpautop(). Default true.
     44         * @type bool $media_buttons Whether to show the Add Media/other media buttons.
     45         * @type string $default_editor When both TinyMCE and Quicktags are used, set which
    4546         *                                         editor is shown on page load. Default empty.
    46          *     @type bool       $drag_drop_upload Whether to enable drag & drop on the editor uploading. Default false.
     47         * @type bool $drag_drop_upload Whether to enable drag & drop on the editor uploading. Default false.
    4748         *                                         Requires the media modal.
    48          *     @type string     $textarea_name    Give the textarea a unique name here. Square brackets
     49         * @type string $textarea_name Give the textarea a unique name here. Square brackets
    4950         *                                         can be used here. Default $editor_id.
    50          *     @type int        $textarea_rows    Number rows in the editor textarea. Default 20.
    51          *     @type string|int $tabindex          Tabindex value to use. Default empty.
    52          *     @type string    $tabfocus_elements The previous and next element ID to move the focus to
     51         * @type int $textarea_rows Number rows in the editor textarea. Default 20.
     52         * @type string|int $tabindex Tabindex value to use. Default empty.
     53         * @type string $tabfocus_elements The previous and next element ID to move the focus to
    5354         *                                         when pressing the Tab key in TinyMCE. Default ':prev,:next'.
    54          *     @type string     $editor_css        Intended for extra styles for both Visual and Text editors.
     55         * @type string $editor_css Intended for extra styles for both Visual and Text editors.
    5556         *                                         Should include `<style>` tags, and can use "scoped". Default empty.
    56          *     @type string     $editor_class      Extra classes to add to the editor textarea element. Default empty.
    57          *     @type bool       $teeny            Whether to output the minimal editor config. Examples include
     57         * @type string $editor_class Extra classes to add to the editor textarea element. Default empty.
     58         * @type bool $teeny Whether to output the minimal editor config. Examples include
    5859         *                                         Press This and the Comment editor. Default false.
    59          *     @type bool       $dfw              Deprecated in 4.1. Since 4.3 used only to enqueue wp-fullscreen-stub.js
     60         * @type bool $dfw Deprecated in 4.1. Since 4.3 used only to enqueue wp-fullscreen-stub.js
    6061         *                                         for backward compatibility.
    61          *     @type bool|array $tinymce          Whether to load TinyMCE. Can be used to pass settings directly to
     62         * @type bool|array $tinymce Whether to load TinyMCE. Can be used to pass settings directly to
    6263         *                                         TinyMCE using an array. Default true.
    63          *     @type bool|array $quicktags        Whether to load Quicktags. Can be used to pass settings directly to
     64         * @type bool|array $quicktags Whether to load Quicktags. Can be used to pass settings directly to
    6465         *                                         Quicktags using an array. Default true.
    6566         * }
    6667         * @return array Parsed arguments array.
     
    7475                 *
    7576                 * @see _WP_Editors::parse_settings()
    7677                 *
    77                  * @param array  $settings Array of editor arguments.
     78                 * @param array $settings Array of editor arguments.
    7879                 * @param string $editor_id ID for the current editor instance.
    7980                 */
    8081                $settings = apply_filters( 'wp_editor_settings', $settings, $editor_id );
     
    184185                                }
    185186
    186187                                $buttons .= '<button type="button" id="' . $editor_id_attr . '-tmce" class="wp-switch-editor switch-tmce"' .
    187                                         ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Visual', 'Name for the Visual editor tab' ) . "</button>\n";
     188                                            ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Visual', 'Name for the Visual editor tab' ) . "</button>\n";
    188189                                $buttons .= '<button type="button" id="' . $editor_id_attr . '-html" class="wp-switch-editor switch-html"' .
    189                                         ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ) . "</button>\n";
     190                                            ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ) . "</button>\n";
    190191                        } else {
    191192                                $default_editor = 'tinymce';
    192193                        }
     
    258259                 */
    259260                $the_editor = apply_filters(
    260261                        'the_editor', '<div id="wp-' . $editor_id_attr . '-editor-container" class="wp-editor-container">' .
    261                         $quicktags_toolbar .
    262                         '<textarea' . $editor_class . $height . $tabindex . $autocomplete . ' cols="40" name="' . esc_attr( $set['textarea_name'] ) . '" ' .
    263                         'id="' . $editor_id_attr . '">%s</textarea></div>'
     262                                      $quicktags_toolbar .
     263                                      '<textarea' . $editor_class . $height . $tabindex . $autocomplete . ' cols="40" name="' . esc_attr( $set['textarea_name'] ) . '" ' .
     264                                      'id="' . $editor_id_attr . '">%s</textarea></div>'
    264265                );
    265266
    266267                // Prepare the content for the Visual or Text editor, only when TinyMCE is used (back-compat).
     
    273274                 *
    274275                 * @since 2.1.0
    275276                 *
    276                  * @param string $content        Default editor content.
     277                 * @param string $content Default editor content.
    277278                 * @param string $default_editor The default editor for the current user.
    278279                 *                               Either 'html' or 'tinymce'.
    279280                 */
     
    284285                        remove_filter( 'the_editor_content', 'format_for_editor' );
    285286                }
    286287
    287                 // Back-compat for the `htmledit_pre` and `richedit_pre` filters
     288        // Back-compat for the `htmledit_pre` and `richedit_pre` filters
    288289                if ( 'html' === $default_editor && has_filter( 'htmledit_pre' ) ) {
    289                         // TODO: needs _deprecated_filter(), use _deprecated_function() as substitute for now
    290                         _deprecated_function( 'add_filter( htmledit_pre )', '4.3.0', 'add_filter( format_for_editor )' );
    291                         $content = apply_filters( 'htmledit_pre', $content );
     290                        $content = apply_filters_deprecated( 'htmledit_pre', array( $content ), '4.3.0', 'format_for_editor' );
    292291                } elseif ( 'tinymce' === $default_editor && has_filter( 'richedit_pre' ) ) {
    293                         _deprecated_function( 'add_filter( richedit_pre )', '4.3.0', 'add_filter( format_for_editor )' );
    294                         $content = apply_filters( 'richedit_pre', $content );
     292                        $content = apply_filters_deprecated( 'richedit_pre', array( $content ), '4.3.0', 'format_for_editor' );
    295293                }
    296294
    297295                if ( false !== stripos( $content, 'textarea' ) ) {
     
    308306         * @global string $tinymce_version
    309307         *
    310308         * @param string $editor_id
    311          * @param array  $set
     309         * @param array $set
    312310         */
    313311        public static function editor_settings( $editor_id, $set ) {
    314312                global $tinymce_version;
     
    347345                         *
    348346                         * @since 3.3.0
    349347                         *
    350                          * @param array  $qtInit    Quicktags settings.
     348                         * @param array $qtInit Quicktags settings.
    351349                         * @param string $editor_id The unique editor ID, e.g. 'content'.
    352350                         */
    353351                        $qtInit = apply_filters( 'quicktags_settings', $qtInit, $editor_id );
     
    371369                                         *
    372370                                         * @since 2.7.0
    373371                                         *
    374                                          * @param array  $plugins  An array of teenyMCE plugins.
     372                                         * @param array $plugins An array of teenyMCE plugins.
    375373                                         * @param string $editor_id Unique editor identifier, e.g. 'content'.
    376374                                         */
    377                                         $plugins = apply_filters( 'teeny_mce_plugins', array( 'colorpicker', 'lists', 'fullscreen', 'image', 'wordpress', 'wpeditimage', 'wplink' ), $editor_id );
     375                                        $plugins = apply_filters( 'teeny_mce_plugins', array(
     376                                                'colorpicker',
     377                                                'lists',
     378                                                'fullscreen',
     379                                                'image',
     380                                                'wordpress',
     381                                                'wpeditimage',
     382                                                'wplink'
     383                                        ), $editor_id );
    378384                                } else {
    379385
    380386                                        /**
     
    463469                                                        foreach ( $mce_external_languages as $name => $path ) {
    464470                                                                if ( @is_file( $path ) && @is_readable( $path ) ) {
    465471                                                                        include_once( $path );
    466                                                                         $ext_plugins   .= $strings . "\n";
     472                                                                        $ext_plugins    .= $strings . "\n";
    467473                                                                        $loaded_langs[] = $name;
    468474                                                                }
    469475                                                        }
     
    499505
    500506                                                                if ( 'en' != $mce_locale && empty( $strings ) ) {
    501507                                                                        if ( @is_file( $path . 'en.js' ) ) {
    502                                                                                 $str1     = @file_get_contents( $path . 'en.js' );
     508                                                                                $str1    = @file_get_contents( $path . 'en.js' );
    503509                                                                                $strings .= preg_replace( '/([\'"])en\./', '$1' . $mce_locale . '.', $str1, 1 ) . "\n";
    504510                                                                        }
    505511
    506512                                                                        if ( @is_file( $path . 'en_dlg.js' ) ) {
    507                                                                                 $str2     = @file_get_contents( $path . 'en_dlg.js' );
     513                                                                                $str2    = @file_get_contents( $path . 'en_dlg.js' );
    508514                                                                                $strings .= preg_replace( '/([\'"])en\./', '$1' . $mce_locale . '.', $str2, 1 ) . "\n";
    509515                                                                        }
    510516                                                                }
     
    574580                                 *
    575581                                 * @since 2.7.0
    576582                                 *
    577                                  * @param array  $buttons  An array of teenyMCE buttons.
     583                                 * @param array $buttons An array of teenyMCE buttons.
    578584                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    579585                                 */
    580                                 $mce_buttons   = apply_filters( 'teeny_mce_buttons', array( 'bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'alignleft', 'aligncenter', 'alignright', 'undo', 'redo', 'link', 'fullscreen' ), $editor_id );
     586                                $mce_buttons   = apply_filters( 'teeny_mce_buttons', array(
     587                                        'bold',
     588                                        'italic',
     589                                        'underline',
     590                                        'blockquote',
     591                                        'strikethrough',
     592                                        'bullist',
     593                                        'numlist',
     594                                        'alignleft',
     595                                        'aligncenter',
     596                                        'alignright',
     597                                        'undo',
     598                                        'redo',
     599                                        'link',
     600                                        'fullscreen'
     601                                ), $editor_id );
    581602                                $mce_buttons_2 = $mce_buttons_3 = $mce_buttons_4 = array();
    582603                        } else {
    583                                 $mce_buttons = array( 'formatselect', 'bold', 'italic', 'bullist', 'numlist', 'blockquote', 'alignleft', 'aligncenter', 'alignright', 'link', 'wp_more', 'spellchecker' );
     604                                $mce_buttons = array(
     605                                        'formatselect',
     606                                        'bold',
     607                                        'italic',
     608                                        'bullist',
     609                                        'numlist',
     610                                        'blockquote',
     611                                        'alignleft',
     612                                        'aligncenter',
     613                                        'alignright',
     614                                        'link',
     615                                        'wp_more',
     616                                        'spellchecker'
     617                                );
    584618
    585619                                if ( ! wp_is_mobile() ) {
    586620                                        if ( $set['_content_editor_dfw'] ) {
     
    597631                                 *
    598632                                 * @since 2.0.0
    599633                                 *
    600                                  * @param array  $buttons  First-row list of buttons.
     634                                 * @param array $buttons First-row list of buttons.
    601635                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    602636                                 */
    603637                                $mce_buttons = apply_filters( 'mce_buttons', $mce_buttons, $editor_id );
    604638
    605                                 $mce_buttons_2 = array( 'strikethrough', 'hr', 'forecolor', 'pastetext', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo' );
     639                                $mce_buttons_2 = array(
     640                                        'strikethrough',
     641                                        'hr',
     642                                        'forecolor',
     643                                        'pastetext',
     644                                        'removeformat',
     645                                        'charmap',
     646                                        'outdent',
     647                                        'indent',
     648                                        'undo',
     649                                        'redo'
     650                                );
    606651
    607652                                if ( ! wp_is_mobile() ) {
    608653                                        $mce_buttons_2[] = 'wp_help';
     
    613658                                 *
    614659                                 * @since 2.0.0
    615660                                 *
    616                                  * @param array  $buttons  Second-row list of buttons.
     661                                 * @param array $buttons Second-row list of buttons.
    617662                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    618663                                 */
    619664                                $mce_buttons_2 = apply_filters( 'mce_buttons_2', $mce_buttons_2, $editor_id );
     
    623668                                 *
    624669                                 * @since 2.0.0
    625670                                 *
    626                                  * @param array  $buttons  Third-row list of buttons.
     671                                 * @param array $buttons Third-row list of buttons.
    627672                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    628673                                 */
    629674                                $mce_buttons_3 = apply_filters( 'mce_buttons_3', array(), $editor_id );
     
    633678                                 *
    634679                                 * @since 2.5.0
    635680                                 *
    636                                  * @param array  $buttons  Fourth-row list of buttons.
     681                                 * @param array $buttons Fourth-row list of buttons.
    637682                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    638683                                 */
    639684                                $mce_buttons_4 = apply_filters( 'mce_buttons_4', array(), $editor_id );
     
    657702
    658703                                if ( $page_template !== false ) {
    659704                                        $page_template = empty( $page_template ) ? 'default' : str_replace( '.', '-', basename( $page_template, '.php' ) );
    660                                         $body_class   .= ' page-template-' . sanitize_html_class( $page_template );
     705                                        $body_class    .= ' page-template-' . sanitize_html_class( $page_template );
    661706                                }
    662707                        }
    663708
     
    702747                                 *
    703748                                 * @since 2.7.0
    704749                                 *
    705                                  * @param array  $mceInit  An array with teenyMCE config.
     750                                 * @param array $mceInit An array with teenyMCE config.
    706751                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    707752                                 */
    708753                                $mceInit = apply_filters( 'teeny_mce_before_init', $mceInit, $editor_id );
     
    713758                                 *
    714759                                 * @since 2.5.0
    715760                                 *
    716                                  * @param array  $mceInit  An array with TinyMCE config.
     761                                 * @param array $mceInit An array with TinyMCE config.
    717762                                 * @param string $editor_id Unique editor identifier, e.g. 'content'.
    718763                                 */
    719764                                $mceInit = apply_filters( 'tiny_mce_before_init', $mceInit, $editor_id );
     
    730775
    731776        /**
    732777         * @param array $init
     778         *
    733779         * @return string
    734780         */
    735781        private static function _parse_init( $init ) {
     
    737783
    738784                foreach ( $init as $key => $value ) {
    739785                        if ( is_bool( $value ) ) {
    740                                 $val      = $value ? 'true' : 'false';
     786                                $val     = $value ? 'true' : 'false';
    741787                                $options .= $key . ':' . $val . ',';
    742788                                continue;
    743789                        } elseif ( ! empty( $value ) && is_string( $value ) && (
    744                                 ( '{' == $value{0} && '}' == $value{strlen( $value ) - 1} ) ||
    745                                 ( '[' == $value{0} && ']' == $value{strlen( $value ) - 1} ) ||
    746                                 preg_match( '/^\(?function ?\(/', $value ) ) ) {
     790                                        ( '{' == $value{0} && '}' == $value{strlen( $value ) - 1} ) ||
     791                                        ( '[' == $value{0} && ']' == $value{strlen( $value ) - 1} ) ||
     792                                        preg_match( '/^\(?function ?\(/', $value ) ) ) {
    747793
    748794                                $options .= $key . ':' . $value . ',';
    749795                                continue;
     
    874920                }
    875921
    876922                ?>
    877                 <script type="text/javascript">
    878                 window.wp = window.wp || {};
    879                 window.wp.editor = window.wp.editor || {};
    880                 window.wp.editor.getDefaultSettings = function() {
    881                         return {
    882                                 tinymce: <?php echo $settings; ?>,
    883                                 quicktags: {
    884                                         buttons: 'strong,em,link,ul,ol,li,code'
    885                                 }
    886                         };
    887                 };
     923        <script type="text/javascript">
     924            window.wp = window.wp || {};
     925            window.wp.editor = window.wp.editor || {};
     926            window.wp.editor.getDefaultSettings = function () {
     927                return {
     928                    tinymce: <?php echo $settings; ?>,
     929                    quicktags: {
     930                        buttons: 'strong,em,link,ul,ol,li,code'
     931                    }
     932                };
     933            };
    888934
    889                 <?php
     935                        <?php
    890936
    891                 if ( $user_can_richedit ) {
    892                         $suffix  = SCRIPT_DEBUG ? '' : '.min';
     937                        if ( $user_can_richedit ) {
     938                        $suffix = SCRIPT_DEBUG ? '' : '.min';
    893939                        $baseurl = self::get_baseurl();
    894940
    895941                        ?>
    896                         var tinyMCEPreInit = {
    897                                 baseURL: "<?php echo $baseurl; ?>",
    898                                 suffix: "<?php echo $suffix; ?>",
    899                                 mceInit: {},
    900                                 qtInit: {},
    901                                 load_ext: function(url,lang){var sl=tinymce.ScriptLoader;sl.markDone(url+'/langs/'+lang+'.js');sl.markDone(url+'/langs/'+lang+'_dlg.js');}
    902                         };
     942            var tinyMCEPreInit = {
     943                baseURL: "<?php echo $baseurl; ?>",
     944                suffix: "<?php echo $suffix; ?>",
     945                mceInit: {},
     946                qtInit: {},
     947                load_ext: function (url, lang) {
     948                    var sl = tinymce.ScriptLoader;
     949                    sl.markDone(url + '/langs/' + lang + '.js');
     950                    sl.markDone(url + '/langs/' + lang + '_dlg.js');
     951                }
     952            };
    903953                        <?php
    904                 }
    905                 ?>
    906                 </script>
     954                        }
     955                        ?>
     956        </script>
    907957                <?php
    908958
    909959                if ( $user_can_richedit ) {
     
    9581008                }
    9591009
    9601010                $settings = array(
    961                         'theme'                        => 'modern',
    962                         'skin'                         => 'lightgray',
    963                         'language'                     => self::get_mce_locale(),
    964                         'formats'                      => '{' .
    965                                 'alignleft: [' .
    966                                         '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"left"}},' .
    967                                         '{selector: "img,table,dl.wp-caption", classes: "alignleft"}' .
    968                                 '],' .
    969                                 'aligncenter: [' .
    970                                         '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"center"}},' .
    971                                         '{selector: "img,table,dl.wp-caption", classes: "aligncenter"}' .
    972                                 '],' .
    973                                 'alignright: [' .
    974                                         '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"right"}},' .
    975                                         '{selector: "img,table,dl.wp-caption", classes: "alignright"}' .
    976                                 '],' .
    977                                 'strikethrough: {inline: "del"}' .
    978                         '}',
    979                         'relative_urls'                => false,
    980                         'remove_script_host'           => false,
    981                         'convert_urls'                 => false,
    982                         'browser_spellcheck'           => true,
    983                         'fix_list_elements'            => true,
    984                         'entities'                     => '38,amp,60,lt,62,gt',
    985                         'entity_encoding'              => 'raw',
    986                         'keep_styles'                  => false,
    987                         'cache_suffix'                 => 'wp-mce-' . $tinymce_version,
    988                         'resize'                       => 'vertical',
    989                         'menubar'                      => false,
    990                         'branding'                     => false,
     1011                        'theme'              => 'modern',
     1012                        'skin'               => 'lightgray',
     1013                        'language'           => self::get_mce_locale(),
     1014                        'formats'            => '{' .
     1015                                                'alignleft: [' .
     1016                                                '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"left"}},' .
     1017                                                '{selector: "img,table,dl.wp-caption", classes: "alignleft"}' .
     1018                                                '],' .
     1019                                                'aligncenter: [' .
     1020                                                '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"center"}},' .
     1021                                                '{selector: "img,table,dl.wp-caption", classes: "aligncenter"}' .
     1022                                                '],' .
     1023                                                'alignright: [' .
     1024                                                '{selector: "p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: {textAlign:"right"}},' .
     1025                                                '{selector: "img,table,dl.wp-caption", classes: "alignright"}' .
     1026                                                '],' .
     1027                                                'strikethrough: {inline: "del"}' .
     1028                                                '}',
     1029                        'relative_urls'      => false,
     1030                        'remove_script_host' => false,
     1031                        'convert_urls'       => false,
     1032                        'browser_spellcheck' => true,
     1033                        'fix_list_elements'  => true,
     1034                        'entities'           => '38,amp,60,lt,62,gt',
     1035                        'entity_encoding'    => 'raw',
     1036                        'keep_styles'        => false,
     1037                        'cache_suffix'       => 'wp-mce-' . $tinymce_version,
     1038                        'resize'             => 'vertical',
     1039                        'menubar'            => false,
     1040                        'branding'           => false,
    9911041
    9921042                        // Limit the preview styles in the menu/toolbar
    993                         'preview_styles'               => 'font-family font-size font-weight font-style text-decoration text-transform',
     1043                        'preview_styles'     => 'font-family font-size font-weight font-style text-decoration text-transform',
    9941044
    9951045                        'end_container_on_empty_block' => true,
    9961046                        'wpeditimage_html5_captions'   => true,
     
    10041054
    10051055                // Default stylesheets
    10061056                $settings['content_css'] = includes_url( "css/dashicons$suffix.css?$version" ) . ',' .
    1007                         includes_url( "js/tinymce/skins/wordpress/wp-content.css?$version" );
     1057                                           includes_url( "js/tinymce/skins/wordpress/wp-content.css?$version" );
    10081058
    10091059                return $settings;
    10101060        }
     
    10131063                if ( empty( self::$translation ) ) {
    10141064                        self::$translation = array(
    10151065                                // Default TinyMCE strings
    1016                                 'New document'                         => __( 'New document' ),
    1017                                 'Formats'                              => _x( 'Formats', 'TinyMCE' ),
     1066                                'New document' => __( 'New document' ),
     1067                                'Formats'      => _x( 'Formats', 'TinyMCE' ),
    10181068
    1019                                 'Headings'                             => _x( 'Headings', 'TinyMCE' ),
    1020                                 'Heading 1'                            => array( __( 'Heading 1' ), 'access1' ),
    1021                                 'Heading 2'                            => array( __( 'Heading 2' ), 'access2' ),
    1022                                 'Heading 3'                            => array( __( 'Heading 3' ), 'access3' ),
    1023                                 'Heading 4'                            => array( __( 'Heading 4' ), 'access4' ),
    1024                                 'Heading 5'                            => array( __( 'Heading 5' ), 'access5' ),
    1025                                 'Heading 6'                            => array( __( 'Heading 6' ), 'access6' ),
     1069                                'Headings'     => _x( 'Headings', 'TinyMCE' ),
     1070                                'Heading 1'    => array( __( 'Heading 1' ), 'access1' ),
     1071                                'Heading 2'    => array( __( 'Heading 2' ), 'access2' ),
     1072                                'Heading 3'    => array( __( 'Heading 3' ), 'access3' ),
     1073                                'Heading 4'    => array( __( 'Heading 4' ), 'access4' ),
     1074                                'Heading 5'    => array( __( 'Heading 5' ), 'access5' ),
     1075                                'Heading 6'    => array( __( 'Heading 6' ), 'access6' ),
    10261076
    10271077                                /* translators: block tags */
    1028                                 'Blocks'                               => _x( 'Blocks', 'TinyMCE' ),
    1029                                 'Paragraph'                            => array( __( 'Paragraph' ), 'access7' ),
    1030                                 'Blockquote'                           => array( __( 'Blockquote' ), 'accessQ' ),
    1031                                 'Div'                                  => _x( 'Div', 'HTML tag' ),
    1032                                 'Pre'                                  => _x( 'Pre', 'HTML tag' ),
    1033                                 'Preformatted'                         => _x( 'Preformatted', 'HTML tag' ),
    1034                                 'Address'                              => _x( 'Address', 'HTML tag' ),
     1078                                'Blocks'       => _x( 'Blocks', 'TinyMCE' ),
     1079                                'Paragraph'    => array( __( 'Paragraph' ), 'access7' ),
     1080                                'Blockquote'   => array( __( 'Blockquote' ), 'accessQ' ),
     1081                                'Div'          => _x( 'Div', 'HTML tag' ),
     1082                                'Pre'          => _x( 'Pre', 'HTML tag' ),
     1083                                'Preformatted' => _x( 'Preformatted', 'HTML tag' ),
     1084                                'Address'      => _x( 'Address', 'HTML tag' ),
    10351085
    1036                                 'Inline'                               => _x( 'Inline', 'HTML elements' ),
    1037                                 'Underline'                            => array( __( 'Underline' ), 'metaU' ),
    1038                                 'Strikethrough'                        => array( __( 'Strikethrough' ), 'accessD' ),
    1039                                 'Subscript'                            => __( 'Subscript' ),
    1040                                 'Superscript'                          => __( 'Superscript' ),
    1041                                 'Clear formatting'                     => __( 'Clear formatting' ),
    1042                                 'Bold'                                 => array( __( 'Bold' ), 'metaB' ),
    1043                                 'Italic'                               => array( __( 'Italic' ), 'metaI' ),
    1044                                 'Code'                                 => array( __( 'Code' ), 'accessX' ),
    1045                                 'Source code'                          => __( 'Source code' ),
    1046                                 'Font Family'                          => __( 'Font Family' ),
    1047                                 'Font Sizes'                           => __( 'Font Sizes' ),
     1086                                'Inline'           => _x( 'Inline', 'HTML elements' ),
     1087                                'Underline'        => array( __( 'Underline' ), 'metaU' ),
     1088                                'Strikethrough'    => array( __( 'Strikethrough' ), 'accessD' ),
     1089                                'Subscript'        => __( 'Subscript' ),
     1090                                'Superscript'      => __( 'Superscript' ),
     1091                                'Clear formatting' => __( 'Clear formatting' ),
     1092                                'Bold'             => array( __( 'Bold' ), 'metaB' ),
     1093                                'Italic'           => array( __( 'Italic' ), 'metaI' ),
     1094                                'Code'             => array( __( 'Code' ), 'accessX' ),
     1095                                'Source code'      => __( 'Source code' ),
     1096                                'Font Family'      => __( 'Font Family' ),
     1097                                'Font Sizes'       => __( 'Font Sizes' ),
    10481098
    1049                                 'Align center'                         => array( __( 'Align center' ), 'accessC' ),
    1050                                 'Align right'                          => array( __( 'Align right' ), 'accessR' ),
    1051                                 'Align left'                           => array( __( 'Align left' ), 'accessL' ),
    1052                                 'Justify'                              => array( __( 'Justify' ), 'accessJ' ),
    1053                                 'Increase indent'                      => __( 'Increase indent' ),
    1054                                 'Decrease indent'                      => __( 'Decrease indent' ),
     1099                                'Align center'    => array( __( 'Align center' ), 'accessC' ),
     1100                                'Align right'     => array( __( 'Align right' ), 'accessR' ),
     1101                                'Align left'      => array( __( 'Align left' ), 'accessL' ),
     1102                                'Justify'         => array( __( 'Justify' ), 'accessJ' ),
     1103                                'Increase indent' => __( 'Increase indent' ),
     1104                                'Decrease indent' => __( 'Decrease indent' ),
    10551105
    1056                                 'Cut'                                  => array( __( 'Cut' ), 'metaX' ),
    1057                                 'Copy'                                 => array( __( 'Copy' ), 'metaC' ),
    1058                                 'Paste'                                => array( __( 'Paste' ), 'metaV' ),
    1059                                 'Select all'                           => array( __( 'Select all' ), 'metaA' ),
    1060                                 'Undo'                                 => array( __( 'Undo' ), 'metaZ' ),
    1061                                 'Redo'                                 => array( __( 'Redo' ), 'metaY' ),
     1106                                'Cut'        => array( __( 'Cut' ), 'metaX' ),
     1107                                'Copy'       => array( __( 'Copy' ), 'metaC' ),
     1108                                'Paste'      => array( __( 'Paste' ), 'metaV' ),
     1109                                'Select all' => array( __( 'Select all' ), 'metaA' ),
     1110                                'Undo'       => array( __( 'Undo' ), 'metaZ' ),
     1111                                'Redo'       => array( __( 'Redo' ), 'metaY' ),
    10621112
    1063                                 'Ok'                                   => __( 'OK' ),
    1064                                 'Cancel'                               => __( 'Cancel' ),
    1065                                 'Close'                                => __( 'Close' ),
    1066                                 'Visual aids'                          => __( 'Visual aids' ),
     1113                                'Ok'          => __( 'OK' ),
     1114                                'Cancel'      => __( 'Cancel' ),
     1115                                'Close'       => __( 'Close' ),
     1116                                'Visual aids' => __( 'Visual aids' ),
    10671117
    1068                                 'Bullet list'                          => array( __( 'Bulleted list' ), 'accessU' ),
    1069                                 'Numbered list'                        => array( __( 'Numbered list' ), 'accessO' ),
    1070                                 'Square'                               => _x( 'Square', 'list style' ),
    1071                                 'Default'                              => _x( 'Default', 'list style' ),
    1072                                 'Circle'                               => _x( 'Circle', 'list style' ),
    1073                                 'Disc'                                 => _x( 'Disc', 'list style' ),
    1074                                 'Lower Greek'                          => _x( 'Lower Greek', 'list style' ),
    1075                                 'Lower Alpha'                          => _x( 'Lower Alpha', 'list style' ),
    1076                                 'Upper Alpha'                          => _x( 'Upper Alpha', 'list style' ),
    1077                                 'Upper Roman'                          => _x( 'Upper Roman', 'list style' ),
    1078                                 'Lower Roman'                          => _x( 'Lower Roman', 'list style' ),
     1118                                'Bullet list'                                                                                            => array(
     1119                                        __( 'Bulleted list' ),
     1120                                        'accessU'
     1121                                ),
     1122                                'Numbered list'                                                                                          => array(
     1123                                        __( 'Numbered list' ),
     1124                                        'accessO'
     1125                                ),
     1126                                'Square'                                                                                                 => _x( 'Square', 'list style' ),
     1127                                'Default'                                                                                                => _x( 'Default', 'list style' ),
     1128                                'Circle'                                                                                                 => _x( 'Circle', 'list style' ),
     1129                                'Disc'                                                                                                   => _x( 'Disc', 'list style' ),
     1130                                'Lower Greek'                                                                                            => _x( 'Lower Greek', 'list style' ),
     1131                                'Lower Alpha'                                                                                            => _x( 'Lower Alpha', 'list style' ),
     1132                                'Upper Alpha'                                                                                            => _x( 'Upper Alpha', 'list style' ),
     1133                                'Upper Roman'                                                                                            => _x( 'Upper Roman', 'list style' ),
     1134                                'Lower Roman'                                                                                            => _x( 'Lower Roman', 'list style' ),
    10791135
    10801136                                // Anchor plugin
    1081                                 'Name'                                 => _x( 'Name', 'Name of link anchor (TinyMCE)' ),
    1082                                 'Anchor'                               => _x( 'Anchor', 'Link anchor (TinyMCE)' ),
    1083                                 'Anchors'                              => _x( 'Anchors', 'Link anchors (TinyMCE)' ),
     1137                                'Name'                                                                                                   => _x( 'Name', 'Name of link anchor (TinyMCE)' ),
     1138                                'Anchor'                                                                                                 => _x( 'Anchor', 'Link anchor (TinyMCE)' ),
     1139                                'Anchors'                                                                                                => _x( 'Anchors', 'Link anchors (TinyMCE)' ),
    10841140                                'Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.' =>
    10851141                                        __( 'Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.' ),
    1086                                 'Id'                                   => _x( 'Id', 'Id for link anchor (TinyMCE)' ),
     1142                                'Id'                                                                                                     => _x( 'Id', 'Id for link anchor (TinyMCE)' ),
    10871143
    10881144                                // Fullpage plugin
    1089                                 'Document properties'                  => __( 'Document properties' ),
    1090                                 'Robots'                               => __( 'Robots' ),
    1091                                 'Title'                                => __( 'Title' ),
    1092                                 'Keywords'                             => __( 'Keywords' ),
    1093                                 'Encoding'                             => __( 'Encoding' ),
    1094                                 'Description'                          => __( 'Description' ),
    1095                                 'Author'                               => __( 'Author' ),
     1145                                'Document properties'                                                                                    => __( 'Document properties' ),
     1146                                'Robots'                                                                                                 => __( 'Robots' ),
     1147                                'Title'                                                                                                  => __( 'Title' ),
     1148                                'Keywords'                                                                                               => __( 'Keywords' ),
     1149                                'Encoding'                                                                                               => __( 'Encoding' ),
     1150                                'Description'                                                                                            => __( 'Description' ),
     1151                                'Author'                                                                                                 => __( 'Author' ),
    10961152
    10971153                                // Media, image plugins
    1098                                 'Image'                                => __( 'Image' ),
    1099                                 'Insert/edit image'                    => array( __( 'Insert/edit image' ), 'accessM' ),
    1100                                 'General'                              => __( 'General' ),
    1101                                 'Advanced'                             => __( 'Advanced' ),
    1102                                 'Source'                               => __( 'Source' ),
    1103                                 'Border'                               => __( 'Border' ),
    1104                                 'Constrain proportions'                => __( 'Constrain proportions' ),
    1105                                 'Vertical space'                       => __( 'Vertical space' ),
    1106                                 'Image description'                    => __( 'Image description' ),
    1107                                 'Style'                                => __( 'Style' ),
    1108                                 'Dimensions'                           => __( 'Dimensions' ),
    1109                                 'Insert image'                         => __( 'Insert image' ),
    1110                                 'Date/time'                            => __( 'Date/time' ),
    1111                                 'Insert date/time'                     => __( 'Insert date/time' ),
    1112                                 'Table of Contents'                    => __( 'Table of Contents' ),
    1113                                 'Insert/Edit code sample'              => __( 'Insert/edit code sample' ),
    1114                                 'Language'                             => __( 'Language' ),
    1115                                 'Media'                                => __( 'Media' ),
    1116                                 'Insert/edit media'                    => __( 'Insert/edit media' ),
    1117                                 'Poster'                               => __( 'Poster' ),
    1118                                 'Alternative source'                   => __( 'Alternative source' ),
    1119                                 'Paste your embed code below:'         => __( 'Paste your embed code below:' ),
    1120                                 'Insert video'                         => __( 'Insert video' ),
    1121                                 'Embed'                                => __( 'Embed' ),
     1154                                'Image'                                                                                                  => __( 'Image' ),
     1155                                'Insert/edit image'                                                                                      => array(
     1156                                        __( 'Insert/edit image' ),
     1157                                        'accessM'
     1158                                ),
     1159                                'General'                                                                                                => __( 'General' ),
     1160                                'Advanced'                                                                                               => __( 'Advanced' ),
     1161                                'Source'                                                                                                 => __( 'Source' ),
     1162                                'Border'                                                                                                 => __( 'Border' ),
     1163                                'Constrain proportions'                                                                                  => __( 'Constrain proportions' ),
     1164                                'Vertical space'                                                                                         => __( 'Vertical space' ),
     1165                                'Image description'                                                                                      => __( 'Image description' ),
     1166                                'Style'                                                                                                  => __( 'Style' ),
     1167                                'Dimensions'                                                                                             => __( 'Dimensions' ),
     1168                                'Insert image'                                                                                           => __( 'Insert image' ),
     1169                                'Date/time'                                                                                              => __( 'Date/time' ),
     1170                                'Insert date/time'                                                                                       => __( 'Insert date/time' ),
     1171                                'Table of Contents'                                                                                      => __( 'Table of Contents' ),
     1172                                'Insert/Edit code sample'                                                                                => __( 'Insert/edit code sample' ),
     1173                                'Language'                                                                                               => __( 'Language' ),
     1174                                'Media'                                                                                                  => __( 'Media' ),
     1175                                'Insert/edit media'                                                                                      => __( 'Insert/edit media' ),
     1176                                'Poster'                                                                                                 => __( 'Poster' ),
     1177                                'Alternative source'                                                                                     => __( 'Alternative source' ),
     1178                                'Paste your embed code below:'                                                                           => __( 'Paste your embed code below:' ),
     1179                                'Insert video'                                                                                           => __( 'Insert video' ),
     1180                                'Embed'                                                                                                  => __( 'Embed' ),
    11221181
    11231182                                // Each of these have a corresponding plugin
    1124                                 'Special character'                    => __( 'Special character' ),
    1125                                 'Right to left'                        => _x( 'Right to left', 'editor button' ),
    1126                                 'Left to right'                        => _x( 'Left to right', 'editor button' ),
    1127                                 'Emoticons'                            => __( 'Emoticons' ),
    1128                                 'Nonbreaking space'                    => __( 'Nonbreaking space' ),
    1129                                 'Page break'                           => __( 'Page break' ),
    1130                                 'Paste as text'                        => __( 'Paste as text' ),
    1131                                 'Preview'                              => __( 'Preview' ),
    1132                                 'Print'                                => __( 'Print' ),
    1133                                 'Save'                                 => __( 'Save' ),
    1134                                 'Fullscreen'                           => __( 'Fullscreen' ),
    1135                                 'Horizontal line'                      => __( 'Horizontal line' ),
    1136                                 'Horizontal space'                     => __( 'Horizontal space' ),
    1137                                 'Restore last draft'                   => __( 'Restore last draft' ),
    1138                                 'Insert/edit link'                     => array( __( 'Insert/edit link' ), 'metaK' ),
    1139                                 'Remove link'                          => array( __( 'Remove link' ), 'accessS' ),
     1183                                'Special character'                                                                                      => __( 'Special character' ),
     1184                                'Right to left'                                                                                          => _x( 'Right to left', 'editor button' ),
     1185                                'Left to right'                                                                                          => _x( 'Left to right', 'editor button' ),
     1186                                'Emoticons'                                                                                              => __( 'Emoticons' ),
     1187                                'Nonbreaking space'                                                                                      => __( 'Nonbreaking space' ),
     1188                                'Page break'                                                                                             => __( 'Page break' ),
     1189                                'Paste as text'                                                                                          => __( 'Paste as text' ),
     1190                                'Preview'                                                                                                => __( 'Preview' ),
     1191                                'Print'                                                                                                  => __( 'Print' ),
     1192                                'Save'                                                                                                   => __( 'Save' ),
     1193                                'Fullscreen'                                                                                             => __( 'Fullscreen' ),
     1194                                'Horizontal line'                                                                                        => __( 'Horizontal line' ),
     1195                                'Horizontal space'                                                                                       => __( 'Horizontal space' ),
     1196                                'Restore last draft'                                                                                     => __( 'Restore last draft' ),
     1197                                'Insert/edit link'                                                                                       => array(
     1198                                        __( 'Insert/edit link' ),
     1199                                        'metaK'
     1200                                ),
     1201                                'Remove link'                                                                                            => array(
     1202                                        __( 'Remove link' ),
     1203                                        'accessS'
     1204                                ),
    11401205
    11411206                                // Link plugin
    1142                                 'Link'                                 => __( 'Link' ),
    1143                                 'Insert link'                          => __( 'Insert link' ),
    1144                                 'Insert/edit link'                     => __( 'Insert/edit link' ),
    1145                                 'Target'                               => __( 'Target' ),
    1146                                 'New window'                           => __( 'New window' ),
    1147                                 'Text to display'                      => __( 'Text to display' ),
    1148                                 'Url'                                  => __( 'URL' ),
    1149                                 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?' =>
     1207                                'Link'                                                                                                   => __( 'Link' ),
     1208                                'Insert link'                                                                                            => __( 'Insert link' ),
     1209                                'Insert/edit link'                                                                                       => __( 'Insert/edit link' ),
     1210                                'Target'                                                                                                 => __( 'Target' ),
     1211                                'New window'                                                                                             => __( 'New window' ),
     1212                                'Text to display'                                                                                        => __( 'Text to display' ),
     1213                                'Url'                                                                                                    => __( 'URL' ),
     1214                                'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?'      =>
    11501215                                        __( 'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?' ),
    1151                                 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?' =>
     1216                                'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?'      =>
    11521217                                        __( 'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?' ),
    11531218
    11541219                                'Color'                                => __( 'Color' ),
    11551220                                'Custom color'                         => __( 'Custom color' ),
    1156                                 'Custom...'                            => _x( 'Custom...', 'label for custom color' ), // no ellipsis
     1221                                'Custom...'                            => _x( 'Custom...', 'label for custom color' ),
     1222                                // no ellipsis
    11571223                                'No color'                             => __( 'No color' ),
    11581224                                'R'                                    => _x( 'R', 'Short for red in RGB' ),
    11591225                                'G'                                    => _x( 'G', 'Short for green in RGB' ),
     
    11851251                                'Cell properties'                      => __( 'Table cell properties' ),
    11861252                                'Border color'                         => __( 'Border color' ),
    11871253
    1188                                 'Row'                                  => __( 'Row' ),
    1189                                 'Rows'                                 => __( 'Rows' ),
    1190                                 'Column'                               => _x( 'Column', 'table column' ),
    1191                                 'Cols'                                 => _x( 'Cols', 'table columns' ),
    1192                                 'Cell'                                 => _x( 'Cell', 'table cell' ),
    1193                                 'Header cell'                          => __( 'Header cell' ),
    1194                                 'Header'                               => _x( 'Header', 'table header' ),
    1195                                 'Body'                                 => _x( 'Body', 'table body' ),
    1196                                 'Footer'                               => _x( 'Footer', 'table footer' ),
     1254                                'Row'         => __( 'Row' ),
     1255                                'Rows'        => __( 'Rows' ),
     1256                                'Column'      => _x( 'Column', 'table column' ),
     1257                                'Cols'        => _x( 'Cols', 'table columns' ),
     1258                                'Cell'        => _x( 'Cell', 'table cell' ),
     1259                                'Header cell' => __( 'Header cell' ),
     1260                                'Header'      => _x( 'Header', 'table header' ),
     1261                                'Body'        => _x( 'Body', 'table body' ),
     1262                                'Footer'      => _x( 'Footer', 'table footer' ),
    11971263
    1198                                 'Insert row before'                    => __( 'Insert row before' ),
    1199                                 'Insert row after'                     => __( 'Insert row after' ),
    1200                                 'Insert column before'                 => __( 'Insert column before' ),
    1201                                 'Insert column after'                  => __( 'Insert column after' ),
    1202                                 'Paste row before'                     => __( 'Paste table row before' ),
    1203                                 'Paste row after'                      => __( 'Paste table row after' ),
    1204                                 'Delete row'                           => __( 'Delete row' ),
    1205                                 'Delete column'                        => __( 'Delete column' ),
    1206                                 'Cut row'                              => __( 'Cut table row' ),
    1207                                 'Copy row'                             => __( 'Copy table row' ),
    1208                                 'Merge cells'                          => __( 'Merge table cells' ),
    1209                                 'Split cell'                           => __( 'Split table cell' ),
     1264                                'Insert row before'    => __( 'Insert row before' ),
     1265                                'Insert row after'     => __( 'Insert row after' ),
     1266                                'Insert column before' => __( 'Insert column before' ),
     1267                                'Insert column after'  => __( 'Insert column after' ),
     1268                                'Paste row before'     => __( 'Paste table row before' ),
     1269                                'Paste row after'      => __( 'Paste table row after' ),
     1270                                'Delete row'           => __( 'Delete row' ),
     1271                                'Delete column'        => __( 'Delete column' ),
     1272                                'Cut row'              => __( 'Cut table row' ),
     1273                                'Copy row'             => __( 'Copy table row' ),
     1274                                'Merge cells'          => __( 'Merge table cells' ),
     1275                                'Split cell'           => __( 'Split table cell' ),
    12101276
    1211                                 'Height'                               => __( 'Height' ),
    1212                                 'Width'                                => __( 'Width' ),
    1213                                 'Caption'                              => __( 'Caption' ),
    1214                                 'Alignment'                            => __( 'Alignment' ),
    1215                                 'H Align'                              => _x( 'H Align', 'horizontal table cell alignment' ),
    1216                                 'Left'                                 => __( 'Left' ),
    1217                                 'Center'                               => __( 'Center' ),
    1218                                 'Right'                                => __( 'Right' ),
    1219                                 'None'                                 => _x( 'None', 'table cell alignment attribute' ),
    1220                                 'V Align'                              => _x( 'V Align', 'vertical table cell alignment' ),
    1221                                 'Top'                                  => __( 'Top' ),
    1222                                 'Middle'                               => __( 'Middle' ),
    1223                                 'Bottom'                               => __( 'Bottom' ),
     1277                                'Height'    => __( 'Height' ),
     1278                                'Width'     => __( 'Width' ),
     1279                                'Caption'   => __( 'Caption' ),
     1280                                'Alignment' => __( 'Alignment' ),
     1281                                'H Align'   => _x( 'H Align', 'horizontal table cell alignment' ),
     1282                                'Left'      => __( 'Left' ),
     1283                                'Center'    => __( 'Center' ),
     1284                                'Right'     => __( 'Right' ),
     1285                                'None'      => _x( 'None', 'table cell alignment attribute' ),
     1286                                'V Align'   => _x( 'V Align', 'vertical table cell alignment' ),
     1287                                'Top'       => __( 'Top' ),
     1288                                'Middle'    => __( 'Middle' ),
     1289                                'Bottom'    => __( 'Bottom' ),
    12241290
    1225                                 'Row group'                            => __( 'Row group' ),
    1226                                 'Column group'                         => __( 'Column group' ),
    1227                                 'Row type'                             => __( 'Row type' ),
    1228                                 'Cell type'                            => __( 'Cell type' ),
    1229                                 'Cell padding'                         => __( 'Cell padding' ),
    1230                                 'Cell spacing'                         => __( 'Cell spacing' ),
    1231                                 'Scope'                                => _x( 'Scope', 'table cell scope attribute' ),
     1291                                'Row group'    => __( 'Row group' ),
     1292                                'Column group' => __( 'Column group' ),
     1293                                'Row type'     => __( 'Row type' ),
     1294                                'Cell type'    => __( 'Cell type' ),
     1295                                'Cell padding' => __( 'Cell padding' ),
     1296                                'Cell spacing' => __( 'Cell spacing' ),
     1297                                'Scope'        => _x( 'Scope', 'table cell scope attribute' ),
    12321298
    1233                                 'Insert template'                      => _x( 'Insert template', 'TinyMCE' ),
    1234                                 'Templates'                            => _x( 'Templates', 'TinyMCE' ),
     1299                                'Insert template' => _x( 'Insert template', 'TinyMCE' ),
     1300                                'Templates'       => _x( 'Templates', 'TinyMCE' ),
    12351301
    1236                                 'Background color'                     => __( 'Background color' ),
    1237                                 'Text color'                           => __( 'Text color' ),
    1238                                 'Show blocks'                          => _x( 'Show blocks', 'editor button' ),
    1239                                 'Show invisible characters'            => __( 'Show invisible characters' ),
     1302                                'Background color'                                                                                                                                                           => __( 'Background color' ),
     1303                                'Text color'                                                                                                                                                                 => __( 'Text color' ),
     1304                                'Show blocks'                                                                                                                                                                => _x( 'Show blocks', 'editor button' ),
     1305                                'Show invisible characters'                                                                                                                                                  => __( 'Show invisible characters' ),
    12401306
    12411307                                /* translators: word count */
    1242                                 'Words: {0}'                           => sprintf( __( 'Words: %s' ), '{0}' ),
    1243                                 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.' =>
     1308                                'Words: {0}'                                                                                                                                                                 => sprintf( __( 'Words: %s' ), '{0}' ),
     1309                                'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.'                                                               =>
    12441310                                        __( 'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.' ) . "\n\n" .
    12451311                                        __( 'If you&#8217;re looking to paste rich content from Microsoft Word, try turning this option off. The editor will clean up text pasted from Word automatically.' ),
    1246                                 'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help' =>
     1312                                'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help'                                                                                     =>
    12471313                                        __( 'Rich Text Area. Press Alt-Shift-H for help.' ),
    1248                                 'Rich Text Area. Press Control-Option-H for help.' => __( 'Rich Text Area. Press Control-Option-H for help.' ),
    1249                                 'You have unsaved changes are you sure you want to navigate away?' =>
     1314                                'Rich Text Area. Press Control-Option-H for help.'                                                                                                                           => __( 'Rich Text Area. Press Control-Option-H for help.' ),
     1315                                'You have unsaved changes are you sure you want to navigate away?'                                                                                                           =>
    12501316                                        __( 'The changes you made will be lost if you navigate away from this page.' ),
    1251                                 'Your browser doesn\'t support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.' =>
     1317                                'Your browser doesn\'t support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.'                                                        =>
    12521318                                        __( 'Your browser does not support direct access to the clipboard. Please use keyboard shortcuts or your browser&#8217;s edit menu instead.' ),
    12531319
    12541320                                // TinyMCE menus
    1255                                 'Insert'                               => _x( 'Insert', 'TinyMCE menu' ),
    1256                                 'File'                                 => _x( 'File', 'TinyMCE menu' ),
    1257                                 'Edit'                                 => _x( 'Edit', 'TinyMCE menu' ),
    1258                                 'Tools'                                => _x( 'Tools', 'TinyMCE menu' ),
    1259                                 'View'                                 => _x( 'View', 'TinyMCE menu' ),
    1260                                 'Table'                                => _x( 'Table', 'TinyMCE menu' ),
    1261                                 'Format'                               => _x( 'Format', 'TinyMCE menu' ),
     1321                                'Insert'                                                                                                                                                                     => _x( 'Insert', 'TinyMCE menu' ),
     1322                                'File'                                                                                                                                                                       => _x( 'File', 'TinyMCE menu' ),
     1323                                'Edit'                                                                                                                                                                       => _x( 'Edit', 'TinyMCE menu' ),
     1324                                'Tools'                                                                                                                                                                      => _x( 'Tools', 'TinyMCE menu' ),
     1325                                'View'                                                                                                                                                                       => _x( 'View', 'TinyMCE menu' ),
     1326                                'Table'                                                                                                                                                                      => _x( 'Table', 'TinyMCE menu' ),
     1327                                'Format'                                                                                                                                                                     => _x( 'Format', 'TinyMCE menu' ),
    12621328
    12631329                                // WordPress strings
    1264                                 'Toolbar Toggle'                       => array( __( 'Toolbar Toggle' ), 'accessZ' ),
    1265                                 'Insert Read More tag'                 => array( __( 'Insert Read More tag' ), 'accessT' ),
    1266                                 'Insert Page Break tag'                => array( __( 'Insert Page Break tag' ), 'accessP' ),
    1267                                 'Read more...'                         => __( 'Read more...' ), // Title on the placeholder inside the editor (no ellipsis)
    1268                                 'Distraction-free writing mode'        => array( __( 'Distraction-free writing mode' ), 'accessW' ),
    1269                                 'No alignment'                         => __( 'No alignment' ), // Tooltip for the 'alignnone' button in the image toolbar
    1270                                 'Remove'                               => __( 'Remove' ), // Tooltip for the 'remove' button in the image toolbar
    1271                                 'Edit|button'                          => __( 'Edit' ), // Tooltip for the 'edit' button in the image toolbar
    1272                                 'Paste URL or type to search'          => __( 'Paste URL or type to search' ), // Placeholder for the inline link dialog
    1273                                 'Apply'                                => __( 'Apply' ), // Tooltip for the 'apply' button in the inline link dialog
    1274                                 'Link options'                         => __( 'Link options' ), // Tooltip for the 'link options' button in the inline link dialog
    1275                                 'Visual'                               => _x( 'Visual', 'Name for the Visual editor tab' ), // Editor switch tab label
    1276                                 'Text'                                 => _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ), // Editor switch tab label
     1330                                'Toolbar Toggle'                                                                                                                                                             => array(
     1331                                        __( 'Toolbar Toggle' ),
     1332                                        'accessZ'
     1333                                ),
     1334                                'Insert Read More tag'                                                                                                                                                       => array(
     1335                                        __( 'Insert Read More tag' ),
     1336                                        'accessT'
     1337                                ),
     1338                                'Insert Page Break tag'                                                                                                                                                      => array(
     1339                                        __( 'Insert Page Break tag' ),
     1340                                        'accessP'
     1341                                ),
     1342                                'Read more...'                                                                                                                                                               => __( 'Read more...' ),
     1343                                // Title on the placeholder inside the editor (no ellipsis)
     1344                                'Distraction-free writing mode'                                                                                                                                              => array(
     1345                                        __( 'Distraction-free writing mode' ),
     1346                                        'accessW'
     1347                                ),
     1348                                'No alignment'                                                                                                                                                               => __( 'No alignment' ),
     1349                                // Tooltip for the 'alignnone' button in the image toolbar
     1350                                'Remove'                                                                                                                                                                     => __( 'Remove' ),
     1351                                // Tooltip for the 'remove' button in the image toolbar
     1352                                'Edit|button'                                                                                                                                                                => __( 'Edit' ),
     1353                                // Tooltip for the 'edit' button in the image toolbar
     1354                                'Paste URL or type to search'                                                                                                                                                => __( 'Paste URL or type to search' ),
     1355                                // Placeholder for the inline link dialog
     1356                                'Apply'                                                                                                                                                                      => __( 'Apply' ),
     1357                                // Tooltip for the 'apply' button in the inline link dialog
     1358                                'Link options'                                                                                                                                                               => __( 'Link options' ),
     1359                                // Tooltip for the 'link options' button in the inline link dialog
     1360                                'Visual'                                                                                                                                                                     => _x( 'Visual', 'Name for the Visual editor tab' ),
     1361                                // Editor switch tab label
     1362                                'Text'                                                                                                                                                                       => _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ),
     1363                                // Editor switch tab label
    12771364
    12781365                                // Shortcuts help modal
    1279                                 'Keyboard Shortcuts'                   => array( __( 'Keyboard Shortcuts' ), 'accessH' ),
    1280                                 'Default shortcuts,'                   => __( 'Default shortcuts,' ),
    1281                                 'Additional shortcuts,'                => __( 'Additional shortcuts,' ),
    1282                                 'Focus shortcuts:'                     => __( 'Focus shortcuts:' ),
    1283                                 'Inline toolbar (when an image, link or preview is selected)' => __( 'Inline toolbar (when an image, link or preview is selected)' ),
    1284                                 'Editor menu (when enabled)'           => __( 'Editor menu (when enabled)' ),
    1285                                 'Editor toolbar'                       => __( 'Editor toolbar' ),
    1286                                 'Elements path'                        => __( 'Elements path' ),
    1287                                 'Ctrl + Alt + letter:'                 => __( 'Ctrl + Alt + letter:' ),
    1288                                 'Shift + Alt + letter:'                => __( 'Shift + Alt + letter:' ),
    1289                                 'Cmd + letter:'                        => __( 'Cmd + letter:' ),
    1290                                 'Ctrl + letter:'                       => __( 'Ctrl + letter:' ),
    1291                                 'Letter'                               => __( 'Letter' ),
    1292                                 'Action'                               => __( 'Action' ),
    1293                                 'Warning: the link has been inserted but may have errors. Please test it.' => __( 'Warning: the link has been inserted but may have errors. Please test it.' ),
    1294                                 'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' =>
     1366                                'Keyboard Shortcuts'                                                                                                                                                         => array(
     1367                                        __( 'Keyboard Shortcuts' ),
     1368                                        'accessH'
     1369                                ),
     1370                                'Default shortcuts,'                                                                                                                                                         => __( 'Default shortcuts,' ),
     1371                                'Additional shortcuts,'                                                                                                                                                      => __( 'Additional shortcuts,' ),
     1372                                'Focus shortcuts:'                                                                                                                                                           => __( 'Focus shortcuts:' ),
     1373                                'Inline toolbar (when an image, link or preview is selected)'                                                                                                                => __( 'Inline toolbar (when an image, link or preview is selected)' ),
     1374                                'Editor menu (when enabled)'                                                                                                                                                 => __( 'Editor menu (when enabled)' ),
     1375                                'Editor toolbar'                                                                                                                                                             => __( 'Editor toolbar' ),
     1376                                'Elements path'                                                                                                                                                              => __( 'Elements path' ),
     1377                                'Ctrl + Alt + letter:'                                                                                                                                                       => __( 'Ctrl + Alt + letter:' ),
     1378                                'Shift + Alt + letter:'                                                                                                                                                      => __( 'Shift + Alt + letter:' ),
     1379                                'Cmd + letter:'                                                                                                                                                              => __( 'Cmd + letter:' ),
     1380                                'Ctrl + letter:'                                                                                                                                                             => __( 'Ctrl + letter:' ),
     1381                                'Letter'                                                                                                                                                                     => __( 'Letter' ),
     1382                                'Action'                                                                                                                                                                     => __( 'Action' ),
     1383                                'Warning: the link has been inserted but may have errors. Please test it.'                                                                                                   => __( 'Warning: the link has been inserted but may have errors. Please test it.' ),
     1384                                'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.'                                            =>
    12951385                                        __( 'To move focus to other buttons use Tab or the arrow keys. To return focus to the editor press Escape or use one of the buttons.' ),
    12961386                                'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' =>
    12971387                                        __( 'When starting a new paragraph with one of these formatting shortcuts followed by a space, the formatting will be applied automatically. Press Backspace or Escape to undo.' ),
    1298                                 'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' =>
     1388                                'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.'                                                              =>
    12991389                                        __( 'The following formatting shortcuts are replaced when pressing Enter. Press Escape or the Undo button to undo.' ),
    1300                                 'The next group of formatting shortcuts are applied as you type or when you insert them around plain text in the same paragraph. Press Escape or the Undo button to undo.' =>
     1390                                'The next group of formatting shortcuts are applied as you type or when you insert them around plain text in the same paragraph. Press Escape or the Undo button to undo.'   =>
    13011391                                        __( 'The next group of formatting shortcuts are applied as you type or when you insert them around plain text in the same paragraph. Press Escape or the Undo button to undo.' ),
    13021392                        );
    13031393                }
     
    13331423         *
    13341424         * @param string $mce_locale The locale used for the editor.
    13351425         * @param bool $json_only optional Whether to include the JavaScript calls to tinymce.addI18n() and tinymce.ScriptLoader.markDone().
     1426         *
    13361427         * @return string Translation object, JSON encoded.
    13371428         */
    13381429        public static function wp_mce_translation( $mce_locale = '', $json_only = false ) {
     
    13531444                 *
    13541445                 * @since 3.9.0
    13551446                 *
    1356                  * @param array  $mce_translation Key/value pairs of strings.
    1357                  * @param string $mce_locale      Locale.
     1447                 * @param array $mce_translation Key/value pairs of strings.
     1448                 * @param string $mce_locale Locale.
    13581449                 */
    13591450                $mce_translation = apply_filters( 'wp_mce_translation', $mce_translation, $mce_locale );
    13601451
     
    13821473                $baseurl = self::get_baseurl();
    13831474
    13841475                return "tinymce.addI18n( '$mce_locale', " . wp_json_encode( $mce_translation ) . ");\n" .
    1385                         "tinymce.ScriptLoader.markDone( '$baseurl/langs/$mce_locale.js' );\n";
     1476                       "tinymce.ScriptLoader.markDone( '$baseurl/langs/$mce_locale.js' );\n";
    13861477        }
    13871478
    13881479        /**
     
    13911482         * @since 4.8.0
    13921483         *
    13931484         * @global string $tinymce_version
    1394          * @global bool   $concatenate_scripts
    1395          * @global bool   $compress_scripts
     1485         * @global bool $concatenate_scripts
     1486         * @global bool $compress_scripts
    13961487         */
    13971488        public static function print_tinymce_scripts() {
    13981489                global $tinymce_version, $concatenate_scripts, $compress_scripts;
     
    14201511                }
    14211512
    14221513                $compressed = $compress_scripts && $concatenate_scripts && isset( $_SERVER['HTTP_ACCEPT_ENCODING'] )
    1423                         && false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && ! $has_custom_theme;
     1514                              && false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && ! $has_custom_theme;
    14241515
    14251516                // Load tinymce.js when running from /src, else load wp-tinymce.js.gz (production) or tinymce.min.js (SCRIPT_DEBUG)
    14261517                $mce_suffix = false !== strpos( get_bloginfo( 'version' ), '-src' ) ? '' : '.min';
     
    14481539
    14491540                if ( $tmce_on ) {
    14501541                        foreach ( self::$mce_settings as $editor_id => $init ) {
    1451                                 $options  = self::_parse_init( $init );
     1542                                $options = self::_parse_init( $init );
    14521543                                $mceInit .= "'$editor_id':{$options},";
    14531544                        }
    14541545                        $mceInit = '{' . trim( $mceInit, ',' ) . '}';
     
    14591550                if ( ! empty( self::$qt_settings ) ) {
    14601551                        foreach ( self::$qt_settings as $editor_id => $init ) {
    14611552                                $options = self::_parse_init( $init );
    1462                                 $qtInit .= "'$editor_id':{$options},";
     1553                                $qtInit  .= "'$editor_id':{$options},";
    14631554                        }
    14641555                        $qtInit = '{' . trim( $qtInit, ',' ) . '}';
    14651556                } else {
     
    14861577                do_action( 'before_wp_tiny_mce', self::$mce_settings );
    14871578                ?>
    14881579
    1489                 <script type="text/javascript">
    1490                 tinyMCEPreInit = {
    1491                         baseURL: "<?php echo $baseurl; ?>",
    1492                         suffix: "<?php echo $suffix; ?>",
    1493                         <?php
     1580        <script type="text/javascript">
     1581            tinyMCEPreInit = {
     1582                baseURL: "<?php echo $baseurl; ?>",
     1583                suffix: "<?php echo $suffix; ?>",
     1584                                <?php
    14941585
    1495                         if ( self::$drag_drop_upload ) {
    1496                                 echo 'dragDropUpload: true,';
    1497                         }
     1586                                if ( self::$drag_drop_upload ) {
     1587                                        echo 'dragDropUpload: true,';
     1588                                }
    14981589
    1499                         ?>
    1500                         mceInit: <?php echo $mceInit; ?>,
    1501                         qtInit: <?php echo $qtInit; ?>,
    1502                         ref: <?php echo self::_parse_init( $ref ); ?>,
    1503                         load_ext: function(url,lang){var sl=tinymce.ScriptLoader;sl.markDone(url+'/langs/'+lang+'.js');sl.markDone(url+'/langs/'+lang+'_dlg.js');}
    1504                 };
    1505                 </script>
     1590                                ?>
     1591                mceInit: <?php echo $mceInit; ?>,
     1592                qtInit: <?php echo $qtInit; ?>,
     1593                ref: <?php echo self::_parse_init( $ref ); ?>,
     1594                load_ext: function (url, lang) {
     1595                    var sl = tinymce.ScriptLoader;
     1596                    sl.markDone(url + '/langs/' + lang + '.js');
     1597                    sl.markDone(url + '/langs/' + lang + '_dlg.js');
     1598                }
     1599            };
     1600        </script>
    15061601                <?php
    15071602
    15081603                if ( $tmce_on ) {
     
    15251620                do_action( 'wp_tiny_mce_init', self::$mce_settings );
    15261621
    15271622                ?>
    1528                 <script type="text/javascript">
    1529                 <?php
     1623        <script type="text/javascript">
     1624                        <?php
    15301625
    1531                 if ( self::$ext_plugins ) {
    1532                         echo self::$ext_plugins . "\n";
    1533                 }
     1626                        if ( self::$ext_plugins ) {
     1627                                echo self::$ext_plugins . "\n";
     1628                        }
    15341629
    1535                 if ( ! is_admin() ) {
    1536                         echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";';
    1537                 }
     1630                        if ( ! is_admin() ) {
     1631                                echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";';
     1632                        }
    15381633
    1539                 ?>
     1634                        ?>
    15401635
    1541                 ( function() {
    1542                         var init, id, $wrap;
     1636            (function () {
     1637                var init, id, $wrap;
    15431638
    1544                         if ( typeof tinymce !== 'undefined' ) {
    1545                                 if ( tinymce.Env.ie && tinymce.Env.ie < 11 ) {
    1546                                         tinymce.$( '.wp-editor-wrap ' ).removeClass( 'tmce-active' ).addClass( 'html-active' );
    1547                                         return;
    1548                                 }
     1639                if (typeof tinymce !== 'undefined') {
     1640                    if (tinymce.Env.ie && tinymce.Env.ie < 11) {
     1641                        tinymce.$('.wp-editor-wrap ').removeClass('tmce-active').addClass('html-active');
     1642                        return;
     1643                    }
    15491644
    1550                                 for ( id in tinyMCEPreInit.mceInit ) {
    1551                                         init = tinyMCEPreInit.mceInit[id];
    1552                                         $wrap = tinymce.$( '#wp-' + id + '-wrap' );
     1645                    for (id in tinyMCEPreInit.mceInit) {
     1646                        init = tinyMCEPreInit.mceInit[id];
     1647                        $wrap = tinymce.$('#wp-' + id + '-wrap');
    15531648
    1554                                         if ( ( $wrap.hasClass( 'tmce-active' ) || ! tinyMCEPreInit.qtInit.hasOwnProperty( id ) ) && ! init.wp_skip_init ) {
    1555                                                 tinymce.init( init );
     1649                        if (($wrap.hasClass('tmce-active') || !tinyMCEPreInit.qtInit.hasOwnProperty(id)) && !init.wp_skip_init) {
     1650                            tinymce.init(init);
    15561651
    1557                                                 if ( ! window.wpActiveEditor ) {
    1558                                                         window.wpActiveEditor = id;
    1559                                                 }
    1560                                         }
    1561                                 }
    1562                         }
     1652                            if (!window.wpActiveEditor) {
     1653                                window.wpActiveEditor = id;
     1654                            }
     1655                        }
     1656                    }
     1657                }
    15631658
    1564                         if ( typeof quicktags !== 'undefined' ) {
    1565                                 for ( id in tinyMCEPreInit.qtInit ) {
    1566                                         quicktags( tinyMCEPreInit.qtInit[id] );
     1659                if (typeof quicktags !== 'undefined') {
     1660                    for (id in tinyMCEPreInit.qtInit) {
     1661                        quicktags(tinyMCEPreInit.qtInit[id]);
    15671662
    1568                                         if ( ! window.wpActiveEditor ) {
    1569                                                 window.wpActiveEditor = id;
    1570                                         }
    1571                                 }
    1572                         }
    1573                 }());
    1574                 </script>
     1663                        if (!window.wpActiveEditor) {
     1664                            window.wpActiveEditor = id;
     1665                        }
     1666                    }
     1667                }
     1668            }());
     1669        </script>
    15751670                <?php
    15761671
    15771672                if ( in_array( 'wplink', self::$plugins, true ) || in_array( 'link', self::$qt_buttons, true ) ) {
     
    16041699         * @since 3.1.0
    16051700         *
    16061701         * @param array $args Optional. Accepts 'pagenum' and 's' (search) arguments.
     1702         *
    16071703         * @return false|array Results.
    16081704         */
    16091705        public static function wp_link_query( $args = array() ) {
     
    16731769                 * @param array $results {
    16741770                 *     An associative array of query results.
    16751771                 *
    1676                  *     @type array {
    1677                  *         @type int    $ID        Post ID.
    1678                  *         @type string $title    The trimmed, escaped post title.
    1679                  *         @type string $permalink Post permalink.
    1680                  *         @type string $info      A 'Y/m/d'-formatted date for 'post' post type,
     1772                 * @type array {
     1773                 * @type int $ID Post ID.
     1774                 * @type string $title The trimmed, escaped post title.
     1775                 * @type string $permalink Post permalink.
     1776                 * @type string $info A 'Y/m/d'-formatted date for 'post' post type,
    16811777                 *                                 the 'singular_name' post type label otherwise.
    16821778                 *     }
    16831779                 * }
    1684                  * @param array $query  An array of WP_Query arguments.
     1780                 *
     1781                 * @param array $query An array of WP_Query arguments.
    16851782                 */
    16861783                $results = apply_filters( 'wp_link_query', $results, $query );
    16871784
     
    17031800
    17041801                // display: none is required here, see #WP27605
    17051802                ?>
    1706                 <div id="wp-link-backdrop" style="display: none"></div>
    1707                 <div id="wp-link-wrap" class="wp-core-ui" style="display: none" role="dialog" aria-labelledby="link-modal-title">
    1708                 <form id="wp-link" tabindex="-1">
    1709                 <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
    1710                 <h1 id="link-modal-title"><?php _e( 'Insert/edit link' ); ?></h1>
    1711                 <button type="button" id="wp-link-close"><span class="screen-reader-text"><?php _e( 'Close' ); ?></span></button>
    1712                 <div id="link-selector">
    1713                         <div id="link-options">
    1714                                 <p class="howto" id="wplink-enter-url"><?php _e( 'Enter the destination URL' ); ?></p>
    1715                                 <div>
    1716                                         <label><span><?php _e( 'URL' ); ?></span>
    1717                                         <input id="wp-link-url" type="text" aria-describedby="wplink-enter-url" /></label>
    1718                                 </div>
    1719                                 <div class="wp-link-text-field">
    1720                                         <label><span><?php _e( 'Link Text' ); ?></span>
    1721                                         <input id="wp-link-text" type="text" /></label>
    1722                                 </div>
    1723                                 <div class="link-target">
    1724                                         <label><span></span>
    1725                                         <input type="checkbox" id="wp-link-target" /> <?php _e( 'Open link in a new tab' ); ?></label>
    1726                                 </div>
    1727                         </div>
    1728                         <p class="howto" id="wplink-link-existing-content"><?php _e( 'Or link to existing content' ); ?></p>
    1729                         <div id="search-panel">
    1730                                 <div class="link-search-wrapper">
    1731                                         <label>
    1732                                                 <span class="search-label"><?php _e( 'Search' ); ?></span>
    1733                                                 <input type="search" id="wp-link-search" class="link-search-field" autocomplete="off" aria-describedby="wplink-link-existing-content" />
    1734                                                 <span class="spinner"></span>
    1735                                         </label>
    1736                                 </div>
    1737                                 <div id="search-results" class="query-results" tabindex="0">
    1738                                         <ul></ul>
    1739                                         <div class="river-waiting">
    1740                                                 <span class="spinner"></span>
    1741                                         </div>
    1742                                 </div>
    1743                                 <div id="most-recent-results" class="query-results" tabindex="0">
    1744                                         <div class="query-notice" id="query-notice-message">
    1745                                                 <em class="query-notice-default"><?php _e( 'No search term specified. Showing recent items.' ); ?></em>
    1746                                                 <em class="query-notice-hint screen-reader-text"><?php _e( 'Search or use up and down arrow keys to select an item.' ); ?></em>
    1747                                         </div>
    1748                                         <ul></ul>
    1749                                         <div class="river-waiting">
    1750                                                 <span class="spinner"></span>
    1751                                         </div>
    1752                                  </div>
    1753                          </div>
    1754                 </div>
    1755                 <div class="submitbox">
    1756                         <div id="wp-link-cancel">
    1757                                 <button type="button" class="button"><?php _e( 'Cancel' ); ?></button>
    1758                         </div>
    1759                         <div id="wp-link-update">
    1760                                 <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button button-primary" id="wp-link-submit" name="wp-link-submit">
    1761                         </div>
    1762                 </div>
    1763                 </form>
    1764                 </div>
     1803        <div id="wp-link-backdrop" style="display: none"></div>
     1804        <div id="wp-link-wrap" class="wp-core-ui" style="display: none" role="dialog"
     1805             aria-labelledby="link-modal-title">
     1806            <form id="wp-link" tabindex="-1">
     1807                                <?php wp_nonce_field( 'internal-linking', '_ajax_linking_nonce', false ); ?>
     1808                <h1 id="link-modal-title"><?php _e( 'Insert/edit link' ); ?></h1>
     1809                <button type="button" id="wp-link-close"><span class="screen-reader-text"><?php _e( 'Close' ); ?></span>
     1810                </button>
     1811                <div id="link-selector">
     1812                    <div id="link-options">
     1813                        <p class="howto" id="wplink-enter-url"><?php _e( 'Enter the destination URL' ); ?></p>
     1814                        <div>
     1815                            <label><span><?php _e( 'URL' ); ?></span>
     1816                                <input id="wp-link-url" type="text" aria-describedby="wplink-enter-url"/></label>
     1817                        </div>
     1818                        <div class="wp-link-text-field">
     1819                            <label><span><?php _e( 'Link Text' ); ?></span>
     1820                                <input id="wp-link-text" type="text"/></label>
     1821                        </div>
     1822                        <div class="link-target">
     1823                            <label><span></span>
     1824                                <input type="checkbox" id="wp-link-target"/> <?php _e( 'Open link in a new tab' ); ?>
     1825                            </label>
     1826                        </div>
     1827                    </div>
     1828                    <p class="howto" id="wplink-link-existing-content"><?php _e( 'Or link to existing content' ); ?></p>
     1829                    <div id="search-panel">
     1830                        <div class="link-search-wrapper">
     1831                            <label>
     1832                                <span class="search-label"><?php _e( 'Search' ); ?></span>
     1833                                <input type="search" id="wp-link-search" class="link-search-field" autocomplete="off"
     1834                                       aria-describedby="wplink-link-existing-content"/>
     1835                                <span class="spinner"></span>
     1836                            </label>
     1837                        </div>
     1838                        <div id="search-results" class="query-results" tabindex="0">
     1839                            <ul></ul>
     1840                            <div class="river-waiting">
     1841                                <span class="spinner"></span>
     1842                            </div>
     1843                        </div>
     1844                        <div id="most-recent-results" class="query-results" tabindex="0">
     1845                            <div class="query-notice" id="query-notice-message">
     1846                                <em class="query-notice-default"><?php _e( 'No search term specified. Showing recent items.' ); ?></em>
     1847                                <em class="query-notice-hint screen-reader-text"><?php _e( 'Search or use up and down arrow keys to select an item.' ); ?></em>
     1848                            </div>
     1849                            <ul></ul>
     1850                            <div class="river-waiting">
     1851                                <span class="spinner"></span>
     1852                            </div>
     1853                        </div>
     1854                    </div>
     1855                </div>
     1856                <div class="submitbox">
     1857                    <div id="wp-link-cancel">
     1858                        <button type="button" class="button"><?php _e( 'Cancel' ); ?></button>
     1859                    </div>
     1860                    <div id="wp-link-update">
     1861                        <input type="submit" value="<?php esc_attr_e( 'Add Link' ); ?>" class="button button-primary"
     1862                               id="wp-link-submit" name="wp-link-submit">
     1863                    </div>
     1864                </div>
     1865            </form>
     1866        </div>
    17651867                <?php
    17661868        }
    17671869}