WordPress.org

Make WordPress Core

Ticket #11520: print_scripts_l10n.2.diff

File print_scripts_l10n.2.diff, 8.1 KB (added by scribu, 7 years ago)

get rid of 'l10n_print_after' hack

  • wp-includes/class.wp-scripts.php

     
    4848        }
    4949
    5050        function print_scripts_l10n( $handle, $echo = true ) {
    51                 if ( empty($this->registered[$handle]->extra['l10n']) || empty($this->registered[$handle]->extra['l10n'][0]) || !is_array($this->registered[$handle]->extra['l10n'][1]) )
     51                if ( empty($this->registered[$handle]->extra['l10n']) || empty($this->registered[$handle]->extra['l10n'][0]) )
    5252                        return false;
    5353
    5454                $object_name = $this->registered[$handle]->extra['l10n'][0];
     55                $data = $this->registered[$handle]->extra['l10n'][1];
    5556
    56                 $data = "var $object_name = {\n";
    57                 $eol = '';
    58                 foreach ( $this->registered[$handle]->extra['l10n'][1] as $var => $val ) {
    59                         if ( 'l10n_print_after' == $var ) {
    60                                 $after = $val;
    61                                 continue;
    62                         }
    63                         $data .= "$eol\t$var: \"" . esc_js( $val ) . '"';
    64                         $eol = ",\n";
    65                 }
    66                 $data .= "\n};\n";
    67                 $data .= isset($after) ? "$after\n" : '';
     57                $output = "var $object_name = " . json_encode($data) . "; $after\n";
    6858
    69                 if ( $echo ) {
    70                         echo "<script type='text/javascript'>\n";
    71                         echo "/* <![CDATA[ */\n";
    72                         echo $data;
    73                         echo "/* ]]> */\n";
    74                         echo "</script>\n";
    75                         return true;
    76                 } else {
    77                         return $data;
    78                 }
     59                if ( !$echo )
     60                        return $output;
     61
     62                echo "<script type='text/javascript'>\n";
     63                echo "/* <![CDATA[ */\n";
     64                echo $output;
     65                echo "/* ]]> */\n";
     66                echo "</script>\n";
     67                return true;
    7968        }
    8069
    8170        function do_item( $handle, $group = false ) {
  • wp-includes/script-loader.php

     
    6868        $scripts->add_data( 'common', 'group', 1 );
    6969        $scripts->localize( 'common', 'commonL10n', array(
    7070                'warnDelete' => __("You are about to permanently delete the selected items.\n  'Cancel' to stop, 'OK' to delete."),
    71                 'l10n_print_after' => 'try{convertEntities(commonL10n);}catch(e){};'
    7271        ) );
    7372
    7473        $scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", false, '1.6.1' );
     
    8685                'enterURL' => __('Enter the URL'),
    8786                'enterImageURL' => __('Enter the URL of the image'),
    8887                'enterImageDescription' => __('Enter a description of the image'),
    89                 'l10n_print_after' => 'try{convertEntities(quicktagsL10n);}catch(e){};'
    9088        ) );
    9189
    9290        $scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array('prototype'), '3517m' );
     
    10098        $scripts->localize( 'wp-ajax-response', 'wpAjax', array(
    10199                'noPerm' => __('You do not have permission to do that.'),
    102100                'broken' => __('An unidentified error has occurred.'),
    103                 'l10n_print_after' => 'try{convertEntities(wpAjax);}catch(e){};'
    104101        ) );
    105102
    106103        $scripts->add( 'autosave', "/wp-includes/js/autosave$suffix.js", array('schedule', 'wp-ajax-response'), '20110327' );
     
    193190                        'of' => __('of'),
    194191                        'close' => __('Close'),
    195192                        'noiframes' => __('This feature requires inline frames. You have iframes disabled or your browser does not support them.'),
    196                         'l10n_print_after' => 'try{convertEntities(thickboxL10n);}catch(e){};'
    197193        ) );
    198194
    199195
     
    236232                        'crunching' => __('Crunching&hellip;'),
    237233                        'deleted' => __('moved to the trash.'),
    238234                        'error_uploading' => __('&#8220;%s&#8221; has failed to upload due to an error'),
    239                         'l10n_print_after' => 'try{convertEntities(swfuploadL10n);}catch(e){};',
    240235        ) );
    241236
    242237        $scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", false, '20090102');
     
    256251                'good' => _x('Medium', 'password strength'),
    257252                'strong' => __('Strong'),
    258253                'mismatch' => __('Mismatch'),
    259                 'l10n_print_after' => 'try{convertEntities(pwsL10n);}catch(e){};'
    260254        ) );
    261255
    262256        $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), '20110113' );
     
    271265                'save' => __('Add Link'),
    272266                'noTitle' => __('(no title)'),
    273267                'noMatchesFound' => __('No matches found.'),
    274                 'l10n_print_after' => 'try{convertEntities(wpLinkL10n);}catch(e){};',
    275268        ) );
    276269
    277270        $scripts->add( 'wpdialogs-popup', "/wp-includes/js/tinymce/plugins/wpdialogs/js/popup$suffix.js", array( 'jquery-ui-dialog' ), '20101119' );
     
    282275                $scripts->localize( 'ajaxcat', 'catL10n', array(
    283276                        'add' => esc_attr(__('Add')),
    284277                        'how' => __('Separate multiple categories with commas.'),
    285                         'l10n_print_after' => 'try{convertEntities(catL10n);}catch(e){};'
    286278                ) );
    287279
    288280                $scripts->add( 'admin-categories', "/wp-admin/js/categories$suffix.js", array('wp-lists'), '20091201' );
     
    293285                $scripts->localize( 'admin-tags', 'tagsl10n', array(
    294286                        'noPerm' => __('You do not have permission to do that.'),
    295287                        'broken' => __('An unidentified error has occurred.'),
    296                         'l10n_print_after' => 'try{convertEntities(tagsl10n);}catch(e){};'
    297288                ));
    298289
    299290                $scripts->add( 'admin-custom-fields', "/wp-admin/js/custom-fields$suffix.js", array('wp-lists'), '20090106' );
     
    338329                        'password' => __('Password Protected'),
    339330                        'privatelyPublished' => __('Privately Published'),
    340331                        'published' => __('Published'),
    341                         'l10n_print_after' => 'try{convertEntities(postL10n);}catch(e){};'
    342332                ) );
    343333
    344334                $scripts->add( 'link', "/wp-admin/js/link$suffix.js", array('wp-lists', 'postbox'), '20090526' );
     
    350340                        'cancel' => __('Cancel'),
    351341                        'edit' => __('Edit'),
    352342                        'submittedOn' => __('Submitted on:'),
    353                         'l10n_print_after' => 'try{convertEntities(commentL10n);}catch(e){};'
    354343                ) );
    355344
    356345                $scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ), '20090516' );
     
    365354                $scripts->add_data( 'word-count', 'group', 1 );
    366355                $scripts->localize( 'word-count', 'wordCountL10n', array(
    367356                        'count' => __('Word count: %d'),
    368                         'l10n_print_after' => 'try{convertEntities(wordCountL10n);}catch(e){};'
    369357                ));
    370358
    371359                $scripts->add( 'theme', "/wp-admin/js/theme$suffix.js", array( 'thickbox' ), '20110118' );
     
    380368                        'error' => __('Error while saving the changes.'),
    381369                        'ntdeltitle' => __('Remove From Bulk Edit'),
    382370                        'notitle' => __('(no title)'),
    383                         'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
    384371                ) );
    385372
    386373                $scripts->add( 'inline-edit-tax', "/wp-admin/js/inline-edit-tax$suffix.js", array( 'jquery' ), '20100615' );
    387374                $scripts->add_data( 'inline-edit-tax', 'group', 1 );
    388375                $scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array(
    389376                        'error' => __('Error while saving the changes.'),
    390                         'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
    391377                ) );
    392378
    393379                $scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'jquery', 'thickbox' ), '20110113' );
     
    395381                $scripts->localize( 'plugin-install', 'plugininstallL10n', array(
    396382                        'plugin_information' => __('Plugin Information:'),
    397383                        'ays' => __('Are you sure you want to install this plugin?'),
    398                         'l10n_print_after' => 'try{convertEntities(plugininstallL10n);}catch(e){};'
    399384                ) );
    400385
    401386                $scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
     
    421406                        'saving' => __( 'Saving...' ),
    422407                        'error' => __( 'Could not set that as the thumbnail image. Try a different attachment.' ),
    423408                        'done' => __( 'Done' ),
    424                         'l10n_print_after' => 'try{convertEntities(setPostThumbnailL10n);}catch(e){};'
    425409                ) );
    426410
    427411                // Navigation Menus
     
    430414                        'noResultsFound' => _x('No results found.', 'search results'),
    431415                        'warnDeleteMenu' => __( "You are about to permanently delete this menu. \n 'Cancel' to stop, 'OK' to delete." ),
    432416                        'saveAlert' => __('The changes you made will be lost if you navigate away from this page.'),
    433                         'l10n_print_after' => 'try{convertEntities(navMenuL10n);}catch(e){};'
    434417                ) );
    435418
    436419                $scripts->add( 'custom-background', "/wp-admin/js/custom-background$suffix.js", array('farbtastic'), '20101025' );
     
    554537                'requestFile' => admin_url('admin-ajax.php'),
    555538                'savingText' => __('Saving Draft&#8230;'),
    556539                'saveAlert' => __('The changes you made will be lost if you navigate away from this page.'),
    557                 'l10n_print_after' => 'try{convertEntities(autosaveL10n);}catch(e){};'
    558540        ) );
    559541
    560542}