57 Commits

Author SHA1 Message Date
Scott Taylor
5b85526344 Add missing doc blocks to update.php:
* `wp_version_check()`, `wp_update_plugins()`, and `wp_update_themes()` do not return meaningful responses, and their responses are never handled by core. As such, they shouldn't alternately return `void` or `false`. "Returning" in those functions is just "bailing"
* In the same functions, `version.php` doesn't need to load if `WP_INSTALLING` is defined - the function will immediately bail, the values will never be read, and the globals won't be reset. I have unified the approach in all 3 functions.
* When returning filtered `$locale`, there is no need to set the variable twice.
* In `_maybe_update_core()`, `isset()` can take multiple values to bail before the call to `time()`, if necessary. This is a micro-optimization to prevent PHP from hitting the OS unnecessarily.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32635 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-28 15:28:10 +00:00
Dominik Schilling (ocean90)
60f95452a4 Don't try to call wp_clean_plugins_cache(); twice in wp_clean_update_cache().
props TobiasBg.
fixes #31503.

git-svn-id: https://develop.svn.wordpress.org/trunk@31825 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-18 22:06:17 +00:00
Sergey Biryukov
8c5057119e Revert the part of [31168] that [31701] was trying to fix.
`default-filters.php` is loaded before the `$current_site` global is set, so `is_main_site()` cannot be used there.

fixes #30947.

git-svn-id: https://develop.svn.wordpress.org/trunk@31708 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 23:19:02 +00:00
Sergey Biryukov
8f0910aee4 Don't run update checks for AJAX requests after [31168].
fixes #30947.

git-svn-id: https://develop.svn.wordpress.org/trunk@31701 602fd350-edb4-49c9-b593-d223f7449a82
2015-03-10 19:29:31 +00:00
John Blackbourn
fa36ce3810 Revert [30696] pending further investigation.
See #31011, #13071


git-svn-id: https://develop.svn.wordpress.org/trunk@31390 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-09 21:49:18 +00:00
Scott Taylor
865185903b There are some random add_action() and add_filter() calls littered around some files in wp-includes/. These should be moved to wp-includes/default-filters.php with the rest of the registered hooks. It seems like this was the best practice for awhile and then we randomly stopped. This file loads way before any of the includes, so the hooks will be registered for any request that loads WordPress, even SHORTINIT - a lot of the hooks registered won't run anyways (that's already the case).
See #30947.


git-svn-id: https://develop.svn.wordpress.org/trunk@31168 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-12 16:39:39 +00:00
Andrew Nacin
b38c603682 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@30856 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-15 08:54:14 +00:00
John Blackbourn
0216b01a69 Ensure the theme and plugin update checks are always in sync with the current theme and plugin versions before fetching cached update data. This change only triggers a request to the update API when necessary.
Fixes #13071
Props bswatson


git-svn-id: https://develop.svn.wordpress.org/trunk@30696 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-02 01:51:10 +00:00
Scott Taylor
6bb2a4ce36 Improve the @param docs for src/includes/theme.php and src/includes/update.php.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30672 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 22:43:27 +00:00
Dominik Schilling (ocean90)
f38be98c89 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@30554 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-24 22:49:13 +00:00
Dion Hulse
9d0c957410 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


git-svn-id: https://develop.svn.wordpress.org/trunk@30384 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-19 05:39:52 +00:00
Gary Pendergast
0e68ecc0b6 Add wp_json_encode(), a wrapper for json_encode() that ensures everything is converted to UTF-8.
Change all core calls from `json_encode()` to `wp_json_encode()`.

Fixes #28786.



git-svn-id: https://develop.svn.wordpress.org/trunk@30055 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-28 18:34:16 +00:00
Andrew Nacin
b00097b758 Add 'Details' links to installed plugins.
Installed plugins that are up to date are now returned in the update-check API response.

props tellyworth.
see #17902.


git-svn-id: https://develop.svn.wordpress.org/trunk@29226 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-18 20:48:28 +00:00
Sergey Biryukov
94be170877 Use direct typecasting instead of intval() for better performance.
props kovshenin.
see #25788.

git-svn-id: https://develop.svn.wordpress.org/trunk@28823 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-24 16:05:54 +00:00
Sergey Biryukov
b11b6f2f2b Simplify the code for calculating plugin API check timeout.
props leewillis77.
fixes #28600.

git-svn-id: https://develop.svn.wordpress.org/trunk@28805 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-23 14:30:14 +00:00
John Blackbourn
dbc30e94b3 Increase the timeout for plugin and theme update checks based on how many are being checked. Props dd32. Fixes #25788
git-svn-id: https://develop.svn.wordpress.org/trunk@28782 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-19 23:20:15 +00:00
Scott Taylor
e43d2a73d8 Fix some hackificator odds and ends in wp-admin:
* `wp-activate.php` and `wp-admin/themes.php` don't need the closing PHP tag
* Switch single quotes for HTML attribute values to double in a few places
* Convert `include_once file.php` syntax to `include_once( 'file.php' )`
* Add access modifiers to methods/members in: `_WP_List_Table_Compat`, `Walker_Nav_Menu_Edit`, `Walker_Nav_Menu_Checklist`, `WP_Screen`, `Walker_Category_Checklist`
* `edit_user()` doesn't need to import the `$wpdb` global
* `wp_list_widgets()` doesn't need to import the `$sidebars_widgets` global
* switch/endswitch syntax is not supported in Hack
* A `<ul>` in `wp-admin/users.php` is unclosed

See #27881.


git-svn-id: https://develop.svn.wordpress.org/trunk@28500 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-19 05:03:44 +00:00
Scott Taylor
1b4e4e665a hackificator complains if you call include 'file.php' without the parens, needs to be include( 'file.php' )
See #27881.


git-svn-id: https://develop.svn.wordpress.org/trunk@28479 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-18 20:51:44 +00:00
Andrew Nacin
aeef0e992a Translate a string added in 3.7.1 but never translated previously.
props SergeyBiryukov.
fixes #27819.


git-svn-id: https://develop.svn.wordpress.org/trunk@28145 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 00:37:59 +00:00
Andrew Nacin
0437f710a5 Allow the API to add text to auto update emails.
fixes #27812.


git-svn-id: https://develop.svn.wordpress.org/trunk@28134 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-15 08:51:23 +00:00
Andrew Nacin
61cb5d3e49 Add a TTL to core update checks to allow us to narrow the 12-hour update window.
props dd32.
fixes #27772.


git-svn-id: https://develop.svn.wordpress.org/trunk@28129 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-15 02:22:07 +00:00
Dion Hulse
ce76432676 Background Updates: Fix a PHP Warning caused by a Upgrader instance being passed into the Theme & Plugin $extra_stats parameter. See #27633
git-svn-id: https://develop.svn.wordpress.org/trunk@27928 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-03 05:32:02 +00:00
Dion Hulse
c86d9021c5 Background Updates: Fix two variable typos in r27905
git-svn-id: https://develop.svn.wordpress.org/trunk@27906 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 13:12:28 +00:00
Dion Hulse
48025fabd5 Background Updates: Record Plugin & Theme update statistics like we for for Core updates, Pass Plugin/Theme update objects into the Background updater for consistency with Core & Translations. See #27633
git-svn-id: https://develop.svn.wordpress.org/trunk@27905 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-02 13:04:30 +00:00
Andrew Nacin
f3a23fb43f Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
props Ipstenu, markjaquith.
see #27115.


git-svn-id: https://develop.svn.wordpress.org/trunk@27369 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-03 02:33:24 +00:00
Drew Jaynes
647f80595d Remove all @package and @subpackage PHPDoc tags not at the file- or class-levels in core.
See #27200.


git-svn-id: https://develop.svn.wordpress.org/trunk@27262 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-25 17:13:08 +00:00
Dion Hulse
c4e0aa63d9 Updates: Force an update check to occur when the 'Check Again' button is used in the Dashboard. Fixes #25831
git-svn-id: https://develop.svn.wordpress.org/trunk@26192 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-15 03:04:00 +00:00
Dion Hulse
c7710e4238 Invalidate the 'update_core' Update check transient when $wp_version changes. See #25831
git-svn-id: https://develop.svn.wordpress.org/trunk@26188 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-15 02:34:37 +00:00
Dion Hulse
6d70a797be Background Updates: Spread them over the hour. Props Pento. Fixes #25833 for trunk
git-svn-id: https://develop.svn.wordpress.org/trunk@26149 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-14 04:03:27 +00:00
Sergey Biryukov
a2aed7b119 Fix docblock formatting. fixes #25893.
git-svn-id: https://develop.svn.wordpress.org/trunk@26081 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-11 13:31:19 +00:00
Andrew Nacin
1694272bff When an HTTPS request to api.wordpress.org fails, try an insecure HTTP request and issue a warning.
Certain versions of cURL appear to claim OpenSSL support but fail to work. We need to not trap users on older versions while we work this out, and instead fall back to an insecure request.

see #25716 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@25956 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-27 21:08:25 +00:00
Ryan Boren
30f822b8ee Pinking shears
git-svn-id: https://develop.svn.wordpress.org/trunk@25880 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-23 14:37:54 +00:00
Andrew Nacin
ff69fb4b8f Make some changes to the email templates to account for the fact that an auto update offer might not be to the latest version.
For example, 3.7.2 install is served a 3.7.3 update, but the current version is 3.8.1.

This commit also allows for core update notification emails to be sent even when we are unable to run an auto update due to filesystem configuration (VCS checkout or file permissions). But, since these emails go through WP_Automatic_Updater, they will not be sent if the updater is outright disabled.

fixes #25654.


git-svn-id: https://develop.svn.wordpress.org/trunk@25873 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-22 21:18:09 +00:00
Andrew Nacin
0b22aae62d Notify administrators of successful, failed, and pending core updates.
Blocks future background updates after critical failures, but allow retries in certain situations. More in the ticket.

fixes #10787.


git-svn-id: https://develop.svn.wordpress.org/trunk@25841 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-18 16:29:16 +00:00
Andrew Nacin
8cb344e237 In automatic background updates, standardize on 'update'.
New, final filter names:
 * auto_update_{$type} (plugin, theme, core, language)
 * automatic_updates_is_vcs_checkout
 * automatic_updates_disabled

New class name is WP_Automatic_Updater. Method names include update() and should_update().

see #22704.


git-svn-id: https://develop.svn.wordpress.org/trunk@25835 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-17 23:20:56 +00:00
Andrew Nacin
4644bb87f6 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.


git-svn-id: https://develop.svn.wordpress.org/trunk@25825 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-17 04:01:06 +00:00
Andrew Nacin
c39143fd2e Make WP_Automatic_Upgrader a proper object that gets instantiated. Renames nearly all of its methods.
Also renames wp_auto_updates_maybe_update() to wp_maybe_auto_update().

see #22704.


git-svn-id: https://develop.svn.wordpress.org/trunk@25823 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-17 00:54:15 +00:00
Andrew Nacin
e192eb396e Include translations in the update bubbles (as +1 if there are any). see #18200.
git-svn-id: https://develop.svn.wordpress.org/trunk@25810 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-16 14:33:21 +00:00
Andrew Nacin
1918e828da Automatic updates: Include error data in the follow-up API request.
props dd32.
see #22704.


git-svn-id: https://develop.svn.wordpress.org/trunk@25781 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-14 23:32:47 +00:00
Dion Hulse
05cceca0ac Correct a variable typo in [25750]. See #22704
git-svn-id: https://develop.svn.wordpress.org/trunk@25751 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-10 01:37:30 +00:00
Dion Hulse
e03279e8b0 In the event that an Automatic Upgrade fails, send a failure status on the next API request to indicate that it failed, and if the rollback was successful.
See #22704


git-svn-id: https://develop.svn.wordpress.org/trunk@25750 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-10 01:31:22 +00:00
Drew Jaynes
04fd4d2bb8 Inline documentation for hooks in wp-includes/update.php.
Props ShinichiN.
Fixes #25467.


git-svn-id: https://develop.svn.wordpress.org/trunk@25699 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-06 15:30:51 +00:00
Andrew Nacin
85c8f3c68f Send back core translation information to the API. Update wp_get_installed_translations() to work with core translations. see #18200.
git-svn-id: https://develop.svn.wordpress.org/trunk@25652 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-30 19:46:15 +00:00
Dion Hulse
05a01e5964 Automatic Updates: Add a rollback functionality upon installation failure, the rollback package will be available for partial-updates for automatic updates and be similar to our existing partial builds (but in reverse).
A further iteration of this is to also detect whitescreens (fatals) after a auto update, and trigger the rollback for that too.
See #22704


git-svn-id: https://develop.svn.wordpress.org/trunk@25649 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-30 00:20:35 +00:00
Andrew Nacin
7149ae3b9f Filters for locale in wp_update_plugins() and wp_update_themes(). see #18200.
git-svn-id: https://develop.svn.wordpress.org/trunk@25634 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-28 04:17:54 +00:00
Andrew Nacin
330a8daccd Add a language pack upgrader class.
At the conclusion of any upgrade, after the transients are refreshed from the API, pending translations are downloaded and installed to wp-content/languages.

props dd32.
see #18200.


git-svn-id: https://develop.svn.wordpress.org/trunk@25566 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-23 02:07:51 +00:00
Dion Hulse
24294b97e4 Plugin Update API: Set the translations key to an empty array when the API is unavailable. Props rmmcue. See #18200
git-svn-id: https://develop.svn.wordpress.org/trunk@25544 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 09:33:12 +00:00
Andrew Nacin
98f073272d Accept and store translations data from the plugin and theme update check endpoints.
Send site locale. Rename wp_get_installed_language_data() to wp_get_installed_translations().

see #18200.


git-svn-id: https://develop.svn.wordpress.org/trunk@25536 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 04:07:34 +00:00
Andrew Nacin
334edeb32d Send installed language data to the plugin and theme update-check endpoints.
Introduces wp_get_installed_language_data() and wp_get_pomo_file_data().

see #18200.


git-svn-id: https://develop.svn.wordpress.org/trunk@25520 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-20 19:12:45 +00:00
Andrew Nacin
3209d0d804 Further adjust the request and response formats for plugin and theme update checks. see #25311.
git-svn-id: https://develop.svn.wordpress.org/trunk@25514 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-20 05:54:41 +00:00