Commit Graph

374 Commits

Author SHA1 Message Date
tellyworth
ed802428e3 Upgrade/install: fix verification bugs and scale back signature checks.
This fixes several bugs in the signature verification code:
Disables signature checks on certain incompatible PHP versions that cause math errors when opcache is enabled;
Prevents a spurious URL and subsequent error when downloading a zip file with query arguments;
Prevents errors triggered by third-party upgrade scripts as per #46615;
Disables signature tests for Plugins, Themes, and Translations, leaving only core updates.

At the 5.2 release the API servers will only provide signatures for core update packages, which is why messages are suppressed for plugins and other package types. Signatures for those other items will become available later.

Props dd32.
See #39309, #46615


Built from https://develop.svn.wordpress.org/trunk@45262


git-svn-id: http://core.svn.wordpress.org/trunk@45071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-04-24 07:44:51 +00:00
tellyworth
e38814f359 Upgrade/Install: Add experimental package signing to some updates.
This adds code for soft verification of signatures for theme and plugin installs and updates, when provided by the update server. This experimental version does not reject unverified packages or failed signatures; it simply reports anonymous errors so we can evaluate its feasibility and detect incompatibilities.

This code relies on the new sodium_compat library for PHP versions prior to 7.2.

Props dd32, paragoninitiativeenterprises.
See #39309, #45806.

Built from https://develop.svn.wordpress.org/trunk@44954


git-svn-id: http://core.svn.wordpress.org/trunk@44785 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 05:49:50 +00:00
John Blackbourn
c9b07e6411 Docs: Standardise and correct documentation relating to parameters which accept plugin names.
See #42505

Built from https://develop.svn.wordpress.org/trunk@42787


git-svn-id: http://core.svn.wordpress.org/trunk@42617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-05 21:50:31 +00:00
Sergey Biryukov
58592b64dc Docs: Use consistent description for $wp_filesystem global.
See #42505.
Built from https://develop.svn.wordpress.org/trunk@42777


git-svn-id: http://core.svn.wordpress.org/trunk@42607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-04 21:58:30 +00:00
Sergey Biryukov
0e802a627d General: Introduce WP_Error::has_errors() method and use it where appropriate.
Props robdxw, DrewAPicture, SergeyBiryukov.
Fixes #42742.
Built from https://develop.svn.wordpress.org/trunk@42761


git-svn-id: http://core.svn.wordpress.org/trunk@42591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-27 02:31:31 +00:00
Sergey Biryukov
0fea564b7d Docs: Remove @static notations from method DocBlocks in wp-admin/* classes.
This tag has been used in the past, but should no longer be used. Just using the `static` keyword in code is enough for PhpDocumentor on PHP5+ to recognize static variables and methods, and PhpDocumentor will mark them as static.

Props birgire.
See #42803.
Built from https://develop.svn.wordpress.org/trunk@42745


git-svn-id: http://core.svn.wordpress.org/trunk@42575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-25 20:06:30 +00:00
Gary Pendergast
aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


Built from https://develop.svn.wordpress.org/trunk@42343


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Dion Hulse
27116397c5 Upgrade: Fix updating plugins which include a numeric file/folder names.
The fix in [41821] caused numeric folder names to be reindexed to 0..n when in the root directory (for example, `my-plugin/24/`).

Props edo888.
See #41524.
Fixes #42628 for trunk.

Built from https://develop.svn.wordpress.org/trunk@42214


git-svn-id: http://core.svn.wordpress.org/trunk@42043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-21 04:15:47 +00:00
Dion Hulse
b35cf2f529 Upgrades: Remove the usage of each() from WP_Upgrader for PHP 7.2 compatibility.
Props chrisvendiadvertisingcom, dd32.
Fixes #41524

Built from https://develop.svn.wordpress.org/trunk@41821


git-svn-id: http://core.svn.wordpress.org/trunk@41655 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-11 04:24:50 +00:00
John Blackbourn
28eda6f4bc General: Improve terminology used when referring to installations of WordPress and its extensions.
"Install" is not a noun, and while it might be acceptable to use the verb as a noun, it is not correct. Using the correct
noun, "installation", increases clarity, especially for non-native English speakers.

This change fixes the usage in user-facing text and in developer documentation.

Fixes #41620

Built from https://develop.svn.wordpress.org/trunk@41289


git-svn-id: http://core.svn.wordpress.org/trunk@41129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-22 11:52:48 +00:00
Drew Jaynes
8c7f5367c0 Docs: Remove some more top-level @aacess tags from function DocBlocks.
See #414532.

Built from https://develop.svn.wordpress.org/trunk@41168


git-svn-id: http://core.svn.wordpress.org/trunk@41008 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 08:19:43 +00:00
Drew Jaynes
1a28ec87e1 Docs: Remove @access notations from method DocBlocks in wp-admin/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

Built from https://develop.svn.wordpress.org/trunk@41161


git-svn-id: http://core.svn.wordpress.org/trunk@41001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:40:43 +00:00
Sergey Biryukov
05a947c05a Docs: Correct a comment and @return entry in WP_Upgrader::create_lock().
Props markshep.
Fixes #38089.
Built from https://develop.svn.wordpress.org/trunk@38622


git-svn-id: http://core.svn.wordpress.org/trunk@38565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-18 20:16:29 +00:00
Scott Taylor
a3ffebce30 Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
See #36335.

Built from https://develop.svn.wordpress.org/trunk@38470


git-svn-id: http://core.svn.wordpress.org/trunk@38411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-31 16:31:29 +00:00
Scott Taylor
390ceba6c7 Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.

Built from https://develop.svn.wordpress.org/trunk@38411


git-svn-id: http://core.svn.wordpress.org/trunk@38352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 22:32:37 +00:00
Dion Hulse
0e31a46161 Bootstrap: Revert [38399] as it's broken /build/ and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335

Built from https://develop.svn.wordpress.org/trunk@38402


git-svn-id: http://core.svn.wordpress.org/trunk@38343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 14:37:32 +00:00
Scott Taylor
6a529648cf Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.

The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php

When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.

The future is now.

See #36335.

Built from https://develop.svn.wordpress.org/trunk@38399


git-svn-id: http://core.svn.wordpress.org/trunk@38340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 09:15:29 +00:00
Dominik Schilling
0d2106e2eb Upgrader: Rename class-wp-automatic-upgrader.php to class-wp-automatic-updater.php.
The class is named `WP_Automatic_Updater` not `WP_Automatic_Upgrader` like all the other upgrader classes. 

Introduced in [37409].
See #37628.
Built from https://develop.svn.wordpress.org/trunk@38242


git-svn-id: http://core.svn.wordpress.org/trunk@38183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-10 19:51:29 +00:00
Dominik Schilling
58d772a02f Upgrade/Install: Make some install/update failures more verbose.
An upgrader class is used in conjunction with an upgrader skin class. A skin class handles the logging for an upgrade and informs a user about the progress and failures.
The current Ajax install/update handlers are using the `Automatic_Upgrader_Skin` class because during an Ajax request no output is intended. The difference between Ajax updates and automatic updates is that you will see the full log (usually by email) while Ajax updates focus only on success or failure. For that `Automatic_Upgrader_Skin` has one disadvantage: It doesn't provide a way to retrieve failure messages which were passed through `WP_Upgrader_Skin::error()` by the upgrader.
To solve this issue a new skin `WP_Ajax_Upgrader_Skin` has been introduced. The skin extends `Automatic_Upgrader_Skin` and overrides the `error()` and `feedback()` methods to intercept all errors, which can be a `WP_Error` object or a string.

This updates all four Ajax handler for installing/updating themes/plugins to use the new skin. They now also check the skin for any intercepted errors and pass them on to the user.

Props flixos90, obenland, ocean90.
Props DrewAPicture, pento for review.
Fixes #37531.
Built from https://develop.svn.wordpress.org/trunk@38199


git-svn-id: http://core.svn.wordpress.org/trunk@38140 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-04 22:18:30 +00:00
Sergey Biryukov
48f9940cfc I18N: Change unnecessary uppercased words in WP_Upgrader::generic_strings() to lower case.
See #18218.
Built from https://develop.svn.wordpress.org/trunk@38074


git-svn-id: http://core.svn.wordpress.org/trunk@38015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 13:29:29 +00:00
Konstantin Obenland
8c82515ab6 Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.

Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.


Built from https://develop.svn.wordpress.org/trunk@37714


git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 16:37:29 +00:00
Dominik Schilling
bdd2199647 Upgrade: Trigger the upgrader_process_complete action for translation updates.
This brings `Language_Pack_Upgrader` in line with the core, theme, and plugin upgrader.

Props ronalfy.
Fixes #36872.
Built from https://develop.svn.wordpress.org/trunk@37687


git-svn-id: http://core.svn.wordpress.org/trunk@37653 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-11 17:44:28 +00:00
Drew Jaynes
62d4798863 Docs: Update hook docs for the upgrader_package_options filter and upgrader_process_complete action to reflect expected values in the core, language pack, theme, and plugin contexts.
Props nextendweb for the initial patch.
See [37550]. Fixes #36875.

Built from https://develop.svn.wordpress.org/trunk@37558


git-svn-id: http://core.svn.wordpress.org/trunk@37526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-25 14:45:27 +00:00
Drew Jaynes
ada2858cd9 Docs: Fix the hook doc for upgrader_process_complete to notate all values that might be present in the hook_extra array in the various update contexts.
h/t Nextendweb.

See #32246.

Built from https://develop.svn.wordpress.org/trunk@37550


git-svn-id: http://core.svn.wordpress.org/trunk@37518 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-24 17:52:30 +00:00
Drew Jaynes
c3055cc190 Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

Built from https://develop.svn.wordpress.org/trunk@37488


git-svn-id: http://core.svn.wordpress.org/trunk@37456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:01:30 +00:00
Sergey Biryukov
117cef2d46 Docs: Correct variable type for WP_Upgrader::$strings.
Props mt8.biz.
Fixes #36883.
Built from https://develop.svn.wordpress.org/trunk@37462


git-svn-id: http://core.svn.wordpress.org/trunk@37430 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-19 00:36:27 +00:00
Dominik Schilling
1564bd2c1f Upgrader: Remove debug cruft.
See #36618.
Built from https://develop.svn.wordpress.org/trunk@37413


git-svn-id: http://core.svn.wordpress.org/trunk@37379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-10 18:32:28 +00:00
Dominik Schilling
a8525b1109 Upgrader: After [37409] move the hook docs for upgrader_process_complete to WP_Upgrader::run().
Add changelog entry for [23912].

Part 7/8.
See #36618.
Built from https://develop.svn.wordpress.org/trunk@37412


git-svn-id: http://core.svn.wordpress.org/trunk@37378 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-10 12:20:27 +00:00
Dominik Schilling
5844c585f6 Upgrader: Update wp-admin/includes/class-wp-upgrader.php to require_once the new files added in [37406] and [37409].
Part 6/8.
See #36618.
Built from https://develop.svn.wordpress.org/trunk@37411


git-svn-id: http://core.svn.wordpress.org/trunk@37377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-10 11:59:27 +00:00
Drew Jaynes
fe3b007fdd Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.

Built from https://develop.svn.wordpress.org/trunk@37342


git-svn-id: http://core.svn.wordpress.org/trunk@37308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-02 04:00:28 +00:00
Dominik Schilling
7b03510520 Upgrader: Clear plugin/theme caches directly after a plugin/theme has been updated.
`wp_update_plugins()` and `wp_update_themes()` are both hooked into `upgrader_process_complete` with priority 10. But at this stage the caches in `get_plugins()`, `search_theme_directories()`, and `wp_get_themes()` aren't refreshed yet so both functions couldn't fetch any translations for the new plugin/theme.
To reset the caches, `wp_clean_themes_cache()` and `wp_clean_plugins_cache()` are now hooked into `upgrader_process_complete` with priority 9.

This is a follow-up to [34751].

See #34029.
Fixes #36383.
Built from https://develop.svn.wordpress.org/trunk@37272


git-svn-id: http://core.svn.wordpress.org/trunk@37238 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-21 09:09:28 +00:00
John Blackbourn
852f085d19 Docs: The $update_result parameter passed to WP_Automatic_Updater::after_core_update() is never a WP_Error. If an error is returned, the error object lives in the result property of the paramter.
See #32246

Built from https://develop.svn.wordpress.org/trunk@36995


git-svn-id: http://core.svn.wordpress.org/trunk@36962 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-14 22:43:27 +00:00
Drew Jaynes
08e7c845cc Docs: Improve documentation for WP_Upgrader::release_lock(), introduced in [36349].
See #34878. See #35986.

Built from https://develop.svn.wordpress.org/trunk@36822


git-svn-id: http://core.svn.wordpress.org/trunk@36789 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 07:11:25 +00:00
Drew Jaynes
1dc0a9a5f7 Docs: Improve documentation for WP_Upgrader::create_lock(), introduced in [36349].
See #34878. See #35986.

Built from https://develop.svn.wordpress.org/trunk@36821


git-svn-id: http://core.svn.wordpress.org/trunk@36788 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-03 07:08:25 +00:00
Dion Hulse
65182e4dc8 Upgrade: Switch the locking mechanism to using static methods so that it can be accessed from other upgrade-classes.
Fixes #34878

Built from https://develop.svn.wordpress.org/trunk@36370


git-svn-id: http://core.svn.wordpress.org/trunk@36337 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-21 01:22:25 +00:00
Dion Hulse
006ae74d4c Core Upgrader: Add a locking mechanism to avoid two concurrent updates of WordPress occuring.
Fixes #34878

Built from https://develop.svn.wordpress.org/trunk@36349


git-svn-id: http://core.svn.wordpress.org/trunk@36316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-19 05:07:26 +00:00
Dion Hulse
be94558c46 Upgrader: Pass the $args['hook_extra'] context to the upgrader_source_selection filter.
Props afragen
Fixes #34696

Built from https://develop.svn.wordpress.org/trunk@35642


git-svn-id: http://core.svn.wordpress.org/trunk@35606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-16 02:47:25 +00:00
Dominik Schilling
1f15d30396 Upgrade: Revert [34543] because of incomplete and incorrect functionality.
See #33932.
Fixes #34434.
Built from https://develop.svn.wordpress.org/trunk@35619


git-svn-id: http://core.svn.wordpress.org/trunk@35583 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-11 22:46:26 +00:00
Dion Hulse
2103984c02 Fix a typo in a docblock
Built from https://develop.svn.wordpress.org/trunk@35586


git-svn-id: http://core.svn.wordpress.org/trunk@35550 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-09 03:38:26 +00:00
Sergey Biryukov
d6e25c0aae Remove <code> tags from translatable strings in wp-admin/includes/class-wp-upgrader.php.
Add translator comments.

Props ramiy.
Fixes #34580.
Built from https://develop.svn.wordpress.org/trunk@35551


git-svn-id: http://core.svn.wordpress.org/trunk@35515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-06 00:41:25 +00:00
Drew Jaynes
217b661703 Docs: Add missing descriptions for the $wpdb global in DocBlocks all the places.
See #32246.

Built from https://develop.svn.wordpress.org/trunk@35170


git-svn-id: http://core.svn.wordpress.org/trunk@35136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-14 23:44:25 +00:00
Drew Jaynes
57e69d4a3f Upgrader: Introduce a new action hook pre_auto_update, which fires immediately prior to an auto-update for core, themes, plugins, or translations.
Props DavidAnderson, welcher.
Fixes #30441.

Built from https://develop.svn.wordpress.org/trunk@35144


git-svn-id: http://core.svn.wordpress.org/trunk@35110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-13 18:58:25 +00:00
Jeremy Felt
9926983b66 Revert [34778], continue using _site_option() for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.

Built from https://develop.svn.wordpress.org/trunk@34912


git-svn-id: http://core.svn.wordpress.org/trunk@34877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 17:11:25 +00:00
Boone Gorges
0e7c1d3b14 Use wp_installing() instead of WP_INSTALLING constant.
The `WP_INSTALLING` constant is a flag that WordPress sets in a number of
places, telling the system that options should be fetched directly from the
database instead of from the cache, that WP should not ping wordpress.org for
updates, that the normal "not installed" checks should be bypassed, and so on.

A constant is generally necessary for this purpose, because the flag is
typically set before the WP bootstrap, meaning that WP functions are not yet
available.  However, it is possible - notably, during `wpmu_create_blog()` -
for the "installing" flag to be set after WP has already loaded. In these
cases, `WP_INSTALLING` would be set for the remainder of the process, since
there's no way to change a constant once it's defined. This, in turn, polluted
later function calls that ought to have been outside the scope of site
creation, particularly the non-caching of option data. The problem was
particularly evident in the case of the automated tests, where `WP_INSTALLING`
was set the first time a site was created, and remained set for the rest of the
suite.

The new `wp_installing()` function allows developers to fetch the current
installation status (when called without any arguments) or to set the
installation status (when called with a boolean `true` or `false`). Use of
the `WP_INSTALLING` constant is still supported; `wp_installing()` will default
to `true` if the constant is defined during the bootstrap.

Props boonebgorges, jeremyfelt.
See #31130.
Built from https://develop.svn.wordpress.org/trunk@34828


git-svn-id: http://core.svn.wordpress.org/trunk@34793 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-05 15:06:28 +00:00
Jeremy Felt
54512d64cb MS: Use *_network_option() functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.

Built from https://develop.svn.wordpress.org/trunk@34778


git-svn-id: http://core.svn.wordpress.org/trunk@34743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-02 19:08:26 +00:00
Dominik Schilling
18413f3e81 Upgrader: Clear plugin/theme caches directly after a plugin/theme has been installed.
`wp_update_plugins()` and `wp_update_themes()` are both hooked into `upgrader_process_complete` with priority 10. But at this stage the caches in `get_plugins()`, `search_theme_directories()`, and `wp_get_themes()` aren't refreshed yet so both functions couldn't fetch any translations for the new plugin/theme.
To reset the caches `wp_clean_themes_cache()` and `wp_clean_plugins_cache()` are now hooked into `upgrader_process_complete` with priority 9.

Fixes #34029.
Built from https://develop.svn.wordpress.org/trunk@34751


git-svn-id: http://core.svn.wordpress.org/trunk@34716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 21:21:25 +00:00
Dominik Schilling
113a9d4517 Language Upgrader: Re-use the automatic upgrader skin if the parent upgrader is using it.
Prevents broken Ajax responses when `Language_Pack_Upgrader::async_upgrade()` gets triggered during a shiny update.

Fixes #34048.
Built from https://develop.svn.wordpress.org/trunk@34748


git-svn-id: http://core.svn.wordpress.org/trunk@34713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 20:25:26 +00:00
Drew Jaynes
8b4c499664 Docs: There are quite alot of typos in core inline comments.
See #32246.

Built from https://develop.svn.wordpress.org/trunk@34717


git-svn-id: http://core.svn.wordpress.org/trunk@34681 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-30 04:13:48 +00:00
John Blackbourn
aa35e473f7 callback is not a valid type in PHP, PSR-5, or phpDocumentor. callable should be used instead.
Fixes #34032

Built from https://develop.svn.wordpress.org/trunk@34566


git-svn-id: http://core.svn.wordpress.org/trunk@34530 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 23:58:25 +00:00
John Blackbourn
c69ec5a19a Introduce a send_update_notification_email which controls whether an update notification email is sent for background updates. This filter allows control over each of the update types (plugin, theme, translation) and compliments the automatic_updates_send_debug_email and send_core_update_notification_email filters.
Fixes #33932
Props ronalfy

Built from https://develop.svn.wordpress.org/trunk@34543


git-svn-id: http://core.svn.wordpress.org/trunk@34507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-25 14:29:23 +00:00
Drew Jaynes
9dba452afc Docs: Standardize and clarify class DocBlocks for all of the Upgrade API classes.
Standardizes summaries and tags for the following classes:

* `WP_Upgrader`
* `Plugin_Upgrader`
* `Theme_Upgrader`
* `Language_Pack_Upgrader`
* `Core_Upgrader`
* `File_Upload_Upgrader`
* `WP_Automatic_Updater`

See #32246.

Built from https://develop.svn.wordpress.org/trunk@34499


git-svn-id: http://core.svn.wordpress.org/trunk@34463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:54:25 +00:00
Drew Jaynes
dae68e1485 Docs: Clarify the file header for wp-admin/includes/class-wp-upgrader.php.
See #33701.

Built from https://develop.svn.wordpress.org/trunk@34498


git-svn-id: http://core.svn.wordpress.org/trunk@34462 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:44:25 +00:00
Drew Jaynes
8c0a805273 Docs: Mark the optional $upgrader parameter as such and add a description in the DocBlock for Language_Pack_Upgrader::async_upgrade().
See [32655].

See #30989. See #32246.

Built from https://develop.svn.wordpress.org/trunk@34497


git-svn-id: http://core.svn.wordpress.org/trunk@34461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 14:35:25 +00:00
Drew Jaynes
416df545ba Docs: Fix a variety of inline documentation syntax issues and add some strategic spacing.
Fixes #29086.

Built from https://develop.svn.wordpress.org/trunk@33685


git-svn-id: http://core.svn.wordpress.org/trunk@33652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-21 04:13:24 +00:00
Drew Jaynes
3bb87e08e4 Docs: Add missing @access tags to properties and methods in wp-admin/includes/class-wp-upgrader.
See #29086.

Built from https://develop.svn.wordpress.org/trunk@33684


git-svn-id: http://core.svn.wordpress.org/trunk@33651 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-21 04:05:25 +00:00
Drew Jaynes
73d6dec8eb Docs: Correct a typo in the summary for the Theme_Upgrader->bulk property.
Also adds a couple of missing `@access` tags.

Props kraftbj
See #29086.

Built from https://develop.svn.wordpress.org/trunk@33683


git-svn-id: http://core.svn.wordpress.org/trunk@33650 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-21 03:15:25 +00:00
Dominik Schilling
dc4c2fa0bf Upgrade: Lowercase the "s" in remove_all_filters().
props afragen.
fixes #33173.
Built from https://develop.svn.wordpress.org/trunk@33487


git-svn-id: http://core.svn.wordpress.org/trunk@33454 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 14:57:25 +00:00
Mark Jaquith
4965581097 Don't blindly trust the output of glob() to be an array.
props kitchin
fixes #33093
Built from https://develop.svn.wordpress.org/trunk@33447


git-svn-id: http://core.svn.wordpress.org/trunk@33414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-27 18:05:24 +00:00
Drew Jaynes
0322d0e89b Fix inline documentation syntax in the WP_Upgrader->clear_destination() method added in 4.3.
See [32854]. See #32891.

Built from https://develop.svn.wordpress.org/trunk@33209


git-svn-id: http://core.svn.wordpress.org/trunk@33181 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 19:46:25 +00:00
Scott Taylor
642af1f3f4 Some doc blocks should use bool instead of true|false
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32963


git-svn-id: http://core.svn.wordpress.org/trunk@32934 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 00:45:24 +00:00
Scott Taylor
032ea5b132 Add access modifier to WP_Upgrader::clear_destination()
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32871


git-svn-id: http://core.svn.wordpress.org/trunk@32842 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 21:53:25 +00:00
Dion Hulse
8593dc3172 When updating plugins/themes verify that the files to be deleted can be modified before starting the deletion process.
This will avoid partially deleting an item during update which has inconsistent permissions.
This change only affects those using the direct & ssh transports as FTP's is_writable() currently always returns `true`.
Fixes #30921

Built from https://develop.svn.wordpress.org/trunk@32854


git-svn-id: http://core.svn.wordpress.org/trunk@32825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 03:49:25 +00:00
Dion Hulse
c6bb637f89 Updats: Add a filter for the options params for the update being performed.
Props nofearinc. Fixes #27754

Built from https://develop.svn.wordpress.org/trunk@32783


git-svn-id: http://core.svn.wordpress.org/trunk@32754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-15 05:35:26 +00:00
Scott Taylor
b3e0cfd25d Add (more) missing doc blocks to wp-admin/includes/*.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32655


git-svn-id: http://core.svn.wordpress.org/trunk@32625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 21:17:27 +00:00
Scott Taylor
a51dfa3971 In the style of #30947 and default-filters.php, add 2 new files to wp-admin/includes:
`admin-filters.php`
`ms-admin-filters.php`

There are random actions and filters littered among files like `misc.php`. These files contain functions that won't work outside of admin context and are typically only loaded in files that have already loaded the admin bootstrap.

See #32529.

Built from https://develop.svn.wordpress.org/trunk@32653


git-svn-id: http://core.svn.wordpress.org/trunk@32623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 17:04:26 +00:00
Scott Taylor
19a3aacc94 Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32650


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Scott Taylor
b56b9b3e5c Add @global annotations for wp-admin/*.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32642


git-svn-id: http://core.svn.wordpress.org/trunk@32612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-28 21:41:30 +00:00
John Blackbourn
d05236f756 Introduce a string representing bulk plugin update success, ready for string freeze. Not used yet.
See #31770.

Built from https://develop.svn.wordpress.org/trunk@31991


git-svn-id: http://core.svn.wordpress.org/trunk@31970 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-03 00:18:27 +00:00
Dion Hulse
3dc53770b7 Upgrader: When creating a temporary working directory, strip off .tmp as well as .zip incase we end up using that directory as the items main directory.
Fixes #30945

Built from https://develop.svn.wordpress.org/trunk@31863


git-svn-id: http://core.svn.wordpress.org/trunk@31842 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-23 04:40:27 +00:00
Sergey Biryukov
42b9557137 Remove leading newlines from two translatable strings.
fixes #29480.
Built from https://develop.svn.wordpress.org/trunk@31844


git-svn-id: http://core.svn.wordpress.org/trunk@31826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-20 02:42:26 +00:00
Scott Taylor
bce851dcf2 Replace array_shift() with reset() where appropriate for performance.
Props SergeyBiryukov.
Fixes #31259.

Built from https://develop.svn.wordpress.org/trunk@31829


git-svn-id: http://core.svn.wordpress.org/trunk@31811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-19 03:56:27 +00:00
Sergey Biryukov
6fd67ad80e Correct parameter types for Plugin_Upgrader::bulk_upgrade() and Theme_Upgrader::bulk_upgrade().
props ipm-frommen.
fixes #31312.
Built from https://develop.svn.wordpress.org/trunk@31441


git-svn-id: http://core.svn.wordpress.org/trunk@31422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-13 04:19:27 +00:00
Dion Hulse
e8f032c747 WP_Upgrader: Remove references to non-existant variables that have never existed.
Props jdgrimes. Fixes  #29087

Built from https://develop.svn.wordpress.org/trunk@31327


git-svn-id: http://core.svn.wordpress.org/trunk@31308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-03 06:18:24 +00:00
Scott Taylor
4a1ad9acec Jump statements should not be followed by other statements (there were 5 lingering).
See #30799.

Built from https://develop.svn.wordpress.org/trunk@31100


git-svn-id: http://core.svn.wordpress.org/trunk@31081 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 21:15:22 +00:00
Scott Taylor
60b0cd7943 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31090


git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Dion Hulse
5661464d35 Background Updates: Pass back whether Group Writable support is being leveraged for an update to the WordPress.org API.
See #30245

Built from https://develop.svn.wordpress.org/trunk@30860


git-svn-id: http://core.svn.wordpress.org/trunk@30850 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-15 14:08:23 +00:00
Andrew Nacin
180c596d7b Rename _wp_clear_update_cache() to wp_clean_update_cache().
This makes it match most cache-clearing functions, including the ones it wraps. Also no need for it to be prefixed as "private."

wp_clean_plugins_cache() doesn't always exist, so as a quick fix, clear the transient we care to clear.

see #30369.

Built from https://develop.svn.wordpress.org/trunk@30856


git-svn-id: http://core.svn.wordpress.org/trunk@30846 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-15 08:55:22 +00:00
Andrew Ozz
ef0501e1bc Better docs for Plugin_Upgrader::deactivate_plugin_before_upgrade(). Props DrewAPicture. Fixes #29088.
Built from https://develop.svn.wordpress.org/trunk@30762


git-svn-id: http://core.svn.wordpress.org/trunk@30752 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 01:19:24 +00:00
Andrew Ozz
1bb4b6a82b Always return a value in Plugin_Upgrader::deactivate_plugin_before_upgrade(). Props jdgrimes. Fixes #29088.
Built from https://develop.svn.wordpress.org/trunk@30761


git-svn-id: http://core.svn.wordpress.org/trunk@30751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 00:53:23 +00:00
Drew Jaynes
473ebca2af Add missing DocBlocks and parameter descriptions for a wide variety of properties and methods in WP_Upgrader, Plugin_Upgrader, Theme_Upgrader, Language_Pack_Upgrader, Core_Upgrader, and File_upload_Upgrader.
Props jdgrimes, DrewAPicture.

See #29086.

Built from https://develop.svn.wordpress.org/trunk@30758


git-svn-id: http://core.svn.wordpress.org/trunk@30748 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 00:26:22 +00:00
Drew Jaynes
c4b9da857a Using let's properly in inline comments lets us move on to more pressing matters of inline documentation.
Props trepmal.
Fixes #30570.

Built from https://develop.svn.wordpress.org/trunk@30703


git-svn-id: http://core.svn.wordpress.org/trunk@30693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 04:43:22 +00:00
Drew Jaynes
78bb3e5ff5 Docs Formatting: Backtick-escape inline code for all dynamic hook docs in wp-admin/includes/*.
Also adds a few inline `@see` cross-references as they apply.

Affects DocBlocks for the following hooks:
* `views_{$this->screen->id}`
* `bulk_actions-{$this->screen->id}`
* `manage_{$this->screen->id}_sortable_columns`
* `theme_action_links_$stylesheet`
* `after_theme_row_$stylesheet`
* `install_plugins_table_api_args_$tab`
* `$prefix . plugin_action_links`
* `after_plugin_row_$plugin_file`
* `manage_taxonomies_for_{$post_type}_columns`
* `manage_{$post_type}_posts_columns`
* `manage_{$post->post_type}_posts_custom_column`
* `{$taxonomy}_row_actions`
* `manage_{$this->screen->taxonomy}_custom_column`
* `install_themes_table_api_args_' . $tab`
* `auto_update_ . $type`
* `{$action}_prefilter`
* `admin_head_{$content_func}`
* `nav_menu_items_{$post_type_name}`
* `activate_ . $plugin`
* `deactivate_ . $plugin`
* `edit_{$post_type}_per_page`
* `postbox_classes_{$page}_{$id}`
* `_wp_post_revision_field_$field`
* `manage_{$screen->id}_columns`
* `in_plugin_update_message-{$file}`
* `in_theme_update_message-{$theme_key}`

See #30552.

Built from https://develop.svn.wordpress.org/trunk@30648


git-svn-id: http://core.svn.wordpress.org/trunk@30638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 11:28:24 +00:00
Dominik Schilling
e39c43ad6c Clear update caches when site language is changed.
The update screen has a re-install button which could show the wrong language locale after the site language was changed. That's because the update data is cached. 
Introduce `_wp_clear_update_cache()` as a helper function to clean up the update cache.

props SergeyBiryukov, ocean90.
fixes #30369.
Built from https://develop.svn.wordpress.org/trunk@30554


git-svn-id: http://core.svn.wordpress.org/trunk@30543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 22:50:22 +00:00
Dion Hulse
9b9289e0a3 Background Updates: Introduce support to take advantage of Group Writable (or World Writable) to Core Background updates.
This is only enabled when new files will not be installed during the update (as indicated by the WordPress.org API), and does not apply to Plugin/Theme/Translation Background Updates.

Additionally, the code to determine if the 'direct' filesystem transport should be used has been tweaked for wider support (where getmyuid() was unavailalbe) which fixes #10424

See #10205, #30245

Built from https://develop.svn.wordpress.org/trunk@30384


git-svn-id: http://core.svn.wordpress.org/trunk@30381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-19 05:40:23 +00:00
Scott Taylor
73c8e4cf10 Declare the $update_count and $update_current properties for WP_Upgrader.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30171


git-svn-id: http://core.svn.wordpress.org/trunk@30171 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 23:07:23 +00:00
Mark Jaquith
e1f2b3b9e2 Use HTTPS URLs for trac.wordpress.org (and use core.trac.wordpress.org)
see #27115
Built from https://develop.svn.wordpress.org/trunk@29789


git-svn-id: http://core.svn.wordpress.org/trunk@29561 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 13:37:16 +00:00
Mark Jaquith
0d3b83551f Use HTTPS URLs for core.trac.wordpress.org
see #27115
Built from https://develop.svn.wordpress.org/trunk@29788


git-svn-id: http://core.svn.wordpress.org/trunk@29560 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 13:28:16 +00:00
Dominik Schilling
de59e21b62 Language Pack Upgrader: Allow to disable asynchronously translation updates.
* Don't touch VCS installs.
* Use the `async_update_translation` filter (which corresponds exactly to `auto_update_translation`) to entirely disable it, or based on the update offer. 

props nacin, ocean90.
fixes #28571.
Built from https://develop.svn.wordpress.org/trunk@29694


git-svn-id: http://core.svn.wordpress.org/trunk@29469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 10:38:17 +00:00
Dion Hulse
e8f6320bb4 Language Pack Upgrader: Remove ALL pre-existing filters before performing a translation update these filters may act in an unexpected way during the upgrade process.
See #29230. Fixes #29425.

Built from https://develop.svn.wordpress.org/trunk@29685


git-svn-id: http://core.svn.wordpress.org/trunk@29460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-03 05:38:14 +00:00
Dominik Schilling
c6af00d8b0 Language Pack Upgrader: Check return value before accessing the first array key.
Prevents a fatal error when Language_Pack_Upgrader::bulk_upgrade() returns a WP_Error object.

fixes #29470.
Built from https://develop.svn.wordpress.org/trunk@29675


git-svn-id: http://core.svn.wordpress.org/trunk@29450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-02 18:28:17 +00:00
Dominik Schilling
9972b54e62 Theme Upgrader: Set is_multi to true when doing bulk upgrades.
fixes #29234.
Built from https://develop.svn.wordpress.org/trunk@29622


git-svn-id: http://core.svn.wordpress.org/trunk@29396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-26 09:24:17 +00:00
Dominik Schilling
5a67538b40 Language Pack Upgrader: Remove any pre-existing package checks and then set the new one for translations.
fixes #29230.
Built from https://develop.svn.wordpress.org/trunk@29621


git-svn-id: http://core.svn.wordpress.org/trunk@29395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-26 09:20:18 +00:00
Drew Jaynes
d33c807723 Fix some documentation typos in various core files.
Props vlajos.
Fixes #29199.

Built from https://develop.svn.wordpress.org/trunk@29479


git-svn-id: http://core.svn.wordpress.org/trunk@29257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 03:56:17 +00:00
Drew Jaynes
097dc8ee15 Fix syntax for single- and multi-line comments in wp-admin-directory files.
See #28931.

Built from https://develop.svn.wordpress.org/trunk@29206


git-svn-id: http://core.svn.wordpress.org/trunk@28990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-17 09:14:16 +00:00
Sergey Biryukov
489693cd30 Remove non-breaking spaces from auto update email text.
props trepmal.
fixes #28715.
Built from https://develop.svn.wordpress.org/trunk@28956


git-svn-id: http://core.svn.wordpress.org/trunk@28752 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-02 12:46:17 +00:00
Scott Taylor
c403768fa2 Remove some dead variable assignments.
See #27882.


Built from https://develop.svn.wordpress.org/trunk@28629


git-svn-id: http://core.svn.wordpress.org/trunk@28449 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-30 16:59:14 +00:00
Sergey Biryukov
219321eedc Fix inconsistent header underlining and spacing in background update emails.
fixes #28306.
Built from https://develop.svn.wordpress.org/trunk@28537


git-svn-id: http://core.svn.wordpress.org/trunk@28363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 09:41:15 +00:00
Scott Taylor
1383990ae2 Add access modifier (public) to methods and members of WP_Upgrader and its subclasses.
See #27881, #22234.

Built from https://develop.svn.wordpress.org/trunk@28496


git-svn-id: http://core.svn.wordpress.org/trunk@28322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 01:29:15 +00:00
Scott Taylor
b9afafffe3 hackificator complains if you call include 'file.php' without the parens, needs to be include( 'file.php' )
See #27881.

Built from https://develop.svn.wordpress.org/trunk@28479


git-svn-id: http://core.svn.wordpress.org/trunk@28306 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 20:52:15 +00:00
Scott Taylor
4ce9706db1 Add inline comment after fix in [28467].
Props jesin.
Fixes #28292.


Built from https://develop.svn.wordpress.org/trunk@28468


git-svn-id: http://core.svn.wordpress.org/trunk@28295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-17 15:42:14 +00:00