Commit Graph

34706 Commits

Author SHA1 Message Date
Dominik Schilling
78789beda9 Bootstrap: Make wp_is_ini_value_changeable() compatible with PHP 5.2.6 - 5.2.17.
There is a bug in PHP 5.2.6 - 5.2.17 (https://bugs.php.net/bug.php?id=44936, https://3v4l.org/IL0A2) which changes the access level of a setting to 63 after `ini_set()` was called.
To continue comparing the access value against `INI_ALL` and `INI_USER` use the bit operator `& 7`:

* `1 & 7 === 1` (INI_USER)
* `2 & 7 === 2` (INI_PERDIR)
* `4 & 7 === 4` (INI_SYSTEM)
* `7 & 7 === 7` (INI_ALL)
* `63 & 7 === 7` (INI_ALL)

See [38015].
See #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38017 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 18:35:22 +00:00
Dominik Schilling
a927a48b31 Unit tests: Don't change the memory_limit setting during tests.
40M isn't enough and can lead to an "out of memory" error. Change `test_wp_raise_memory_limit()` to test that `wp_raise_memory_limit()` doesn't *lower* the memory limit.

See [38015].
See #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38016 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 18:16:07 +00:00
Dominik Schilling
c68f1ec772 Bootstrap: Enhance core's memory limit handling.
* Don't lower memory limit if the current limit is greater than `WP_MAX_MEMORY_LIMIT`.
* Set `WP_MEMORY_LIMIT` and `WP_MAX_MEMORY_LIMIT` to current limit if the `memory_limit` setting can't be changed at runtime.
* Use `wp_convert_hr_to_bytes()` when parsing the value of the `memory_limit` setting because it can be a shorthand or an integer value.
* Introduce `wp_raise_memory_limit( $context )` to raise the PHP memory limit for memory intensive processes. This DRYs up some logic and includes the existing `admin_memory_limit` and `image_memory_limit` filters. The function can also be used for custom contexts, the `{$context}_memory_limit` filter allows to customize the limit.
* Introduce `wp_is_ini_value_changeable( $setting )` to determine whether a PHP ini value is changeable at runtime.
* Remove a `function_exists( 'memory_get_usage' )` check. Since PHP 5.2.1 support for memory limit is always enabled.

Related commits: [38011-38013]

Props jrf, A5hleyRich, swissspidy, ocean90.
Fixes #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38015 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 14:36:37 +00:00
Sergey Biryukov
ec1f83f770 Docs: Fix typo in a comment in Core_Upgrader::upgrade().
Props Zuige.
Fixes #37314.

git-svn-id: https://develop.svn.wordpress.org/trunk@38014 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 13:18:31 +00:00
Dominik Schilling
629c6e36b5 Bootstrap: Clean up wp_convert_hr_to_bytes().
* Don't return a value higher than `PHP_INT_MAX`.
* Add unit tests.

Props jrf.
See #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38013 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 12:53:08 +00:00
Dominik Schilling
df78fb4ef3 Boostrap: Move wp_convert_hr_to_bytes() to wp-includes/load.php.
`wp_convert_hr_to_bytes()` was previously defined in wp-includes/media.php because it's only used by `wp_max_upload_size()` in the same file.
Moving this function to load.php allows us to improve core's memory limit handling.

See #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38012 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 11:26:58 +00:00
Dominik Schilling
a64bf12b1b Constants: Move constants for data sizes before constants for memory limits.
This allows us to improve core's memory limit handling.

See #32075.

git-svn-id: https://develop.svn.wordpress.org/trunk@38011 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 11:18:19 +00:00
Peter Wilson
c611f9a514 Embeds: Include locale stylesheets after default styles.
Fire `locale_stylesheet` action after the `wp_print_styles` action in the embeds header to match the order in `wp_head`.

Props swissspidy.
Fixes #36839.


git-svn-id: https://develop.svn.wordpress.org/trunk@38010 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 06:06:36 +00:00
Rachel Baker
437d80e56c Revisions: Allow autosaves to be restored when revisions are disabled.
Fixes bug introduced in [23639] where autosaves are not restored if revisions are disabled.

Props adamsilverstein.
Fixes #36262.




git-svn-id: https://develop.svn.wordpress.org/trunk@38009 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-08 01:15:19 +00:00
Jeremy Felt
9f254e6fb2 Docs: Correct the description of the $network_id in WP_Site_Query.
Passing 0 for `network_id` results in a query across all networks.

See #35791.


git-svn-id: https://develop.svn.wordpress.org/trunk@38008 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 20:35:02 +00:00
Jeremy Felt
2b145d5066 Multisite: Correct logic used to display an Edit User link after adding a user.
Previously, if a user was added with the checkbox for no confirmation selected and an error was then encountered in `wpmu_activate_signup()`, a fatal error would trigger because `$new_user` was a `WP_Error` object rather than a user.

Fixes #37223.


git-svn-id: https://develop.svn.wordpress.org/trunk@38007 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 17:47:54 +00:00
Jeremy Felt
8a7d81b627 Multisite: Add a nonce to the "Cancel" URL when changing a site's admin email.
Props scottbasgaard.
Fixes #36954.


git-svn-id: https://develop.svn.wordpress.org/trunk@38006 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 17:12:54 +00:00
Boone Gorges
f41d3cff7d Tests: Ensure that test for invalid user ID actually uses an invalid user ID.
This prevents false positives when the ID column's incrementor has exceeded the
hardcoded invalid ID.

Fixes #37308.

git-svn-id: https://develop.svn.wordpress.org/trunk@38005 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 16:47:25 +00:00
Dominik Schilling
535f0e3090 Screen API: After [37972], ensure that $box['args'] is an array before trying to access __widget_basename.
This prevents a PHP fatal error on the Nav Menus screen where `$args` is an object.

Props elrae.
Fixes #35021.

git-svn-id: https://develop.svn.wordpress.org/trunk@38004 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 16:38:28 +00:00
Jeremy Felt
65a90ba496 Multisite: Don't store max_num_pages in WP_Network_Query query cache.
This value can be easily calculated with available data.

Props spacedmonkey.
Fixes #32504.


git-svn-id: https://develop.svn.wordpress.org/trunk@38003 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 15:51:58 +00:00
Jeremy Felt
188902ee09 Multisite: Don't store max_num_pages in WP_Site_Query query cache.
This value can be easily calculated with available data.

Props spacedmonkey.
Fixes #35791.


git-svn-id: https://develop.svn.wordpress.org/trunk@38002 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 15:31:45 +00:00
Boone Gorges
9d34db0590 Comments: Cache results of SELECT FOUND_ROWS() query.
When comment IDs are fetched from the cache rather than the database,
the subsequent `SELECT FOUND_ROWS()` query will not return the correct value.
To avoid unnecessary queries, we cache the results of the `found_comments`
query alongside the comment IDs.

Props spacedmonkey.
Fixes #37184.

git-svn-id: https://develop.svn.wordpress.org/trunk@38001 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 14:26:21 +00:00
Dominik Schilling
44da2a77b9 Text Changes: Unify a few more permission error messages which were missed in [37914].
Props ramiy.
Fixes #34521.

git-svn-id: https://develop.svn.wordpress.org/trunk@37999 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 11:32:44 +00:00
Dominik Schilling
fb3b0a9f8b Import: Merge two similar strings.
Props ramiy.
See #34521.

git-svn-id: https://develop.svn.wordpress.org/trunk@37998 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 10:53:00 +00:00
Sergey Biryukov
eff1d5f58e Unit Tests: Add description for data_get_comments_number_text_declension().
See #13651.

git-svn-id: https://develop.svn.wordpress.org/trunk@37997 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 10:44:57 +00:00
Jeremy Felt
01bcc4d40b Meta: Don't pass an empty $meta_key to get_metadata().
This doesn't break anything, but also isn't necessary.

Props sc0ttkclark.
See #35658.


git-svn-id: https://develop.svn.wordpress.org/trunk@37996 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 00:17:38 +00:00
Jeremy Felt
4938acf349 Meta: Introduce an initial set of tests for register_meta().
Props sc0ttkclark, ericlewis.
See #35658.


git-svn-id: https://develop.svn.wordpress.org/trunk@37995 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-07 00:14:40 +00:00
pento
4b6b18d730 Docs: Fix an incorrect @since comment.
See #36495.


git-svn-id: https://develop.svn.wordpress.org/trunk@37994 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 23:48:01 +00:00
Dominik Schilling
a1d37564b2 Post WordPress 4.6 Beta 2 version bump.
git-svn-id: https://develop.svn.wordpress.org/trunk@37993 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 18:38:54 +00:00
Dominik Schilling
cabbc22606 WordPress 4.6 Beta 2.
git-svn-id: https://develop.svn.wordpress.org/trunk@37992 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 18:24:58 +00:00
Helen Hou-Sandi
495ff0c633 Meta: Make registration error conditions return consistently.
In doing this, non-core object types are no longer forcibly blocked and are instead checked against `wp_object_type_exists()` which has a filterable return value. Still, filter that at your own risk.

props Faison for the initial patch.
see 35658.


git-svn-id: https://develop.svn.wordpress.org/trunk@37991 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 18:08:55 +00:00
Jeremy Felt
68b18c62f2 Meta: Ensure $object_subtype is available before use in register_meta().
Props sc0ttkclark.
See #35658.


git-svn-id: https://develop.svn.wordpress.org/trunk@37990 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 18:00:23 +00:00
Ryan McCue
194c8d0e33 HTTP API: Switch back to returning an array.
The array-compatibility object we started returning in r37428 unfortunately isn't enough like an array. In particular, `is_array()` checks fail, despite the object implementing ArrayAccess. Mea culpa.

This moves the WP_HTTP_Response object to a new http_response key in the array, and changes the value back to an actual array.

Fixes #37097.
See #33055.


git-svn-id: https://develop.svn.wordpress.org/trunk@37989 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 17:50:44 +00:00
Dominik Schilling
3edf3be241 Embeds: Don't print the HTML for a featured image if a post has no featured image.
See [36693].
Fixes #37288.

git-svn-id: https://develop.svn.wordpress.org/trunk@37988 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 17:07:19 +00:00
Sergey Biryukov
946e6ac8de I18N: Introduce an on/off switch for locales where comment number needs to be declined.
When enabled, the switch would override the theme's pseudo-plural `'% Comments'` string with a correct form of `_n( '%s Comment', '%s Comments', $number )`.

Historically, `comments_popup_link()` and `get_comments_number_text()` did not support plural forms and used a pseudo-plural style instead, so some locales were forced to come up with workarounds to display the number of comments in their language correctly.

This change should make those functions more i18n-friendly.

Fixes #13651.

git-svn-id: https://develop.svn.wordpress.org/trunk@37987 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 14:45:55 +00:00
Joe McGill
73cd1b3f8f Media: Don't use 'full' as array key in wp_calculate_image_srcset().
In `wp_calculate_image_srcset()` we get an array of image sizes
associated with an attachment and then add the original image's
information to the array before processing the `srcset`. In doing
so, we set the original data to a `$image_sizes['full']` key, which
could stomp on any custom image sizes using `full` as a size name.

This avoid the issues by adding the original data without a named
key, which is never referenced anyway.

Props jaspermdegroot.
Fixes #36345.

git-svn-id: https://develop.svn.wordpress.org/trunk@37986 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 14:04:06 +00:00
Sergey Biryukov
920f29616a Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core.
Props metodiew.
Fixes #36495.

git-svn-id: https://develop.svn.wordpress.org/trunk@37985 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 12:39:01 +00:00
Dominik Schilling
50007cf37d Customize: Fix panel indentation in Firefox.
In Firefox on Windows the menus and widgets panel weren't fully visible due to a miscalculation of the width of a panel, caused by a visible scrollbar.

Props wpfo.
Fixes #34622.

git-svn-id: https://develop.svn.wordpress.org/trunk@37984 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 11:31:22 +00:00
Dominik Schilling
0037aa1dd5 Plugins: In plugin_basename() sort plugin paths before resolving symlinks.
`arsort()` sorts the paths reverse-alphabetically while preserving the keys. It results in a longer path being listed before a shorter one with the same base directory(ies).

Props jdgrimes, ocean90.
Fixes #28441.

git-svn-id: https://develop.svn.wordpress.org/trunk@37983 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 09:44:58 +00:00
Weston Ruter
ad52e49e4f Customize: Ensure that WP_Customize_Setting::value() can return a previewed value for aggregated multidimensionals.
Fixes #37294.


git-svn-id: https://develop.svn.wordpress.org/trunk@37982 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 05:58:28 +00:00
Weston Ruter
bddb06dd13 Customize: Ensure that WP_Customize_Nav_Menu_Section is able to represent a placeholder nav menu.
Placeholder nav menus (ones that have yet to be saved into the DB) have negative integer IDs.

Fixes #37293.
Props valendesigns, stubgo, westonruter.


git-svn-id: https://develop.svn.wordpress.org/trunk@37981 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 05:32:49 +00:00
Dominik Schilling
8a1fad3178 XML-RPC: Add unit test to verify IXR changes in [37244].
Props aaires.
Fixes #36586.

git-svn-id: https://develop.svn.wordpress.org/trunk@37980 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 21:58:41 +00:00
Sergey Biryukov
eb176b40b8 I18N: Adjust the regex in wp_maybe_decline_date() to avoid \w and \b, as they don't work with Unicode characters correctly in PHP 5.3.3 and earlier versions.
See [37975] for unit tests.

See #36790.

git-svn-id: https://develop.svn.wordpress.org/trunk@37979 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 21:42:06 +00:00
Dominik Schilling
fdb54dfe7b Upgrade/Install: Change priority for theme/update update rows.
`wp_plugin_update_rows()` and `wp_theme_update_rows()` are using the site transients `update_plugins` and `update_themes` which are set by `wp_update_plugins()` and `wp_update_themes()`. Both functions are hooked into `load-plugins.php` and `load-themes.php`. Therefore the update rows need to be registered after the transients were populated.

See #13071.

git-svn-id: https://develop.svn.wordpress.org/trunk@37978 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 16:45:42 +00:00
Dominik Schilling
9037072780 Embeds: After [37745], check if a featured image exists before attaching an event listener.
Props swissspidy.
Fixes #35657.

git-svn-id: https://develop.svn.wordpress.org/trunk@37977 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 16:15:05 +00:00
Pascal Birchler
146e6665c8 Update/Install: Reject invalid messages in the Shiny Updates postMessage handler.
This prevents conflicts with third-party messages (e.g. sent by browser extensions). The updates script expects a specific JSON-encoded message and now bails early if it's not valid JSON.

Fixes #37125.

git-svn-id: https://develop.svn.wordpress.org/trunk@37976 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 16:15:04 +00:00
Dominik Schilling
e34157ceb8 I18N: Add tests for wp_maybe_decline_date().
Reverts [37718], `$wp_locale` needs to be cloned.

Props SergeyBiryukov.
Fixes #36790.

git-svn-id: https://develop.svn.wordpress.org/trunk@37975 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 16:09:01 +00:00
Pascal Birchler
f89f0a284d Update/Install: Fix plugin updates from the details modal on the Dashboard.
The plugin details modal has been greatly improved in [37714]. However, Shiny Updates aren't yet implemented on the Dashboard. Therefore, we need to fall back to The Bleak Screen of Sadness. Otherwise nothing happens when trying to install an update from inside the modal.

Fixes #37131. See #37126.

git-svn-id: https://develop.svn.wordpress.org/trunk@37974 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 15:36:43 +00:00
Pascal Birchler
d17d567661 Update/Install: Fix plugin updates from the details modal on update-core.php.
The plugin details modal has been greatly improved in [37714]. However, Shiny Updates aren't yet implemented on the WordPress Updates screen. Therefore, we need to fall back to The Bleak Screen of Sadness. Otherwise nothing happens when trying to install an update from inside the modal.

Props Nikschavan.
Fixes #37126.

git-svn-id: https://develop.svn.wordpress.org/trunk@37973 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 15:31:24 +00:00
Dominik Schilling
d9de76e2a7 Dashboard: Don't add a "Configure" link to the toggle button.
The HTML for the toggle gets appended to the widget name which is later used for the widget title and the screen reader text of the toggle button. Storing the original widget name in the arguments allows us to use the name without the HTML for the screen reader text and doesn't require further changes by plugin developers.

Props nicholas_io, swissspidy.
Fixes #35021.

git-svn-id: https://develop.svn.wordpress.org/trunk@37972 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 15:21:44 +00:00
Pascal Birchler
31ae7b3d85 Update/Install: Correctly decrement the update count after translation updates.
After [37714], an error was unnecessarily being displayed in the JavaScript console when updating translations on `wp-admin/update-core.php`. Let's not throw an error in these cases.

Props afercia.
Fixes #37127.

git-svn-id: https://develop.svn.wordpress.org/trunk@37971 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 15:17:20 +00:00
Pascal Birchler
431c469497 Update/Install: Trigger a JS event when updating a theme.
For plugins a `'wp-plugin-updating'` event is triggered, for themes there's now the `'wp-theme-updating'` equivalent.

Props DavidAnderson.
Fixes #37216.

git-svn-id: https://develop.svn.wordpress.org/trunk@37970 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 15:08:46 +00:00
Pascal Birchler
d61706e07e Update/Install: Trigger the correct event after installing an importer plugin.
This fixes a typo inside `wp.updates.installImporterSuccess()` as it's about installing an importer, not an installer.

Fixes #37273.

git-svn-id: https://develop.svn.wordpress.org/trunk@37969 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 15:04:36 +00:00
Dominik Schilling
a74032c39f Themes: After [37742], fix the color of the "Upload Theme" button to match other page title actions.
Props afercia.
Fixes #35457.

git-svn-id: https://develop.svn.wordpress.org/trunk@37968 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 14:41:03 +00:00
Dominik Schilling
13896fc5de Themes: Avoid announcing the theme search results too many times.
Props afercia.
Fixes #36848.

git-svn-id: https://develop.svn.wordpress.org/trunk@37967 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-05 14:37:06 +00:00