Commit Graph

290 Commits

Author SHA1 Message Date
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