Ticket #28753: 28753.4.diff
| File 28753.4.diff, 22.1 KB (added by , 12 years ago) |
|---|
-
src/wp-admin/css/forms.css
751 751 margin: -3px 3px; 752 752 } 753 753 754 /*------------------------------------------------------------------------------ 755 21.0 - Upload File 756 ------------------------------------------------------------------------------*/ 757 758 .wp-upload-container { 759 -webkit-box-sizing: border-box; 760 -moz-box-sizing: border-box; 761 box-sizing: border-box; 762 margin: 0px 0 0; 763 padding: 0; 764 width: 100%; 765 overflow: hidden; 766 position: relative; 767 top: 10px; 768 } 769 .wp-upload-container-hidden { 770 display: none; 771 } 772 .wp-upload-container .wp-upload-form { 773 background: #fafafa; 774 border: 1px solid #e5e5e5; 775 padding: 30px; 776 margin: 30px auto; 777 max-width: 380px; 778 } 779 .wp-upload-container .install-help { 780 color: #999; 781 font-size: 18px; 782 font-style: normal; 783 margin: 0; 784 padding: 40px 0 0; 785 text-align: center; 786 } 787 788 body.show-upload-container .hide-on-upload, 789 body.show-upload-container .wp-upload-show { 790 display: none; 791 } 792 body.show-upload-container .wp-upload-container-hidden { 793 display: block; 794 } 795 796 .wp-upload-hide { 797 display: none; 798 } 799 body.show-upload-container .wp-upload-hide { 800 display: inline; 801 } 802 754 803 /* =Media Queries 755 804 -------------------------------------------------------------- */ 756 805 806 @media only screen and (max-width: 1120px) { 807 .wp-upload-container .wp-upload-form { 808 margin: 20px 0; 809 max-width: 100%; 810 } 811 .wp-upload-container .install-help { 812 font-size: 15px; 813 padding: 20px 0 0; 814 text-align: left; 815 } 816 } 817 757 818 @media screen and ( max-width: 782px ) { 758 819 /* Input Elements */ 759 820 textarea { -
src/wp-admin/css/themes.css
1103 1103 position: relative; 1104 1104 width: 100%; 1105 1105 } 1106 .theme-install-php a.upload,1107 .theme-install-php a.browse-themes {1108 cursor: pointer;1109 }1110 .theme-install-php a.browse-themes,1111 .theme-install-php.show-upload-theme a.upload {1112 display: none;1113 }1114 .theme-install-php.show-upload-theme a.browse-themes {1115 display: inline;1116 }1117 .upload-theme {1118 -webkit-box-sizing: border-box;1119 -moz-box-sizing: border-box;1120 box-sizing: border-box;1121 display: none;1122 margin: 0px 0 0;1123 padding: 0;1124 width: 100%;1125 overflow: hidden;1126 position: relative;1127 top: 10px;1128 }1129 body.show-upload-theme .upload-theme {1130 display: block;1131 }1132 .upload-theme .wp-upload-form {1133 background: #fafafa;1134 border: 1px solid #e5e5e5;1135 padding: 30px;1136 margin: 30px auto;1137 max-width: 380px;1138 }1139 .upload-theme .install-help {1140 color: #999;1141 font-size: 18px;1142 font-style: normal;1143 margin: 0;1144 padding: 40px 0 0;1145 text-align: center;1146 }1147 body.show-upload-theme .upload-theme + .theme-navigation,1148 body.show-upload-theme .upload-theme + .theme-navigation + .theme-browser {1149 display: none;1150 }1151 1106 .theme-navigation .theme-count { 1152 1107 margin-left: 0; 1153 1108 position: absolute; … … 1340 1295 body.no-results p.no-themes { 1341 1296 display: block; 1342 1297 } 1343 body.show-upload- themep.no-themes {1298 body.show-upload-container p.no-themes { 1344 1299 display: none !important; 1345 1300 } 1346 1301 … … 1358 1313 .more-filters-container { 1359 1314 border-bottom: 1px solid #eee; 1360 1315 } 1361 .upload-theme .wp-upload-form {1362 margin: 20px 0;1363 max-width: 100%;1364 }1365 .upload-theme .install-help {1366 font-size: 15px;1367 padding: 20px 0 0;1368 text-align: left;1369 }1370 1316 .more-filters-container .filters-group { 1371 1317 margin-bottom: 0; 1372 1318 margin-top: 5px; -
src/wp-admin/includes/class-wp-plugin-install-list-table.php
27 27 // These are the tabs which are shown on the page 28 28 $tabs = array(); 29 29 $tabs['dashboard'] = __( 'Search' ); 30 if ( 'search' == $tab ) 30 if ( 'search' == $tab ) { 31 31 $tabs['search'] = __( 'Search Results' ); 32 $tabs['upload'] = __( 'Upload' );32 } 33 33 $tabs['featured'] = _x( 'Featured', 'Plugin Installer' ); 34 34 $tabs['popular'] = _x( 'Popular', 'Plugin Installer' ); 35 35 $tabs['new'] = _x( 'Newest', 'Plugin Installer' ); 36 36 $tabs['favorites'] = _x( 'Favorites', 'Plugin Installer' ); 37 37 if ( $tab === 'beta' || false !== strpos( $GLOBALS['wp_version'], '-' ) ) { 38 $tabs['beta'] = _x( 'Beta Testing', 'Plugin Installer' );38 $tabs['beta'] = _x( 'Beta Testing', 'Plugin Installer' ); 39 39 } 40 40 41 41 $nonmenu_tabs = array( 'plugin-information' ); //Valid actions to perform which do not have a Menu item. … … 46 46 * @since 2.7.0 47 47 * 48 48 * @param array $tabs The tabs shown on the Plugin Install screen. Defaults are 'dashboard', 'search', 49 * ' upload', 'featured', 'popular', 'new', and 'favorites'.49 * 'featured', 'popular', 'new', and 'favorites'. 50 50 */ 51 51 $tabs = apply_filters( 'install_plugins_tabs', $tabs ); 52 52 … … 112 112 * Filter API request arguments for each Plugin Install screen tab. 113 113 * 114 114 * The dynamic portion of the hook name, $tab, refers to the plugin install tabs. 115 * Default tabs are 'dashboard', 'search', ' upload', 'featured', 'popular', 'new',115 * Default tabs are 'dashboard', 'search', 'featured', 'popular', 'new', 116 116 * and 'favorites'. 117 117 * 118 118 * @since 3.7.0 -
src/wp-admin/includes/plugin-install.php
126 126 127 127 function install_dashboard() { 128 128 ?> 129 <p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="%1$s">WordPress Plugin Directory</a> or upload a plugin in .zip format via <a href="%2$s">this page</a>.' ), 'https://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?tab=upload' ) ); ?></p>129 <p><?php printf( __( 'Plugins extend and expand the functionality of WordPress. You may automatically install plugins from the <a href="%1$s">WordPress Plugin Directory</a> or <a href="%2$s" class="wp-upload-show">upload a plugin</a> in .zip format.' ), 'https://wordpress.org/plugins/', self_admin_url( 'plugin-install.php?upload' ) ); ?></p> 130 130 131 131 <h4><?php _e('Search') ?></h4> 132 132 <?php install_search_form( false ); ?> … … 187 187 */ 188 188 function install_plugins_upload( $page = 1 ) { 189 189 ?> 190 <h4><?php _e('Install a plugin in .zip format'); ?></h4> 191 <p class="install-help"><?php _e('If you have a plugin in a .zip format, you may install it by uploading it here.'); ?></p> 192 <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-plugin'); ?>"> 193 <?php wp_nonce_field( 'plugin-upload'); ?> 194 <label class="screen-reader-text" for="pluginzip"><?php _e('Plugin zip file'); ?></label> 195 <input type="file" id="pluginzip" name="pluginzip" /> 196 <?php submit_button( __( 'Install Now' ), 'button', 'install-plugin-submit', false ); ?> 197 </form> 190 <div class="wp-upload-container wp-upload-container-hidden"> 191 <p class="install-help"><?php _e( 'If you have a plugin in a .zip format, you may install it by uploading it here.' ); ?></p> 192 <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url( 'update.php?action=upload-plugin' ); ?>"> 193 <?php wp_nonce_field( 'plugin-upload' ); ?> 194 <label class="screen-reader-text" for="pluginzip"><?php _e( 'Plugin zip file' ); ?></label> 195 <input type="file" id="pluginzip" name="pluginzip" /> 196 <?php submit_button( __( 'Install Now' ), 'button', 'install-plugin-submit', false ); ?> 197 </form> 198 </div> 198 199 <?php 199 200 } 200 201 add_action('install_plugins_upload', 'install_plugins_upload', 10, 1); -
src/wp-admin/includes/theme-install.php
6 6 * @subpackage Administration 7 7 */ 8 8 9 $themes_allowedtags = array('a' => array('href' => array(), 'title' => array(), 'target' => array()), 9 $themes_allowedtags = array( 10 'a' => array('href' => array(), 'title' => array(), 'target' => array()), 10 11 'abbr' => array('title' => array()), 'acronym' => array('title' => array()), 11 12 'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(), 12 13 'div' => array(), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(), … … 136 137 137 138 function install_themes_upload() { 138 139 ?> 139 <p class="install-help"><?php _e('If you have a theme in a .zip format, you may install it by uploading it here.'); ?></p> 140 <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url('update.php?action=upload-theme'); ?>"> 141 <?php wp_nonce_field( 'theme-upload'); ?> 142 <input type="file" name="themezip" /> 143 <?php submit_button( __( 'Install Now' ), 'button', 'install-theme-submit', false ); ?> 144 </form> 145 <?php 140 <div class="wp-upload-container wp-upload-container-hidden"> 141 <p class="install-help"><?php _e( 'If you have a theme in a .zip format, you may install it by uploading it here.' ); ?></p> 142 <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo self_admin_url( 'update.php?action=upload-theme' ); ?>"> 143 <?php wp_nonce_field( 'theme-upload' ); ?> 144 <input type="file" name="themezip" /> 145 <?php submit_button( __( 'Install Now' ), 'button', 'install-theme-submit', false ); ?> 146 </form> 147 </div> 148 <?php 146 149 } 147 150 // add_action('install_themes_upload', 'install_themes_upload', 10, 0); 148 151 -
src/wp-admin/js/plugin-install.js
1 /* global plugininstallL10n, tb_click, confirm */ 1 window.wp = window.wp || {}; 2 2 3 /* Plugin Browser Thickbox related JS*/ 4 var tb_position; 5 jQuery( document ).ready( function( $ ) { 6 tb_position = function() { 7 var tbWindow = $( '#TB_window' ), 8 width = $( window ).width(), 9 H = $( window ).height() - ( ( 850 < width ) ? 60 : 20 ), 10 W = ( 850 < width ) ? 830 : width - 20; 3 (function($) { 11 4 12 if ( tbWindow.size() ) { 13 tbWindow.width( W ).height( H ); 14 $( '#TB_iframeContent' ).width( W ).height( H ); 15 tbWindow.css({ 16 'margin-left': '-' + parseInt( ( W / 2 ), 10 ) + 'px' 5 // Set up our namespace... 6 var plugins, l10n; 7 plugins = wp.plugins = wp.plugins || {}; 8 9 // Store the plugin data and settings for organized and quick access 10 plugins.data = _wpPluginSettings; 11 l10n = plugins.data.l10n; 12 13 // Setup app structure 14 _.extend( plugins, { view: {}, routes: {} }); 15 16 plugins.InstallerRouter = Backbone.Router.extend({ 17 18 routes: { 19 'plugin-install.php?upload': 'upload', 20 'plugin-install.php': 'sort' 21 }, 22 23 baseUrl: function( url ) { 24 return 'plugin-install.php' + url; 25 }, 26 27 navigate: function() { 28 if ( Backbone.history._hasPushState ) { 29 Backbone.Router.prototype.navigate.apply( this, arguments ); 30 } 31 } 32 33 }); 34 35 plugins.view.Installer = wp.Backbone.View.extend({ 36 37 // Initial render method 38 render: function() { 39 var self = this; 40 41 this.uploader(); 42 }, 43 44 uploader: function() { 45 $( '.wp-upload-show' ).on( 'click', function( event ) { 46 event.preventDefault(); 47 $( 'body' ).addClass( 'show-upload-container' ); 48 plugins.router.navigate( plugins.router.baseUrl( '?upload' ), { replace: true } ); 17 49 }); 18 if ( typeof document.body.style.maxWidth !== 'undefined' ) { 50 $( '.wp-upload-hide' ).on( 'click', function( event ) { 51 event.preventDefault(); 52 $( 'body' ).removeClass( 'show-upload-container' ); 53 plugins.router.navigate( plugins.router.baseUrl( '' ), { replace: true } ); 54 }); 55 }, 56 57 }); 58 59 plugins.RunInstaller = { 60 61 init: function() { 62 this.view = new plugins.view.Installer(); 63 this.render(); 64 }, 65 66 render: function() { 67 this.routes(); 68 this.view.render(); 69 70 Backbone.history.start({ 71 root: plugins.data.settings.adminUrl, 72 pushState: true, 73 hashChange: false 74 }); 75 }, 76 77 routes: function() { 78 var self = this, 79 request = {}; 80 81 // Bind to our global `wp.plugins` object 82 plugins.router = new plugins.InstallerRouter(); 83 84 // Support the `upload` route by going straight to upload section 85 plugins.router.on( 'route:upload', function() { 86 $( '.wp-upload-show' ).trigger( 'click' ); 87 }); 88 }, 89 90 } 91 92 // Ready... 93 $( document ).ready(function() { 94 95 plugins.RunInstaller.init(); 96 97 }); 98 99 // Plugin Browser Thickbox related JS 100 var tb_position; 101 $( document ).ready(function() { 102 tb_position = function() { 103 var tbWindow = $( '#TB_window' ), 104 width = $( window ).width(), 105 H = $( window ).height() - ( ( 850 < width ) ? 60 : 20 ), 106 W = ( 850 < width ) ? 830 : width - 20; 107 108 if ( tbWindow.size() ) { 109 tbWindow.width( W ).height( H ); 110 $( '#TB_iframeContent' ).width( W ).height( H ); 19 111 tbWindow.css({ 20 'top': ( ( 850 < width ) ? 30 : 10 ) + 'px', 21 'margin-top': '0' 112 'margin-left': '-' + parseInt( ( W / 2 ), 10 ) + 'px' 22 113 }); 114 if ( typeof document.body.style.maxWidth !== 'undefined' ) { 115 tbWindow.css({ 116 'top': ( ( 850 < width ) ? 30 : 10 ) + 'px', 117 'margin-top': '0' 118 }); 119 } 23 120 } 24 }25 121 26 return $( 'a.thickbox' ).each( function() { 27 var href = $( this ).attr( 'href' ); 28 if ( ! href ) { 29 return; 30 } 31 href = href.replace( /&width=[0-9]+/g, '' ); 32 href = href.replace( /&height=[0-9]+/g, '' ); 33 $(this).attr( 'href', href + '&width=' + W + '&height=' + ( H ) ); 122 return $( 'a.thickbox' ).each( function() { 123 var href = $( this ).attr( 'href' ); 124 if ( ! href ) { 125 return; 126 } 127 href = href.replace( /&width=[0-9]+/g, '' ); 128 href = href.replace( /&height=[0-9]+/g, '' ); 129 $(this).attr( 'href', href + '&width=' + W + '&height=' + ( H ) ); 130 }); 131 }; 132 133 $( window ).resize( function() { 134 tb_position(); 34 135 }); 35 };36 136 37 $( window ).resize( function() { 38 tb_position(); 39 }); 137 $('.plugins').on( 'click', 'a.thickbox', function() { 138 tb_click.call(this); 40 139 41 $('.plugins').on( 'click', 'a.thickbox', function() { 42 tb_click.call(this); 140 $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'}); 141 $('#TB_ajaxWindowTitle').html('<strong>' + l10n.pluginInformation + '</strong> ' + $(this).attr('title') ); 142 return false; 143 }); 43 144 44 $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'}); 45 $('#TB_ajaxWindowTitle').html('<strong>' + plugininstallL10n.plugin_information + '</strong> ' + $(this).attr('title') ); 46 return false; 47 }); 145 /* Plugin install related JS*/ 146 $( '#plugin-information-tabs a' ).click( function( event ) { 147 var tab = $( this ).attr( 'name' ); 148 event.preventDefault(); 149 //Flip the tab 150 $( '#plugin-information-tabs a.current' ).removeClass( 'current' ); 151 $( this ).addClass( 'current' ); 152 //Only show the fyi box in the description section, on smaller screen, where it's otherwise always displayed at the top. 153 if ( 'description' != $( this ).attr( 'name' ) && $( 'body').width() < 830 ) 154 $( '#plugin-information-content div.fyi' ).hide(); 155 else 156 $( '#plugin-information-content div.fyi' ).show(); 157 //Flip the content. 158 $( '#section-holder div.section' ).hide(); //Hide 'em all 159 $( '#section-' + tab ).show(); 160 }); 48 161 49 /* Plugin install related JS*/ 50 $( '#plugin-information-tabs a' ).click( function( event ) { 51 var tab = $( this ).attr( 'name' ); 52 event.preventDefault(); 53 //Flip the tab 54 $( '#plugin-information-tabs a.current' ).removeClass( 'current' ); 55 $( this ).addClass( 'current' ); 56 //Only show the fyi box in the description section, on smaller screen, where it's otherwise always displayed at the top. 57 if ( 'description' != $( this ).attr( 'name' ) && $( 'body').width() < 830 ) 58 $( '#plugin-information-content div.fyi' ).hide(); 59 else 60 $( '#plugin-information-content div.fyi' ).show(); 61 //Flip the content. 62 $( '#section-holder div.section' ).hide(); //Hide 'em all 63 $( '#section-' + tab ).show(); 162 $( 'a.install-now' ).click( function() { 163 return confirm( l10n.ays ); 164 }); 64 165 }); 65 166 66 $( 'a.install-now' ).click( function() { 67 return confirm( plugininstallL10n.ays ); 68 }); 69 }); 167 })( jQuery ); -
src/wp-admin/js/theme.js
1497 1497 searchContainer: $( '.theme-navigation' ), 1498 1498 1499 1499 uploader: function() { 1500 $( ' a.upload' ).on( 'click', function( event ) {1500 $( '.wp-upload-show' ).on( 'click', function( event ) { 1501 1501 event.preventDefault(); 1502 $( 'body' ).addClass( 'show-upload- theme' );1502 $( 'body' ).addClass( 'show-upload-container' ); 1503 1503 themes.router.navigate( themes.router.baseUrl( '?upload' ), { replace: true } ); 1504 1504 }); 1505 $( ' a.browse-themes' ).on( 'click', function( event ) {1505 $( '.wp-upload-hide' ).on( 'click', function( event ) { 1506 1506 event.preventDefault(); 1507 $( 'body' ).removeClass( 'show-upload- theme' );1507 $( 'body' ).removeClass( 'show-upload-container' ); 1508 1508 themes.router.navigate( themes.router.baseUrl( '' ), { replace: true } ); 1509 1509 }); 1510 1510 }, … … 1642 1642 1643 1643 // Support the `upload` route by going straight to upload section 1644 1644 themes.router.on( 'route:upload', function() { 1645 $( ' a.upload' ).trigger( 'click' );1645 $( '.wp-upload-show' ).trigger( 'click' ); 1646 1646 }); 1647 1647 1648 1648 // The `search` route event. The router populates the input field. -
src/wp-admin/plugin-install.php
29 29 $title = __('Install Plugins'); 30 30 $parent_file = 'plugins.php'; 31 31 32 wp_localize_script( 'plugin-install', '_wpPluginSettings', array( 33 'plugins' => false, 34 'settings' => array( 35 'isInstall' => true, 36 'canInstall' => current_user_can( 'install_plugins' ), 37 'installURI' => current_user_can( 'install_plugins' ) ? self_admin_url( 'plugin-install.php' ) : null, 38 'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ) 39 ), 40 'l10n' => array( 41 'pluginInformation' => __('Plugin Information:'), 42 'ays' => __('Are you sure you want to install this plugin?') 43 ), 44 ) ); 45 32 46 wp_enqueue_script( 'plugin-install' ); 47 33 48 if ( 'plugin-information' != $tab ) 34 49 add_thickbox(); 35 50 … … 73 88 include(ABSPATH . 'wp-admin/admin-header.php'); 74 89 ?> 75 90 <div class="wrap"> 76 <h2><?php echo esc_html( $title ); ?></h2> 91 <h2> 92 <?php echo esc_html( $title ); ?> 93 94 <a href="#" class="wp-upload-show add-new-h2"><?php echo __( 'Upload Plugin' ); ?></a> 95 <a href="#" class="wp-upload-hide add-new-h2"><?php echo __( 'Browse', 'plugins' ); ?></a> 96 </h2> 77 97 78 <?php $wp_list_table->views(); ?>98 <?php install_plugins_upload(); ?> 79 99 80 <br class="clear" /> 81 <?php 82 /** 83 * Fires after the plugins list table in each tab of the Install Plugins screen. 84 * 85 * The dynamic portion of the action hook, $tab, allows for targeting 86 * individual tabs, for instance 'install_plugins_plugin-information'. 87 * 88 * @since 2.7.0 89 * 90 * @param int $paged The current page number of the plugins list table. 91 */ 92 ?> 93 <?php do_action( "install_plugins_$tab", $paged ); ?> 100 <div class="hide-on-upload"> 101 <?php $wp_list_table->views(); ?> 102 103 <br class="clear" /> 104 105 <?php 106 /** 107 * Fires after the plugins list table in each tab of the Install Plugins screen. 108 * 109 * The dynamic portion of the action hook, $tab, allows for targeting 110 * individual tabs, for instance 'install_plugins_plugin-information'. 111 * 112 * @since 2.7.0 113 * 114 * @param int $paged The current page number of the plugins list table. 115 */ 116 do_action( "install_plugins_$tab", $paged ); ?> 117 </div> 94 118 </div> 95 119 <?php 96 120 /** -
src/wp-admin/theme-install.php
125 125 */ 126 126 $tabs = apply_filters( 'install_themes_tabs', $tabs ); 127 127 foreach ( $tabs as $tab_slug => $tab_name ) { 128 echo '<a href="#" class="' . esc_attr( $tab_slug ) . ' add-new-h2">' . $tab_name . '</a>'; 128 $visibility = $tab_slug == 'upload' ? ' wp-upload-show' : ' wp-upload-hide'; 129 130 echo '<a href="#" class="' . esc_attr( $tab_slug ) . $visibility . ' add-new-h2">' . $tab_name . '</a>'; 129 131 } 130 132 ?> 131 133 </h2> 132 134 133 <div class="upload-theme">134 135 <?php install_themes_upload(); ?> 135 </div>136 136 137 <div class="theme-navigation ">137 <div class="theme-navigation hide-on-upload"> 138 138 <span class="theme-count"></span> 139 139 <a class="theme-section" href="#" data-sort="featured"><?php _ex( 'Featured', 'themes' ); ?></a> 140 140 <a class="theme-section" href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a> … … 175 175 </div> 176 176 </div> 177 177 </div> 178 <div class="theme-browser "></div>178 <div class="theme-browser hide-on-upload"></div> 179 179 <div class="theme-install-overlay wp-full-overlay expanded"></div> 180 180 181 181 <p class="no-themes"><?php _e( 'No themes found. Try a different search.' ); ?></p> -
src/wp-includes/script-loader.php
488 488 'error' => __('Error while saving the changes.') 489 489 ) ); 490 490 491 $scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'jquery', 'thickbox' ), false, 1 ); 492 did_action( 'init' ) && $scripts->localize( 'plugin-install', 'plugininstallL10n', array( 493 'plugin_information' => __('Plugin Information:'), 494 'ays' => __('Are you sure you want to install this plugin?') 495 ) ); 491 + $scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'wp-backbone' ), false, 1 ); 496 492 497 493 $scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'jquery' ) ); 498 494