WordPress.org

Make WordPress Core

Ticket #11520: print_scripts_l10n.2.diff

File print_scripts_l10n.2.diff, 8.1 KB (added by scribu, 4 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}