web/wp-admin/includes/update-core.php
changeset 194 32102edaa81b
parent 136 bde1974c263b
child 204 09a1c134465b
equal deleted inserted replaced
193:2f6f6f7551ca 194:32102edaa81b
    16  * @name $_old_files
    16  * @name $_old_files
    17  */
    17  */
    18 global $_old_files;
    18 global $_old_files;
    19 
    19 
    20 $_old_files = array(
    20 $_old_files = array(
    21 'wp-admin/bookmarklet.php',
    21 // 2.0
       
    22 'wp-admin/import-b2.php',
       
    23 'wp-admin/import-blogger.php',
       
    24 'wp-admin/import-greymatter.php',
       
    25 'wp-admin/import-livejournal.php',
       
    26 'wp-admin/import-mt.php',
       
    27 'wp-admin/import-rss.php',
       
    28 'wp-admin/import-textpattern.php',
       
    29 'wp-admin/quicktags.js',
       
    30 'wp-images/fade-butt.png',
       
    31 'wp-images/get-firefox.png',
       
    32 'wp-images/header-shadow.png',
       
    33 'wp-images/smilies',
       
    34 'wp-images/wp-small.png',
       
    35 'wp-images/wpminilogo.png',
       
    36 'wp.php',
       
    37 // 2.0.8
       
    38 'wp-includes/js/tinymce/plugins/inlinepopups/readme.txt',
       
    39 // 2.1
       
    40 'wp-admin/edit-form-ajax-cat.php',
       
    41 'wp-admin/execute-pings.php',
       
    42 'wp-admin/inline-uploading.php',
       
    43 'wp-admin/link-categories.php',
       
    44 'wp-admin/list-manipulation.js',
       
    45 'wp-admin/list-manipulation.php',
       
    46 'wp-includes/comment-functions.php',
       
    47 'wp-includes/feed-functions.php',
       
    48 'wp-includes/functions-compat.php',
       
    49 'wp-includes/functions-formatting.php',
       
    50 'wp-includes/functions-post.php',
       
    51 'wp-includes/js/dbx-key.js',
       
    52 'wp-includes/js/tinymce/plugins/autosave/langs/cs.js',
       
    53 'wp-includes/js/tinymce/plugins/autosave/langs/sv.js',
       
    54 'wp-includes/links.php',
       
    55 'wp-includes/pluggable-functions.php',
       
    56 'wp-includes/template-functions-author.php',
       
    57 'wp-includes/template-functions-category.php',
       
    58 'wp-includes/template-functions-general.php',
       
    59 'wp-includes/template-functions-links.php',
       
    60 'wp-includes/template-functions-post.php',
       
    61 'wp-includes/wp-l10n.php',
       
    62 // 2.2
       
    63 'wp-admin/cat-js.php',
       
    64 'wp-admin/import/b2.php',
       
    65 'wp-includes/js/autosave-js.php',
       
    66 'wp-includes/js/list-manipulation-js.php',
       
    67 'wp-includes/js/wp-ajax-js.php',
       
    68 // 2.3
       
    69 'wp-admin/admin-db.php',
       
    70 'wp-admin/cat.js',
       
    71 'wp-admin/categories.js',
       
    72 'wp-admin/custom-fields.js',
       
    73 'wp-admin/dbx-admin-key.js',
       
    74 'wp-admin/edit-comments.js',
       
    75 'wp-admin/install-rtl.css',
       
    76 'wp-admin/install.css',
       
    77 'wp-admin/upgrade-schema.php',
       
    78 'wp-admin/upload-functions.php',
       
    79 'wp-admin/upload-rtl.css',
       
    80 'wp-admin/upload.css',
       
    81 'wp-admin/upload.js',
       
    82 'wp-admin/users.js',
       
    83 'wp-admin/widgets-rtl.css',
       
    84 'wp-admin/widgets.css',
       
    85 'wp-admin/xfn.js',
       
    86 'wp-includes/js/tinymce/license.html',
       
    87 // 2.5
    22 'wp-admin/css/upload.css',
    88 'wp-admin/css/upload.css',
    23 'wp-admin/css/upload-rtl.css',
       
    24 'wp-admin/css/press-this-ie.css',
       
    25 'wp-admin/css/press-this-ie-rtl.css',
       
    26 'wp-admin/edit-form.php',
       
    27 'wp-admin/link-import.php',
       
    28 'wp-admin/images/box-bg-left.gif',
    89 'wp-admin/images/box-bg-left.gif',
    29 'wp-admin/images/box-bg-right.gif',
    90 'wp-admin/images/box-bg-right.gif',
    30 'wp-admin/images/box-bg.gif',
    91 'wp-admin/images/box-bg.gif',
    31 'wp-admin/images/box-butt-left.gif',
    92 'wp-admin/images/box-butt-left.gif',
    32 'wp-admin/images/box-butt-right.gif',
    93 'wp-admin/images/box-butt-right.gif',
    37 'wp-admin/images/heading-bg.gif',
    98 'wp-admin/images/heading-bg.gif',
    38 'wp-admin/images/login-bkg-bottom.gif',
    99 'wp-admin/images/login-bkg-bottom.gif',
    39 'wp-admin/images/login-bkg-tile.gif',
   100 'wp-admin/images/login-bkg-tile.gif',
    40 'wp-admin/images/notice.gif',
   101 'wp-admin/images/notice.gif',
    41 'wp-admin/images/toggle.gif',
   102 'wp-admin/images/toggle.gif',
    42 'wp-admin/images/comment-stalk-classic.gif',
       
    43 'wp-admin/images/comment-stalk-fresh.gif',
       
    44 'wp-admin/images/comment-stalk-rtl.gif',
       
    45 'wp-admin/images/comment-pill.gif',
       
    46 'wp-admin/images/del.png',
       
    47 'wp-admin/images/media-button-gallery.gif',
       
    48 'wp-admin/images/media-buttons.gif',
       
    49 'wp-admin/images/tail.gif',
       
    50 'wp-admin/images/gear.png',
       
    51 'wp-admin/images/tab.png',
       
    52 'wp-admin/images/postbox-bg.gif',
       
    53 'wp-admin/includes/upload.php',
   103 'wp-admin/includes/upload.php',
    54 'wp-admin/js/dbx-admin-key.js',
   104 'wp-admin/js/dbx-admin-key.js',
    55 'wp-admin/js/link-cat.js',
   105 'wp-admin/js/link-cat.js',
    56 'wp-admin/js/forms.js',
       
    57 'wp-admin/js/upload.js',
       
    58 'wp-admin/js/set-post-thumbnail-handler.js',
       
    59 'wp-admin/js/set-post-thumbnail-handler.dev.js',
       
    60 'wp-admin/js/page.js',
       
    61 'wp-admin/js/page.dev.js',
       
    62 'wp-admin/js/slug.js',
       
    63 'wp-admin/js/slug.dev.js',
       
    64 'wp-admin/profile-update.php',
   106 'wp-admin/profile-update.php',
    65 'wp-admin/templates.php',
   107 'wp-admin/templates.php',
    66 'wp-includes/images/audio.png',
   108 'wp-includes/images/wlw/WpComments.png',
    67 'wp-includes/images/css.png',
   109 'wp-includes/images/wlw/WpIcon.png',
    68 'wp-includes/images/default.png',
   110 'wp-includes/images/wlw/WpWatermark.png',
    69 'wp-includes/images/doc.png',
       
    70 'wp-includes/images/exe.png',
       
    71 'wp-includes/images/html.png',
       
    72 'wp-includes/images/js.png',
       
    73 'wp-includes/images/pdf.png',
       
    74 'wp-includes/images/swf.png',
       
    75 'wp-includes/images/tar.png',
       
    76 'wp-includes/images/text.png',
       
    77 'wp-includes/images/video.png',
       
    78 'wp-includes/images/zip.png',
       
    79 'wp-includes/js/dbx.js',
   111 'wp-includes/js/dbx.js',
    80 'wp-includes/js/fat.js',
   112 'wp-includes/js/fat.js',
    81 'wp-includes/js/list-manipulation.js',
   113 'wp-includes/js/list-manipulation.js',
    82 'wp-includes/js/jquery/jquery.dimensions.min.js',
       
    83 'wp-includes/js/tinymce/langs/en.js',
   114 'wp-includes/js/tinymce/langs/en.js',
    84 'wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js',
   115 'wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js',
    85 'wp-includes/js/tinymce/plugins/autosave/langs',
   116 'wp-includes/js/tinymce/plugins/autosave/langs',
    86 'wp-includes/js/tinymce/plugins/directionality/images',
   117 'wp-includes/js/tinymce/plugins/directionality/images',
    87 'wp-includes/js/tinymce/plugins/directionality/langs',
   118 'wp-includes/js/tinymce/plugins/directionality/langs',
    99 'wp-includes/js/tinymce/plugins/spellchecker/images',
   130 'wp-includes/js/tinymce/plugins/spellchecker/images',
   100 'wp-includes/js/tinymce/plugins/spellchecker/langs',
   131 'wp-includes/js/tinymce/plugins/spellchecker/langs',
   101 'wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php',
   132 'wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php',
   102 'wp-includes/js/tinymce/plugins/wordpress/images',
   133 'wp-includes/js/tinymce/plugins/wordpress/images',
   103 'wp-includes/js/tinymce/plugins/wordpress/langs',
   134 'wp-includes/js/tinymce/plugins/wordpress/langs',
   104 'wp-includes/js/tinymce/plugins/wordpress/popups.css',
       
   105 'wp-includes/js/tinymce/plugins/wordpress/wordpress.css',
   135 'wp-includes/js/tinymce/plugins/wordpress/wordpress.css',
   106 'wp-includes/js/tinymce/plugins/wphelp',
   136 'wp-includes/js/tinymce/plugins/wphelp',
   107 'wp-includes/js/tinymce/themes/advanced/css',
   137 'wp-includes/js/tinymce/themes/advanced/css',
   108 'wp-includes/js/tinymce/themes/advanced/images',
   138 'wp-includes/js/tinymce/themes/advanced/images',
   109 'wp-includes/js/tinymce/themes/advanced/jscripts',
   139 'wp-includes/js/tinymce/themes/advanced/jscripts',
   110 'wp-includes/js/tinymce/themes/advanced/langs',
   140 'wp-includes/js/tinymce/themes/advanced/langs',
       
   141 // 2.5.1
   111 'wp-includes/js/tinymce/tiny_mce_gzip.php',
   142 'wp-includes/js/tinymce/tiny_mce_gzip.php',
       
   143 // 2.6
       
   144 'wp-admin/bookmarklet.php',
       
   145 'wp-includes/js/jquery/jquery.dimensions.min.js',
       
   146 'wp-includes/js/tinymce/plugins/wordpress/popups.css',
   112 'wp-includes/js/wp-ajax.js',
   147 'wp-includes/js/wp-ajax.js',
   113 'wp-admin/admin-db.php',
   148 // 2.7
   114 'wp-admin/cat.js',
   149 'wp-admin/css/press-this-ie-rtl.css',
   115 'wp-admin/categories.js',
   150 'wp-admin/css/press-this-ie.css',
   116 'wp-admin/custom-fields.js',
   151 'wp-admin/css/upload-rtl.css',
   117 'wp-admin/dbx-admin-key.js',
   152 'wp-admin/edit-form.php',
   118 'wp-admin/edit-comments.js',
   153 'wp-admin/images/comment-pill.gif',
   119 'wp-admin/install-rtl.css',
   154 'wp-admin/images/comment-stalk-classic.gif',
   120 'wp-admin/install.css',
   155 'wp-admin/images/comment-stalk-fresh.gif',
   121 'wp-admin/upgrade-schema.php',
   156 'wp-admin/images/comment-stalk-rtl.gif',
   122 'wp-admin/upload-functions.php',
   157 'wp-admin/images/del.png',
   123 'wp-admin/upload-rtl.css',
   158 'wp-admin/images/gear.png',
   124 'wp-admin/upload.css',
   159 'wp-admin/images/media-button-gallery.gif',
   125 'wp-admin/upload.js',
   160 'wp-admin/images/media-buttons.gif',
   126 'wp-admin/users.js',
   161 'wp-admin/images/postbox-bg.gif',
   127 'wp-admin/widgets-rtl.css',
   162 'wp-admin/images/tab.png',
   128 'wp-admin/widgets.css',
   163 'wp-admin/images/tail.gif',
   129 'wp-admin/xfn.js',
   164 'wp-admin/js/forms.js',
   130 'wp-includes/js/tinymce/license.html',
   165 'wp-admin/js/upload.js',
   131 'wp-admin/cat-js.php',
   166 'wp-admin/link-import.php',
   132 'wp-admin/edit-form-ajax-cat.php',
   167 'wp-includes/images/audio.png',
   133 'wp-admin/execute-pings.php',
   168 'wp-includes/images/css.png',
   134 'wp-admin/import/b2.php',
   169 'wp-includes/images/default.png',
       
   170 'wp-includes/images/doc.png',
       
   171 'wp-includes/images/exe.png',
       
   172 'wp-includes/images/html.png',
       
   173 'wp-includes/images/js.png',
       
   174 'wp-includes/images/pdf.png',
       
   175 'wp-includes/images/swf.png',
       
   176 'wp-includes/images/tar.png',
       
   177 'wp-includes/images/text.png',
       
   178 'wp-includes/images/video.png',
       
   179 'wp-includes/images/zip.png',
       
   180 'wp-includes/js/tinymce/tiny_mce_config.php',
       
   181 'wp-includes/js/tinymce/tiny_mce_ext.js',
       
   182 // 2.8
       
   183 'wp-admin/js/users.js',
       
   184 'wp-includes/js/swfupload/plugins/swfupload.documentready.js',
       
   185 'wp-includes/js/swfupload/plugins/swfupload.graceful_degradation.js',
       
   186 'wp-includes/js/swfupload/swfupload_f9.swf',
       
   187 'wp-includes/js/tinymce/plugins/autosave',
       
   188 'wp-includes/js/tinymce/plugins/paste/css',
       
   189 'wp-includes/js/tinymce/utils/mclayer.js',
       
   190 'wp-includes/js/tinymce/wordpress.css',
       
   191 // 2.8.5
   135 'wp-admin/import/btt.php',
   192 'wp-admin/import/btt.php',
   136 'wp-admin/import/jkw.php',
   193 'wp-admin/import/jkw.php',
   137 'wp-admin/inline-uploading.php',
   194 // 2.9
   138 'wp-admin/link-categories.php',
   195 'wp-admin/js/page.dev.js',
   139 'wp-admin/list-manipulation.js',
   196 'wp-admin/js/page.js',
   140 'wp-admin/list-manipulation.php',
   197 'wp-admin/js/set-post-thumbnail-handler.dev.js',
   141 'wp-includes/comment-functions.php',
   198 'wp-admin/js/set-post-thumbnail-handler.js',
   142 'wp-includes/feed-functions.php',
   199 'wp-admin/js/slug.dev.js',
   143 'wp-includes/functions-compat.php',
   200 'wp-admin/js/slug.js',
   144 'wp-includes/functions-formatting.php',
       
   145 'wp-includes/functions-post.php',
       
   146 'wp-includes/js/dbx-key.js',
       
   147 'wp-includes/js/tinymce/plugins/autosave/langs/cs.js',
       
   148 'wp-includes/js/tinymce/plugins/autosave/langs/sv.js',
       
   149 'wp-includes/js/tinymce/themes/advanced/editor_template_src.js',
       
   150 'wp-includes/links.php',
       
   151 'wp-includes/pluggable-functions.php',
       
   152 'wp-includes/template-functions-author.php',
       
   153 'wp-includes/template-functions-category.php',
       
   154 'wp-includes/template-functions-general.php',
       
   155 'wp-includes/template-functions-links.php',
       
   156 'wp-includes/template-functions-post.php',
       
   157 'wp-includes/wp-l10n.php',
       
   158 'wp-admin/import-b2.php',
       
   159 'wp-admin/import-blogger.php',
       
   160 'wp-admin/import-greymatter.php',
       
   161 'wp-admin/import-livejournal.php',
       
   162 'wp-admin/import-mt.php',
       
   163 'wp-admin/import-rss.php',
       
   164 'wp-admin/import-textpattern.php',
       
   165 'wp-admin/quicktags.js',
       
   166 'wp-images/fade-butt.png',
       
   167 'wp-images/get-firefox.png',
       
   168 'wp-images/header-shadow.png',
       
   169 'wp-images/smilies',
       
   170 'wp-images/wp-small.png',
       
   171 'wp-images/wpminilogo.png',
       
   172 'wp.php',
       
   173 'wp-includes/gettext.php',
   201 'wp-includes/gettext.php',
   174 'wp-includes/streams.php'
   202 'wp-includes/js/tinymce/plugins/wordpress/js',
       
   203 'wp-includes/streams.php',
       
   204 // MU
       
   205 'README.txt',
       
   206 'htaccess.dist',
       
   207 'index-install.php',
       
   208 'wp-admin/css/mu-rtl.css',
       
   209 'wp-admin/css/mu.css',
       
   210 'wp-admin/images/site-admin.png',
       
   211 'wp-admin/includes/mu.php',
       
   212 'wp-admin/wpmu-admin.php',
       
   213 'wp-admin/wpmu-blogs.php',
       
   214 'wp-admin/wpmu-edit.php',
       
   215 'wp-admin/wpmu-options.php',
       
   216 'wp-admin/wpmu-themes.php',
       
   217 'wp-admin/wpmu-upgrade-site.php',
       
   218 'wp-admin/wpmu-users.php',
       
   219 'wp-includes/images/wordpress-mu.png',
       
   220 'wp-includes/wpmu-default-filters.php',
       
   221 'wp-includes/wpmu-functions.php',
       
   222 'wpmu-settings.php',
       
   223 // 3.0
       
   224 'wp-admin/categories.php',
       
   225 'wp-admin/edit-category-form.php',
       
   226 'wp-admin/edit-page-form.php',
       
   227 'wp-admin/edit-pages.php',
       
   228 'wp-admin/images/admin-header-footer.png',
       
   229 'wp-admin/images/browse-happy.gif',
       
   230 'wp-admin/images/ico-add.png',
       
   231 'wp-admin/images/ico-close.png',
       
   232 'wp-admin/images/ico-edit.png',
       
   233 'wp-admin/images/ico-viewpage.png',
       
   234 'wp-admin/images/fav-top.png',
       
   235 'wp-admin/images/screen-options-left.gif',
       
   236 'wp-admin/images/wp-logo-vs.gif',
       
   237 'wp-admin/images/wp-logo.gif',
       
   238 'wp-admin/import',
       
   239 'wp-admin/js/wp-gears.dev.js',
       
   240 'wp-admin/js/wp-gears.js',
       
   241 'wp-admin/options-misc.php',
       
   242 'wp-admin/page-new.php',
       
   243 'wp-admin/page.php',
       
   244 'wp-admin/rtl.css',
       
   245 'wp-admin/rtl.dev.css',
       
   246 'wp-admin/update-links.php',
       
   247 'wp-admin/wp-admin.css',
       
   248 'wp-admin/wp-admin.dev.css',
       
   249 'wp-includes/js/codepress',
       
   250 'wp-includes/js/codepress/engines/khtml.js',
       
   251 'wp-includes/js/codepress/engines/older.js',
       
   252 'wp-includes/js/jquery/autocomplete.dev.js',
       
   253 'wp-includes/js/jquery/autocomplete.js',
       
   254 'wp-includes/js/jquery/interface.js',
       
   255 'wp-includes/js/scriptaculous/prototype.js',
       
   256 'wp-includes/js/tinymce/wp-tinymce.js',
       
   257 // 3.1
       
   258 'wp-admin/edit-attachment-rows.php',
       
   259 'wp-admin/edit-link-categories.php',
       
   260 'wp-admin/edit-link-category-form.php',
       
   261 'wp-admin/edit-post-rows.php',
       
   262 'wp-admin/images/button-grad-active-vs.png',
       
   263 'wp-admin/images/button-grad-vs.png',
       
   264 'wp-admin/images/fav-arrow-vs-rtl.gif',
       
   265 'wp-admin/images/fav-arrow-vs.gif',
       
   266 'wp-admin/images/fav-top-vs.gif',
       
   267 'wp-admin/images/list-vs.png',
       
   268 'wp-admin/images/screen-options-right-up.gif',
       
   269 'wp-admin/images/screen-options-right.gif',
       
   270 'wp-admin/images/visit-site-button-grad-vs.gif',
       
   271 'wp-admin/images/visit-site-button-grad.gif',
       
   272 'wp-admin/link-category.php',
       
   273 'wp-admin/sidebar.php',
       
   274 'wp-includes/classes.php',
       
   275 'wp-includes/js/tinymce/blank.htm',
       
   276 'wp-includes/js/tinymce/plugins/media/css/content.css',
       
   277 'wp-includes/js/tinymce/plugins/media/img',
       
   278 'wp-includes/js/tinymce/plugins/safari',
       
   279 // 3.2
       
   280 'wp-admin/images/logo-login.gif',
       
   281 'wp-admin/images/star.gif',
       
   282 'wp-admin/js/list-table.dev.js',
       
   283 'wp-admin/js/list-table.js',
       
   284 'wp-includes/default-embeds.php',
       
   285 'wp-includes/js/tinymce/plugins/wordpress/img/help.gif',
       
   286 'wp-includes/js/tinymce/plugins/wordpress/img/more.gif',
       
   287 'wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif',
       
   288 'wp-includes/js/tinymce/themes/advanced/img/fm.gif',
       
   289 'wp-includes/js/tinymce/themes/advanced/img/sflogo.png',
       
   290 // 3.3
       
   291 'wp-admin/css/colors-classic-rtl.css',
       
   292 'wp-admin/css/colors-classic-rtl.dev.css',
       
   293 'wp-admin/css/colors-fresh-rtl.css',
       
   294 'wp-admin/css/colors-fresh-rtl.dev.css',
       
   295 'wp-admin/css/dashboard-rtl.css',
       
   296 'wp-admin/css/dashboard-rtl.dev.css',
       
   297 'wp-admin/css/dashboard.css',
       
   298 'wp-admin/css/dashboard.dev.css',
       
   299 'wp-admin/css/farbtastic-rtl.css',
       
   300 'wp-admin/css/global-rtl.css',
       
   301 'wp-admin/css/global-rtl.dev.css',
       
   302 'wp-admin/css/global.css',
       
   303 'wp-admin/css/global.dev.css',
       
   304 'wp-admin/css/install-rtl.css',
       
   305 'wp-admin/css/install-rtl.dev.css',
       
   306 'wp-admin/css/login-rtl.css',
       
   307 'wp-admin/css/login-rtl.dev.css',
       
   308 'wp-admin/css/login.css',
       
   309 'wp-admin/css/login.dev.css',
       
   310 'wp-admin/css/ms.css',
       
   311 'wp-admin/css/ms.dev.css',
       
   312 'wp-admin/css/nav-menu-rtl.css',
       
   313 'wp-admin/css/nav-menu-rtl.dev.css',
       
   314 'wp-admin/css/nav-menu.css',
       
   315 'wp-admin/css/nav-menu.dev.css',
       
   316 'wp-admin/css/plugin-install-rtl.css',
       
   317 'wp-admin/css/plugin-install-rtl.dev.css',
       
   318 'wp-admin/css/plugin-install.css',
       
   319 'wp-admin/css/plugin-install.dev.css',
       
   320 'wp-admin/css/press-this-rtl.css',
       
   321 'wp-admin/css/press-this-rtl.dev.css',
       
   322 'wp-admin/css/press-this.css',
       
   323 'wp-admin/css/press-this.dev.css',
       
   324 'wp-admin/css/theme-editor-rtl.css',
       
   325 'wp-admin/css/theme-editor-rtl.dev.css',
       
   326 'wp-admin/css/theme-editor.css',
       
   327 'wp-admin/css/theme-editor.dev.css',
       
   328 'wp-admin/css/theme-install-rtl.css',
       
   329 'wp-admin/css/theme-install-rtl.dev.css',
       
   330 'wp-admin/css/theme-install.css',
       
   331 'wp-admin/css/theme-install.dev.css',
       
   332 'wp-admin/css/widgets-rtl.css',
       
   333 'wp-admin/css/widgets-rtl.dev.css',
       
   334 'wp-admin/css/widgets.css',
       
   335 'wp-admin/css/widgets.dev.css',
       
   336 'wp-admin/includes/internal-linking.php',
       
   337 'wp-includes/images/admin-bar-sprite-rtl.png',
       
   338 'wp-includes/js/jquery/ui.button.js',
       
   339 'wp-includes/js/jquery/ui.core.js',
       
   340 'wp-includes/js/jquery/ui.dialog.js',
       
   341 'wp-includes/js/jquery/ui.draggable.js',
       
   342 'wp-includes/js/jquery/ui.droppable.js',
       
   343 'wp-includes/js/jquery/ui.mouse.js',
       
   344 'wp-includes/js/jquery/ui.position.js',
       
   345 'wp-includes/js/jquery/ui.resizable.js',
       
   346 'wp-includes/js/jquery/ui.selectable.js',
       
   347 'wp-includes/js/jquery/ui.sortable.js',
       
   348 'wp-includes/js/jquery/ui.tabs.js',
       
   349 'wp-includes/js/jquery/ui.widget.js',
       
   350 'wp-includes/js/l10n.dev.js',
       
   351 'wp-includes/js/l10n.js',
       
   352 'wp-includes/js/tinymce/plugins/wplink/css',
       
   353 'wp-includes/js/tinymce/plugins/wplink/img',
       
   354 'wp-includes/js/tinymce/plugins/wplink/js',
       
   355 'wp-includes/js/tinymce/themes/advanced/img/wpicons.png',
       
   356 'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/butt2.png',
       
   357 'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/button_bg.png',
       
   358 'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/down_arrow.gif',
       
   359 'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/fade-butt.png',
       
   360 'wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/separator.gif',
       
   361 // Don't delete, yet: 'wp-rss.php',
       
   362 // Don't delete, yet: 'wp-rdf.php',
       
   363 // Don't delete, yet: 'wp-rss2.php',
       
   364 // Don't delete, yet: 'wp-commentsrss2.php',
       
   365 // Don't delete, yet: 'wp-atom.php',
       
   366 // Don't delete, yet: 'wp-feed.php',
       
   367 // 3.4
       
   368 'wp-admin/images/gray-star.png',
       
   369 'wp-admin/images/logo-login.png',
       
   370 'wp-admin/images/star.png',
       
   371 'wp-admin/index-extra.php',
       
   372 'wp-admin/network/index-extra.php',
       
   373 'wp-admin/user/index-extra.php',
       
   374 'wp-admin/images/screenshots/admin-flyouts.png',
       
   375 'wp-admin/images/screenshots/coediting.png',
       
   376 'wp-admin/images/screenshots/drag-and-drop.png',
       
   377 'wp-admin/images/screenshots/help-screen.png',
       
   378 'wp-admin/images/screenshots/media-icon.png',
       
   379 'wp-admin/images/screenshots/new-feature-pointer.png',
       
   380 'wp-admin/images/screenshots/welcome-screen.png',
       
   381 'wp-includes/css/editor-buttons.css',
       
   382 'wp-includes/css/editor-buttons.dev.css',
       
   383 'wp-includes/js/tinymce/plugins/paste/blank.htm',
       
   384 'wp-includes/js/tinymce/plugins/wordpress/css',
       
   385 'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js',
       
   386 'wp-includes/js/tinymce/plugins/wordpress/img/embedded.png',
       
   387 'wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif',
       
   388 'wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif',
       
   389 'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js',
       
   390 'wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css',
       
   391 'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js',
       
   392 'wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js',
       
   393 'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js',
       
   394 'wp-includes/js/tinymce/plugins/wpgallery/img/gallery.png',
       
   395 'wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js',
       
   396 // Don't delete, yet: 'wp-pass.php',
       
   397 // Don't delete, yet: 'wp-register.php',
       
   398 );
       
   399 
       
   400 /**
       
   401  * Stores new files in wp-content to copy
       
   402  *
       
   403  * The contents of this array indicate any new bundled plugins/themes which
       
   404  * should be installed with the WordPress Upgrade. These items will not be
       
   405  * re-installed in future upgrades, this behaviour is controlled by the
       
   406  * introduced version present here being older than the current installed version.
       
   407  *
       
   408  * The content of this array should follow the following format:
       
   409  * Filename (relative to wp-content) => Introduced version
       
   410  * Directories should be noted by suffixing it with a trailing slash (/)
       
   411  *
       
   412  * @since 3.2.0
       
   413  * @global array $_new_bundled_files
       
   414  * @var array
       
   415  * @name $_new_bundled_files
       
   416  */
       
   417 global $_new_bundled_files;
       
   418 
       
   419 $_new_bundled_files = array(
       
   420 'plugins/akismet/' => '2.0',
       
   421 'themes/twentyten/' => '3.0',
       
   422 'themes/twentyeleven/' => '3.2'
   175 );
   423 );
   176 
   424 
   177 /**
   425 /**
   178  * Upgrade the core of WordPress.
   426  * Upgrade the core of WordPress.
   179  *
   427  *
   181  * to ensure that people can not access the web site, when the files are being
   429  * to ensure that people can not access the web site, when the files are being
   182  * copied to their locations.
   430  * copied to their locations.
   183  *
   431  *
   184  * The files in the {@link $_old_files} list will be removed and the new files
   432  * The files in the {@link $_old_files} list will be removed and the new files
   185  * copied from the zip file after the database is upgraded.
   433  * copied from the zip file after the database is upgraded.
       
   434  *
       
   435  * The files in the {@link $_new_bundled_files} list will be added to the installation
       
   436  * if the version is greater than or equal to the old version being upgraded.
   186  *
   437  *
   187  * The steps for the upgrader for after the new release is downloaded and
   438  * The steps for the upgrader for after the new release is downloaded and
   188  * unzipped is:
   439  * unzipped is:
   189  *   1. Test unzipped location for select files to ensure that unzipped worked.
   440  *   1. Test unzipped location for select files to ensure that unzipped worked.
   190  *   2. Create the .maintenance file in current WordPress base.
   441  *   2. Create the .maintenance file in current WordPress base.
   191  *   3. Copy new WordPress directory over old WordPress files.
   442  *   3. Copy new WordPress directory over old WordPress files.
   192  *   4. Upgrade WordPress to new version.
   443  *   4. Upgrade WordPress to new version.
       
   444  *     4.1. Copy all files/folders other than wp-content
       
   445  *     4.2. Copy any language files to WP_LANG_DIR (which may differ from WP_CONTENT_DIR
       
   446  *     4.3. Copy any new bundled themes/plugins to their respective locations
   193  *   5. Delete new WordPress directory path.
   447  *   5. Delete new WordPress directory path.
   194  *   6. Delete .maintenance file.
   448  *   6. Delete .maintenance file.
   195  *   7. Remove old files.
   449  *   7. Remove old files.
   196  *   8. Delete 'update_core' option.
   450  *   8. Delete 'update_core' option.
   197  *
   451  *
   213  * @param string $from New release unzipped path.
   467  * @param string $from New release unzipped path.
   214  * @param string $to Path to old WordPress installation.
   468  * @param string $to Path to old WordPress installation.
   215  * @return WP_Error|null WP_Error on failure, null on success.
   469  * @return WP_Error|null WP_Error on failure, null on success.
   216  */
   470  */
   217 function update_core($from, $to) {
   471 function update_core($from, $to) {
   218 	global $wp_filesystem, $_old_files, $wpdb;
   472 	global $wp_filesystem, $_old_files, $_new_bundled_files, $wpdb;
   219 
   473 
   220 	@set_time_limit( 300 );
   474 	@set_time_limit( 300 );
   221 
   475 
   222 	$php_version    = phpversion();
   476 	$php_version    = phpversion();
   223 	$mysql_version  = $wpdb->db_version();
   477 	$mysql_version  = $wpdb->db_version();
   224 	$required_php_version = '4.3';
   478 	$required_php_version = '5.2.4';
   225 	$required_mysql_version = '4.1.2';
   479 	$required_mysql_version = '5.0';
   226 	$wp_version = '2.9.1';
   480 	$wp_version = '3.4.2';
   227 	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
   481 	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
   228 	$mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
   482 	if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
       
   483 		$mysql_compat = true;
       
   484 	else
       
   485 		$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' );
   229 
   486 
   230 	if ( !$mysql_compat || !$php_compat )
   487 	if ( !$mysql_compat || !$php_compat )
   231 		$wp_filesystem->delete($from, true);
   488 		$wp_filesystem->delete($from, true);
   232 
   489 
   233 	if ( !$mysql_compat && !$php_compat )
   490 	if ( !$mysql_compat && !$php_compat )
   236 		return new WP_Error( 'php_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version ) );
   493 		return new WP_Error( 'php_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version ) );
   237 	elseif ( !$mysql_compat )
   494 	elseif ( !$mysql_compat )
   238 		return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) );
   495 		return new WP_Error( 'mysql_not_compatible', sprintf( __('The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version ) );
   239 
   496 
   240 	// Sanity check the unzipped distribution
   497 	// Sanity check the unzipped distribution
   241 	apply_filters('update_feedback', __('Verifying the unpacked files'));
   498 	apply_filters('update_feedback', __('Verifying the unpacked files…'));
   242 	if ( !$wp_filesystem->exists($from . '/wordpress/wp-settings.php') || !$wp_filesystem->exists($from . '/wordpress/wp-admin/admin.php') ||
   499 	$distro = '';
   243 		!$wp_filesystem->exists($from . '/wordpress/wp-includes/functions.php') ) {
   500 	$roots = array( '/wordpress/', '/wordpress-mu/' );
       
   501 	foreach( $roots as $root ) {
       
   502 		if ( $wp_filesystem->exists($from . $root . 'readme.html') && $wp_filesystem->exists($from . $root . 'wp-includes/version.php') ) {
       
   503 			$distro = $root;
       
   504 			break;
       
   505 		}
       
   506 	}
       
   507 	if ( !$distro ) {
   244 		$wp_filesystem->delete($from, true);
   508 		$wp_filesystem->delete($from, true);
   245 		return new WP_Error('insane_distro', __('The update could not be unpacked') );
   509 		return new WP_Error('insane_distro', __('The update could not be unpacked') );
   246 	}
   510 	}
   247 
   511 
   248 	apply_filters('update_feedback', __('Installing the latest version'));
   512 	apply_filters('update_feedback', __('Installing the latest version…'));
   249 
   513 
   250 	// Create maintenance file to signal that we are upgrading
   514 	// Create maintenance file to signal that we are upgrading
   251 	$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
   515 	$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
   252 	$maintenance_file = $to . '.maintenance';
   516 	$maintenance_file = $to . '.maintenance';
   253 	$wp_filesystem->delete($maintenance_file);
   517 	$wp_filesystem->delete($maintenance_file);
   254 	$wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
   518 	$wp_filesystem->put_contents($maintenance_file, $maintenance_string, FS_CHMOD_FILE);
   255 
   519 
   256 	// Copy new versions of WP files into place.
   520 	// Copy new versions of WP files into place.
   257 	$result = copy_dir($from . '/wordpress', $to);
   521 	$result = _copy_dir($from . $distro, $to, array('wp-content') );
       
   522 
       
   523 	// Custom Content Directory needs updating now.
       
   524 	// Copy Languages
       
   525 	if ( !is_wp_error($result) && $wp_filesystem->is_dir($from . $distro . 'wp-content/languages') ) {
       
   526 		if ( WP_LANG_DIR != ABSPATH . WPINC . '/languages' || @is_dir(WP_LANG_DIR) )
       
   527 			$lang_dir = WP_LANG_DIR;
       
   528 		else
       
   529 			$lang_dir = WP_CONTENT_DIR . '/languages';
       
   530 
       
   531 		if ( !@is_dir($lang_dir) && 0 === strpos($lang_dir, ABSPATH) ) { // Check the language directory exists first
       
   532 			$wp_filesystem->mkdir($to . str_replace(ABSPATH, '', $lang_dir), FS_CHMOD_DIR); // If it's within the ABSPATH we can handle it here, otherwise they're out of luck.
       
   533 			clearstatcache(); // for FTP, Need to clear the stat cache
       
   534 		}
       
   535 
       
   536 		if ( @is_dir($lang_dir) ) {
       
   537 			$wp_lang_dir = $wp_filesystem->find_folder($lang_dir);
       
   538 			if ( $wp_lang_dir )
       
   539 				$result = copy_dir($from . $distro . 'wp-content/languages/', $wp_lang_dir);
       
   540 		}
       
   541 	}
       
   542 
       
   543 	// Copy New bundled plugins & themes
       
   544 	// This gives us the ability to install new plugins & themes bundled with future versions of WordPress whilst avoiding the re-install upon upgrade issue.
       
   545 	if ( !is_wp_error($result) && ( ! defined('CORE_UPGRADE_SKIP_NEW_BUNDLED') || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) ) {
       
   546 		$old_version = $GLOBALS['wp_version']; // $wp_version in local scope == new version
       
   547 		foreach ( (array) $_new_bundled_files as $file => $introduced_version ) {
       
   548 			// If $introduced version is greater than what the site was previously running
       
   549 			if ( version_compare($introduced_version, $old_version, '>') ) {
       
   550 				$directory = ('/' == $file[ strlen($file)-1 ]);
       
   551 				list($type, $filename) = explode('/', $file, 2);
       
   552 
       
   553 				if ( 'plugins' == $type )
       
   554 					$dest = $wp_filesystem->wp_plugins_dir();
       
   555 				elseif ( 'themes' == $type )
       
   556 					$dest = trailingslashit($wp_filesystem->wp_themes_dir()); // Back-compat, ::wp_themes_dir() did not return trailingslash'd pre-3.2
       
   557 				else
       
   558 					continue;
       
   559 
       
   560 				if ( ! $directory ) {
       
   561 					if ( $wp_filesystem->exists($dest . $filename) )
       
   562 						continue;
       
   563 
       
   564 					if ( ! $wp_filesystem->copy($from . $distro . 'wp-content/' . $file, $dest . $filename, FS_CHMOD_FILE) )
       
   565 						$result = new WP_Error('copy_failed', __('Could not copy file.'), $dest . $filename);
       
   566 				} else {
       
   567 					if ( $wp_filesystem->is_dir($dest . $filename) )
       
   568 						continue;
       
   569 
       
   570 					$wp_filesystem->mkdir($dest . $filename, FS_CHMOD_DIR);
       
   571 					$_result = copy_dir( $from . $distro . 'wp-content/' . $file, $dest . $filename);
       
   572 					if ( is_wp_error($_result) ) //If a error occurs partway through this final step, keep the error flowing through, but keep process going.
       
   573 						$result = $_result;
       
   574 				}
       
   575 			}
       
   576 		} //end foreach
       
   577 	}
       
   578 
       
   579 	// Handle $result error from the above blocks
   258 	if ( is_wp_error($result) ) {
   580 	if ( is_wp_error($result) ) {
   259 		$wp_filesystem->delete($maintenance_file);
   581 		$wp_filesystem->delete($maintenance_file);
   260 		$wp_filesystem->delete($from, true);
   582 		$wp_filesystem->delete($from, true);
   261 		return $result;
   583 		return $result;
   262 	}
   584 	}
   268 			continue;
   590 			continue;
   269 		$wp_filesystem->delete($old_file, true);
   591 		$wp_filesystem->delete($old_file, true);
   270 	}
   592 	}
   271 
   593 
   272 	// Upgrade DB with separate request
   594 	// Upgrade DB with separate request
   273 	apply_filters('update_feedback', __('Upgrading database'));
   595 	apply_filters('update_feedback', __('Upgrading database&#8230;'));
   274 	$db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');
   596 	$db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');
   275 	wp_remote_post($db_upgrade_url, array('timeout' => 60));
   597 	wp_remote_post($db_upgrade_url, array('timeout' => 60));
   276 
   598 
   277 	// Remove working directory
   599 	// Remove working directory
   278 	$wp_filesystem->delete($from, true);
   600 	$wp_filesystem->delete($from, true);
   279 
   601 
   280 	// Force refresh of update information
   602 	// Force refresh of update information
   281 	if ( function_exists('delete_transient') )
   603 	if ( function_exists('delete_site_transient') )
   282 		delete_transient('update_core');
   604 		delete_site_transient('update_core');
   283 	else
   605 	else
   284 		delete_option('update_core');
   606 		delete_option('update_core');
   285 
   607 
   286 	// Remove maintenance file, we're done.
   608 	// Remove maintenance file, we're done.
   287 	$wp_filesystem->delete($maintenance_file);
   609 	$wp_filesystem->delete($maintenance_file);
       
   610 
       
   611 	// If we made it this far:
       
   612 	do_action( '_core_updated_successfully', $wp_version );
       
   613 
       
   614 	return $wp_version;
   288 }
   615 }
   289 
   616 
   290 ?>
   617 /**
       
   618  * Copies a directory from one location to another via the WordPress Filesystem Abstraction.
       
   619  * Assumes that WP_Filesystem() has already been called and setup.
       
   620  *
       
   621  * This is a temporary function for the 3.1 -> 3.2 upgrade only and will be removed in 3.3
       
   622  *
       
   623  * @ignore
       
   624  * @since 3.2.0
       
   625  * @see copy_dir()
       
   626  *
       
   627  * @param string $from source directory
       
   628  * @param string $to destination directory
       
   629  * @param array $skip_list a list of files/folders to skip copying
       
   630  * @return mixed WP_Error on failure, True on success.
       
   631  */
       
   632 function _copy_dir($from, $to, $skip_list = array() ) {
       
   633 	global $wp_filesystem;
       
   634 
       
   635 	$dirlist = $wp_filesystem->dirlist($from);
       
   636 
       
   637 	$from = trailingslashit($from);
       
   638 	$to = trailingslashit($to);
       
   639 
       
   640 	$skip_regex = '';
       
   641 	foreach ( (array)$skip_list as $key => $skip_file )
       
   642 		$skip_regex .= preg_quote($skip_file, '!') . '|';
       
   643 
       
   644 	if ( !empty($skip_regex) )
       
   645 		$skip_regex = '!(' . rtrim($skip_regex, '|') . ')$!i';
       
   646 
       
   647 	foreach ( (array) $dirlist as $filename => $fileinfo ) {
       
   648 		if ( !empty($skip_regex) )
       
   649 			if ( preg_match($skip_regex, $from . $filename) )
       
   650 				continue;
       
   651 
       
   652 		if ( 'f' == $fileinfo['type'] ) {
       
   653 			if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) ) {
       
   654 				// If copy failed, chmod file to 0644 and try again.
       
   655 				$wp_filesystem->chmod($to . $filename, 0644);
       
   656 				if ( ! $wp_filesystem->copy($from . $filename, $to . $filename, true, FS_CHMOD_FILE) )
       
   657 					return new WP_Error('copy_failed', __('Could not copy file.'), $to . $filename);
       
   658 			}
       
   659 		} elseif ( 'd' == $fileinfo['type'] ) {
       
   660 			if ( !$wp_filesystem->is_dir($to . $filename) ) {
       
   661 				if ( !$wp_filesystem->mkdir($to . $filename, FS_CHMOD_DIR) )
       
   662 					return new WP_Error('mkdir_failed', __('Could not create directory.'), $to . $filename);
       
   663 			}
       
   664 			$result = _copy_dir($from . $filename, $to . $filename, $skip_list);
       
   665 			if ( is_wp_error($result) )
       
   666 				return $result;
       
   667 		}
       
   668 	}
       
   669 	return true;
       
   670 }
       
   671 
       
   672 /**
       
   673  * Redirect to the About WordPress page after a successful upgrade.
       
   674  *
       
   675  * This function is only needed when the existing install is older than 3.4.0.
       
   676  *
       
   677  * @since 3.3.0
       
   678  *
       
   679  */
       
   680 function _redirect_to_about_wordpress( $new_version ) {
       
   681 	global $wp_version, $pagenow, $action;
       
   682 
       
   683 	if ( version_compare( $wp_version, '3.5-alpha', '>=' ) )
       
   684 		return;
       
   685 
       
   686 	// Ensure we only run this on the update-core.php page. wp_update_core() could be called in other contexts.
       
   687 	if ( 'update-core.php' != $pagenow )
       
   688 		return;
       
   689 
       
   690  	if ( 'do-core-upgrade' != $action && 'do-core-reinstall' != $action )
       
   691  		return;
       
   692 
       
   693 	// Load the updated default text localization domain for new strings
       
   694 	load_default_textdomain();
       
   695 
       
   696 	// See do_core_upgrade()
       
   697 	show_message( __('WordPress updated successfully') );
       
   698 
       
   699 	$js_message = __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%s">here</a>.' );
       
   700 	$js_message = str_replace( '"%s"', '"%2$s"', $js_message ); // in lieu of breaking the string.
       
   701 
       
   702 	// self_admin_url() won't exist when upgrading from <= 3.0, so relative URLs are intentional.
       
   703 	show_message( '<span class="hide-if-no-js">' . sprintf( $js_message, $new_version, 'about.php?updated' ) . '</span>' );
       
   704 	show_message( '<span class="hide-if-js">' . sprintf( __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $new_version, 'about.php?updated' ) . '</span>' );
       
   705 	echo '</div>';
       
   706 	?>
       
   707 <script type="text/javascript">
       
   708 window.location = 'about.php?updated';
       
   709 </script>
       
   710 	<?php
       
   711 
       
   712 	// Include admin-footer.php and exit
       
   713 	include(ABSPATH . 'wp-admin/admin-footer.php');
       
   714 	exit();
       
   715 }
       
   716 add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' );