Commit Graph

324 Commits

Author SHA1 Message Date
Sergey Biryukov
4bc7afd701 Media: Add aac to the list of allowed file types.
Props desrosj.
Fixes #42919.

git-svn-id: https://develop.svn.wordpress.org/trunk@42697 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-11 16:39:54 +00:00
John Blackbourn
4836686b6f Docs: Add missing code formatting to various @since entries.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@42678 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-09 16:54:58 +00:00
Peter Wilson
f317869c7f General: Replace Cheatin’ uh? with friendlier error messages.
While intended as a playful error message, `Cheatin’ uh?` can be interpreted as insulting or accusatory in an already stressful situation. This replaces Cheatin’ with more meaningful error messages, depending on the error that occurs.

Props ElectricFeet, EricMeyer, karmatosed, dd32, BandonRandon, melchoyce for language; dmsnell for original patch; peterwilsoncc.
Fixes #38332.



git-svn-id: https://develop.svn.wordpress.org/trunk@42648 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-05 02:29:53 +00:00
Sergey Biryukov
65f08f49da Email: Don't send notifications for site or network admin email address change to the default 'admin_email' value.
Props tigertech, MattyRob, seanchayes.
Fixes #42693.

git-svn-id: https://develop.svn.wordpress.org/trunk@42570 602fd350-edb4-49c9-b593-d223f7449a82
2018-01-23 13:44:25 +00:00
Sergey Biryukov
02ccaeed2c Media: Add flac to the list of allowed file types.
Props blobfolio.
Fixes #42225.

git-svn-id: https://develop.svn.wordpress.org/trunk@42451 602fd350-edb4-49c9-b593-d223f7449a82
2018-01-15 22:16:33 +00:00
Dion Hulse
70a92ca96e Streams: When checking in wp_is_stream() escape the stream wrapper names for PCRE to avoid PHP warnings when invalid stream wrappers are registered.
Fixes #43054.


git-svn-id: https://develop.svn.wordpress.org/trunk@42432 602fd350-edb4-49c9-b593-d223f7449a82
2018-01-10 02:49:49 +00:00
Dion Hulse
da689558a5 Filesystem: Allow wp_normalise_path() to handle PHP stream wrappers such as php:// correctly.
Props calin, dd32.
Fixes #42837.


git-svn-id: https://develop.svn.wordpress.org/trunk@42387 602fd350-edb4-49c9-b593-d223f7449a82
2017-12-12 04:15:54 +00:00
Gary Pendergast
8f95800d52 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
John Blackbourn
e2fdcb93f1 Hardening: Remove the ability to upload JavaScript files for users who do not have the unfiltered_html capability.
git-svn-id: https://develop.svn.wordpress.org/trunk@42261 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-29 15:59:41 +00:00
Gary Pendergast
574821573a General: Fix some precision alignment formatting warnings.
The WPCS `WordPress.WhiteSpace.PrecisionAlignment` rule throws warnings for a bunch of code that will likely cause issues for `wpcbf`. Fixing these manually beforehand gives us better auto-fixed results later.

See #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42228 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-26 23:56:25 +00:00
Gary Pendergast
f797c252d9 General: Reformat inline if () statements inside HTML tags.
This pattern occurs a handful of times across the codebase:

`<div class="foo<?php if ( $bar ) { echo ' baz'; } ?>">`

Unfortunately, it doesn't really play nicely with `phpcbf`, so all instances need to be removed in preperation for auto code formatting.

See #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42217 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-23 04:08:42 +00:00
John Blackbourn
d821f8b28d HTTP API: Add support for a description for HTTP status code 103.
Props Dhruvin

Fixes #42490


git-svn-id: https://develop.svn.wordpress.org/trunk@42207 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-20 20:34:52 +00:00
John Blackbourn
3e9a42ed27 Filesystem API: Add more specificity to the rules for valid files in validate_file().
This now treats files containing `./` as valid, and also treats files containing a trailing `../` as valid due to widespread use of this pattern in theme and plugin zip files.

Adds tests.

Props Ipstenu, borgesbruno, DavidAnderson, philipjohn, birgire
Fixes #42016, #36170


git-svn-id: https://develop.svn.wordpress.org/trunk@42011 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-24 23:14:33 +00:00
John Blackbourn
7329816301 Docs: Improve the docs for validate_file() and validate_file_to_edit().
See #42016, #36170, #41017


git-svn-id: https://develop.svn.wordpress.org/trunk@42007 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-24 22:49:13 +00:00
Sergey Biryukov
b36ed916e8 Formatting: Make sure wp_allowed_protocols() is filterable until wp_loaded has fired.
Fixes the issue with plugins not being able to use the `kses_allowed_protocols` filter if `esc_url()` was called too early.

Props turtlepod, SergeyBiryukov.
Fixes #36033.

git-svn-id: https://develop.svn.wordpress.org/trunk@41990 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-24 13:24:43 +00:00
Sergey Biryukov
0e87ef42d0 Docs: Fix typo in path_is_absolute() description.
Props octalmage, birgire.
Fixes #42317.

git-svn-id: https://develop.svn.wordpress.org/trunk@41983 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-23 22:50:30 +00:00
Felix Arntz
dd43699344 Multisite: Return get_current_blog_id() value instead of hard-coded 1 in get_main_site_id() for non-multisite environments.
See #41936.


git-svn-id: https://develop.svn.wordpress.org/trunk@41862 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-14 22:45:28 +00:00
Felix Arntz
4d6c257cf9 Multisite: Take WP_Network::$blog_id into account in get_main_site_id().
When the `WP_Network::$blog_id` property is set manually, for example in the multisite bootstrap process, `get_main_site_id()` should use that value instead of running its own logic. The main logic for the function was therefore moved into the internal `WP_Network::get_main_site_id()` method, which is now being accessed by the function through the magic property handling for `WP_Network::$blog_id` (and its equivalent `WP_Network::$site_id`).

Props spacedmonkey, jeremyfelt.
Fixes #41936.


git-svn-id: https://develop.svn.wordpress.org/trunk@41861 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-14 22:41:15 +00:00
John Blackbourn
645a550129 Users: Revert [41613], [41614], and [41623] as this feature needs some more work.
See #38741


git-svn-id: https://develop.svn.wordpress.org/trunk@41753 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-04 22:16:21 +00:00
John Blackbourn
1e16e5eee8 I18N: Allow the login screen language to be specified via a wp_lang query variable, and use this for the interim login modal.
This allows users who are using the admin area in a language other than the site language to read the notice on the login screen
(which explains that they need to log in again) in their chosen language.

Props Nikschavan, swissspidy

Fixes #40205


git-svn-id: https://develop.svn.wordpress.org/trunk@41692 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-02 23:20:12 +00:00
Gary Pendergast
f5c4c69bf1 Database: Don't quote placeholders in queries going through $wpdb->prepare()
To bring Core into line with the changes to `$wpdb->prepare()` in WordPress 4.8.2, query placeholders shouldn't be quoted.

Props jrf, johnjamesjacoby.
Fixes #41983.



git-svn-id: https://develop.svn.wordpress.org/trunk@41628 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-28 04:31:05 +00:00
John Blackbourn
a80aeeb5dc Users: There is not, in fact, 12345 users on every WordPress installation.
Props spacedmonkey

See #38741


git-svn-id: https://develop.svn.wordpress.org/trunk@41614 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-27 13:06:37 +00:00
John Blackbourn
1507df9d59 Users: Introduce the concept of a large site in order to speed up the Users screen when there are many users.
Calling the `count_users()` function is expensive, regardless of the counting strategy that's used, and it gets
slower the more users there are on a site. In order to speed up the Users screen in the admin area, calling
`count_users()` can be avoided entirely while still displaying the total count for users.

This introduces some new functions:

* `wp_is_large_user_count()`
* `wp_get_active_user_count()`
* `wp_update_active_user_count()`

A corresponding `wp_is_large_user_count` filter is also introduced.

Props tharsheblows, johnbillion

Fixes #38741


git-svn-id: https://develop.svn.wordpress.org/trunk@41613 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-27 13:03:03 +00:00
Weston Ruter
df1bf4a883 Customize: Add wp_is_uuid() validation function with optional second $version=4 parameter to enforce v4 random UUIDs.
Props jonathanbardo.
Fixes #39778.


git-svn-id: https://develop.svn.wordpress.org/trunk@41388 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-18 23:03:06 +00:00
Felix Arntz
e23004c344 Multisite: Introduce get_main_site_id().
This function can be used to easily get the main site ID of a given network via the optional `$network_id` parameter, which defaults to the current network. The existing `is_main_site()` now uses the new function internally and now accepts an optional `$network_id` parameter as well.

The main purpose of the new function at this point is to ensure that the `WP_Network::$blog_id` property is always set. Magic getters in the class have been adjusted to auto-fill the property when it is accessed and empty. Furthermore the function encapsulates logic that was previously part of `ms_load_current_site_and_network()` and has been replaced with a call to the function now.

Props spacedmonkey, jeremyfelt, johnjamesjacoby, flixos90.
Fixes #29684.


git-svn-id: https://develop.svn.wordpress.org/trunk@41380 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-15 11:14:49 +00:00
Peter Wilson
14f9c47685 General: Remove error screen padding for Internet Explorer.
The inline styles added to the `wp_die()` handler since [18534] increase file size of the error screen enough to prevent Internet Explorer from displaying a generic error page.

Props rfair404.
Fixes #37551.



git-svn-id: https://develop.svn.wordpress.org/trunk@41369 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-11 05:30:34 +00:00
John Blackbourn
8df2151660 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


git-svn-id: https://develop.svn.wordpress.org/trunk@41289 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-22 11:51:11 +00:00
Weston Ruter
b4a8af7e35 Customize: Prevent _delete_option_fresh_site() from hitting DB if fresh_site flag already cleared.
Amends [38991].
Props dlh, westonruter.
Fixes #41039.


git-svn-id: https://develop.svn.wordpress.org/trunk@41244 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-13 00:56:24 +00:00
John Blackbourn
be97d71a94 Formatting: Add the $number and $decimals arguments to the number_format_i18n filter.
Props alpipego

Fixes #41505


git-svn-id: https://develop.svn.wordpress.org/trunk@41199 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-01 14:37:39 +00:00
John Blackbourn
5d23532956 Options, Meta APIs: Fix a typo introduced in [41164].
See #39117


git-svn-id: https://develop.svn.wordpress.org/trunk@41167 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-27 03:11:10 +00:00
John Blackbourn
620eed0cc2 Options, Meta APIs: Send a notification to the old admin email address when the site admin email or network admin email address is changed.
This reduces the chances of a site compromise going unnoticed, in the same way that the same notifications for user account email address changes reduces the chances of a user account compromise going unnoticed.

Props MatheusGimenez, johnbillion

Fixes #39117


git-svn-id: https://develop.svn.wordpress.org/trunk@41164 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-27 02:23:26 +00:00
Sergey Biryukov
668d465aa3 Docs: Add @staticvar entries for $cache and $tested_paths in wp_upload_dir().
Props ajayghaghretiya1.
Fixes #41395.

git-svn-id: https://develop.svn.wordpress.org/trunk@41113 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-21 10:14:09 +00:00
Sergey Biryukov
cf4b8bc85f Docs: Fix typo in wp_suspend_cache_invalidation() description.
Props euthelup, milana_cap.
Fixes #41301.

git-svn-id: https://develop.svn.wordpress.org/trunk@41031 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-12 21:25:20 +00:00
Sergey Biryukov
44d162d0b2 Docs: Add a @global entry for $post variable in wp_post_preview_js().
Props avinapatel.
Fixes #41194.

git-svn-id: https://develop.svn.wordpress.org/trunk@40959 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-28 12:54:31 +00:00
Sergey Biryukov
cf9d667583 I18N: Add @global entry for $wp_locale in wp_maybe_decline_date().
Props Dency.
Fixes #41046.

git-svn-id: https://develop.svn.wordpress.org/trunk@40911 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-15 12:23:55 +00:00
Joe McGill
04e3680d1c Media: Improve handling of non-image files in wp_get_image_mime.
This prevents non-image fileypes from returning a mime type of
"application/octet-stream" when `exif_imagetype()` returns `false`.

Props blobfolio.
Fixes #40017.


git-svn-id: https://develop.svn.wordpress.org/trunk@40397 602fd350-edb4-49c9-b593-d223f7449a82
2017-04-09 22:43:04 +00:00
Joe McGill
7684a241b3 Media: Reduce failing uploads following 4.7.1.
[39831] introduced more strict MIME type checking for uploads, which
resulted in unintetionally blocking several filetypes that were
previously valid. This change uses  a more targeted approach to MIME
validation to restore previous behavior for most types.

Props blobfolio, iandunn, ipstenu, markoheijnen, xknown, joemcgill.
Fixes #39550, #39552.

git-svn-id: https://develop.svn.wordpress.org/trunk@40124 602fd350-edb4-49c9-b593-d223f7449a82
2017-02-25 16:07:25 +00:00
Sergey Biryukov
0b63252b2d Media: In wp_unique_filename(), use explicit type casting when incrementing $number.
This prevents the "non-numeric value encountered" warning in PHP 7.1, caused by trying to increment an empty string on the first loop iteration.

Props drrobotnik for initial patch.
Fixes #39774.



git-svn-id: https://develop.svn.wordpress.org/trunk@40039 602fd350-edb4-49c9-b593-d223f7449a82
2017-02-03 20:57:38 +00:00
Peter Wilson
99a101ff27 Feeds: Prevent empty feeds from returning 404 errors.
Partial revert of [38929].

This reverts the source code from the commit for #30210 to prevent valid but empty feeds from returning 404 file not found errors for the home and custom feeds.

The tests in the commit that remain applicable are retained.

Props pavelevap for reporting, stevenkword for initial patch.
See #30210.
Fixes #39157.


git-svn-id: https://develop.svn.wordpress.org/trunk@40030 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-29 23:08:54 +00:00
Sergey Biryukov
e6ae5711e5 Docs: Add missing @param type for wp_cache_get_last_changed().
Props afzalmultani, Soean.
Fixes #39571.

git-svn-id: https://develop.svn.wordpress.org/trunk@39900 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-13 14:15:22 +00:00
Sergey Biryukov
d788c3ffed Media: Use a consistent error message for file type errors on uploading.
Props pavelevap, jackreichert.
Fixes #33242.

git-svn-id: https://develop.svn.wordpress.org/trunk@39891 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-12 06:28:32 +00:00
Joe McGill
9d9ab96249 Media: Fix exif_imagetype check in wp_get_image_mime
This is a follow up to [39831].

Props gitlost.
See #11946.

git-svn-id: https://develop.svn.wordpress.org/trunk@39850 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-11 16:35:21 +00:00
Joe McGill
7710b3d3ec Media: Improve image filetype checking.
This adds a new function `wp_get_image_mime()` which is used by
`wp_check_filetype_and_ext()` to validate image files using
`exif_imagetype()` if available instead of `getimagesize()`.

`getimagesize()` is less performant than `exif_imagetype()` and is
dependent on GD. If `exif_imagetype()` is not available, it falls back to
`getimagesize()` as before.

If `wp_check_filetype_and_ext()` can't validate the filetype, we now return
`false` for ext/MIME values.

See #11946.

git-svn-id: https://develop.svn.wordpress.org/trunk@39831 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-11 13:07:54 +00:00
John Blackbourn
8512036e4e Docs: Misc corrections and additions to inline documentation.
See #39130
Props keesiemeijer


git-svn-id: https://develop.svn.wordpress.org/trunk@39639 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-27 09:27:38 +00:00
John Blackbourn
5f645d2f34 Docs: Add and correct @since docs for a variety of functions and methods.
Props keesiemeijer, chris_dev
Fixes #39343, #39357, #39344
See #39130


git-svn-id: https://develop.svn.wordpress.org/trunk@39638 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-27 09:20:11 +00:00
John Blackbourn
f6f0e6098d I18n: Begin introducing translator comments for strings which include placeholders but no accompanying translator comment.
Adds context to one string used in two different contexts for the new user and new site signup email notification.

More to come.

See #38882


git-svn-id: https://develop.svn.wordpress.org/trunk@39323 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-21 01:21:01 +00:00
Sergey Biryukov
bc11236b4c I18N: Use 'WordPress hook name' instead of 'PHP hook name' in translator comments added in [39315].
See #38862.

git-svn-id: https://develop.svn.wordpress.org/trunk@39316 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-19 02:43:49 +00:00
Sergey Biryukov
b706194ec3 I18N: Add translator comments for strings in _deprecated_*() functions.
See #38862.

git-svn-id: https://develop.svn.wordpress.org/trunk@39315 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-19 02:38:16 +00:00
Pascal Birchler
b0aad156bb I18N: Show available timezones in the user's locale on the settings screen.
Adds a `$locale` parameter to `wp_timezone_choice()` to only reload translations when necessary.

Props yale01.
See #38485.

git-svn-id: https://develop.svn.wordpress.org/trunk@39068 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-01 09:15:42 +00:00
Weston Ruter
630fd305fc Customize: Introduce starter content and site freshness state.
A theme can opt-in for tailored starter content to apply to the customizer when previewing the theme on a fresh install, when `fresh_site` is at its initial `1` value. Starter content is staged in the customizer and does not go live unless the changes are published. Initial starter content is added to Twenty Seventeen.

* The `fresh_site` flag is cleared when a published post or page is saved, when widgets are modified, or when the customizer state is saved.
* Starter content is registered via `starter-content` theme support, where the argument is an array containing `widgets`, `posts`, `nav_menus`, `options`, and `theme_mods`. Posts/pages in starter content are created with the `auto-draft` status, re-using the page/post stubs feature added to nav menus and the static front page controls.
* A `get_theme_starter_content` filter allows for plugins to extend a theme's starter content.
* Starter content in themes can/should re-use existing starter content items in core by using named placeholders.
* Import theme starter content into customized state when fresh site.
* Prevent original_title differences from causing refreshes if title is present.
* Ensure nav menu item url is set according to object when previewing.
* Make sure initial saved state is false if there are dirty settings without an existing changeset.
* Ensure dirty settings are cleaned upon changeset publishing.

Props helen, westonruter, ocean90.
Fixes #38114, #38533.


git-svn-id: https://develop.svn.wordpress.org/trunk@38991 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-28 02:56:16 +00:00