Compare commits

...

28 Commits
5.3.2 ... 5.3.4

Author SHA1 Message Date
desrosj
32d1a07d28 Tag 5.3.4
Built from https://develop.svn.wordpress.org/tags/5.3.4@48008


git-svn-id: http://core.svn.wordpress.org/tags/5.3.4@47776 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-10 21:41:18 +00:00
desrosj
1a89f620f9 WordPress 5.3.4.
Built from https://develop.svn.wordpress.org/branches/5.3@47990


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-10 21:34:05 +00:00
desrosj
b454439e6f General: Backport several commits for release.
- Embeds: Ensure that the title attribute is set correctly on embeds.
- Editor: Prevent HTML decoding on by setting the proper editor context.
- Formatting: Ensure that `wp_validate_redirect()` sanitizes a wider variety of characters.
- Themes: Ensure a broken theme name is returned properly.
- Administration: Add a new filter to extend `set-screen-option`.

Merges [47948-47951] to the 5.3 branch.
Props xknown, sstoqnov, vortfu, SergeyBiryukov, whyisjake.
Built from https://develop.svn.wordpress.org/branches/5.3@47959


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47731 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-10 18:00:01 +00:00
whyisjake
66d6663227 Editor: Bump dependencies for WordPress 5.4.1 release.
Changes:
 - @wordpress/block-library: 2.9.6 => 2.9.7
 - @wordpress/edit-post: 3.8.6 => 3.8.7

Fixes #50094.
Props talldanwp, whyisjake.

Built from https://develop.svn.wordpress.org/branches/5.3@47945


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-10 15:48:08 +00:00
Sergey Biryukov
7a55e4aa60 Comments: Ensure that unmoderated comments won't be search indexed.
After a comment is submitted, only allow a brief window where the comment is live on the site.

Props jonkolbert, ayeshrajans, Asif2BD, peterwilsoncc, imath, audrasjb, jonoaldersonwp, whyisjake, SergeyBiryukov.
Merges [47887] and [47889] to the 5.3 branch.
See #49956.
Built from https://develop.svn.wordpress.org/branches/5.3@47916


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-06 09:53:04 +00:00
Sergey Biryukov
85e65c746a Themes: Add "Block Editor Styles" and "Wide Blocks" to the list of WordPress theme features.
These were added to Theme Directory API in anticipation of being committed to core for WordPress 5.2+, which has not happened until now.

Follow-up to [meta8273].

Merges [47790] to the 5.3 branch.
See #46272.
Built from https://develop.svn.wordpress.org/branches/5.3@47792


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47568 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-14 09:23:12 +00:00
Sergey Biryukov
5cb06dca4f Help/About: WordPress 5.3.3 included 10 bug fixes in addition to security fixes.
Built from https://develop.svn.wordpress.org/branches/5.3@47726


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47503 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 22:13:06 +00:00
Sergey Biryukov
d99c518d40 Update the About page for WordPress 5.3.3
Built from https://develop.svn.wordpress.org/branches/5.3@47705


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47482 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 18:43:02 +00:00
desrosj
9e08f12e0d Actually, WordPress 5.3.3 comes first.
Built from https://develop.svn.wordpress.org/branches/5.3@47684


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 18:06:02 +00:00
desrosj
644cb5fc24 WordPress 5.3.4
Built from https://develop.svn.wordpress.org/branches/5.3@47667


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47444 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 17:57:14 +00:00
whyisjake
bb6a2aa182 Customize: Add additional filters to Customizer to prevent JSON corruption.
User: Invalidate `user_activation_key` on password update.
Query: Ensure that only a single post can be returned on date/time based queries.
Block Editor: Coding standards, properly escape class names.
Cache API: Ensure proper escaping around the stats method in the cache API.
Formatting: Expand `sanitize_file_name` to have better support for utf8 characters.

Brings the changes in [47633], [47634], [47635], [47636], [47637], and [47638] to the 5.4 branch.

Props: aduth, batmoo, ehti, ellatrix, jorgefilipecosta, nickdaugherty, noisysocks, pento, peterwilsoncc, sergeybiryukov, sstoqnov, talldanwp, westi, westonruter, whyisjake, whyisjake, xknown.

Built from https://develop.svn.wordpress.org/branches/5.3@47644


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47419 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 16:06:08 +00:00
whyisjake
676e70c5c7 Bundled Themes: Update copyright year in readme.txt. - Revert [47629]
Reverts [47629] as the tests will be updated, rather then the themes.

Props peterwilsoncc, whyisjake.
Fixes #48566.

Built from https://develop.svn.wordpress.org/branches/5.3@47630


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-28 03:07:03 +00:00
whyisjake
5dee0c5fa4 Bundled Themes: Update copyright year in readme.txt.
Add a unit test to ensure the year stays up to date.

Extends [46721] to 2020 and the 5.3 branch.

Fixes #48566.


Built from https://develop.svn.wordpress.org/branches/5.3@47629


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-28 02:19:06 +00:00
Sergey Biryukov
b3d7e737ab Media: Improve the appearance of image editor on small and medium screens.
This prevents the main area of Edit Media screen from being pushed down too far.

Props sabernhardt, afercia, fierevere, sathyapulse, mikeschroder, johnbillion.
Merges [47418] to the 5.3 branch.
Fixes #48780. See #47136.
Built from https://develop.svn.wordpress.org/branches/5.3@47419


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-03-03 17:25:02 +00:00
Sergey Biryukov
511f7cb751 Privacy: Fix the URLs and legacy redirects for the personal data export and erasure screens.
Props Jurgen Oldenburg, garrett-eclipse.
Merges [47412] to the 5.3 branch.
Fixes #49476.
Built from https://develop.svn.wordpress.org/branches/5.3@47417


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-03-03 17:09:04 +00:00
Sergey Biryukov
0d0a870240 Tests: Correct assertions in test_site_dates_are_gmt().
`assertSame()` doesn't have the `$delta` parameter, only `assertEquals()` does.

Follow-up to [47313].

Merges [47318] to the 5.3 branch.
See #40364.
Built from https://develop.svn.wordpress.org/branches/5.3@47319


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-19 05:14:03 +00:00
Sergey Biryukov
cd6ac02117 Tests: Use delta comparison in test_site_dates_are_gmt() to avoid race conditions.
Merges [47313] to the 5.3 branch.
See #40364.
Built from https://develop.svn.wordpress.org/branches/5.3@47314


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47114 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-19 02:56:04 +00:00
Sergey Biryukov
77512de0c2 Administration: Correct alignment of form controls inside custom meta boxes.
Props audrasjb, dontdream, valentinbora.
Merges [47289] to the 5.3 branch.
Fixes #49013.
Built from https://develop.svn.wordpress.org/branches/5.3@47290


git-svn-id: http://core.svn.wordpress.org/branches/5.3@47090 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-14 00:55:03 +00:00
Sergey Biryukov
4e55b9a259 Twenty Nineteen: Standardize the Required PHP and Tested Up To headers.
* Remove `WordPress` from `Requires at least` headers.
* Ensure the `Requires at least` and `Requires PHP` headers are present in the `style.css` file.

Follow-up to [46676], which updated `style-rtl.css`, but not `style.scss` or `style.css`.

Merges [47136] to the 5.3 branch.
See #48517.
Built from https://develop.svn.wordpress.org/branches/5.3@47137


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46937 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-30 20:08:04 +00:00
Sergey Biryukov
449c2e21f1 Media: Make sure attachment_url_to_postid() performs a case-sensitive search for the uploaded file name.
Previously, the first available match was returned, regardless of the case, which was not always the expected result.

Props archon810, ben.greeley, tristangemus, vsamoletov, SergeyBiryukov.
Merges [47010] to the 5.3 branch.
Fixes #39768.
Built from https://develop.svn.wordpress.org/branches/5.3@47132


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:36:03 +00:00
Sergey Biryukov
e6d839b936 Editor: Add unit tests for v5.3.1 block serialization functions.
[46896] was intended to have included unit tests for the block serialization functions added as part of the changeset.

Props aduth.
Merges [46997] to the 5.3 branch.
Fixes #49048.
Built from https://develop.svn.wordpress.org/branches/5.3@47131


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46931 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:21:05 +00:00
Sergey Biryukov
22b941b16e Upgrade/Install: Correct vertical alignment for "Continue" button on language selection during the install process.
Props garrett-eclipse, audrasjb.
Merges [47070] to the 5.3 branch.
Fixes #49018.
Built from https://develop.svn.wordpress.org/branches/5.3@47130


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46930 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:19:00 +00:00
Sergey Biryukov
3fc8c7687d Editor: Correct vertical alignment for "Published on" month dropdown in Classic Editor.
Props pratik-jain, justinahinon, audrasjb.
Merges [47072] to the 5.3 branch.
Fixes #49115.
Built from https://develop.svn.wordpress.org/branches/5.3@47129


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:17:02 +00:00
Sergey Biryukov
f5a8d325ee File Editor: Remove extra padding on submit button for "Select plugin/theme to edit" dropdown on smaller screens.
Props passoniate.
Merges [47071] to the 5.3 branch.
Fixes #49197.
Built from https://develop.svn.wordpress.org/branches/5.3@47128


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46928 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:14:04 +00:00
Sergey Biryukov
c7963618ca Date/Time: Use wp_date() to display the correct time of the next DST transition in Timezone setting on General Settings screen.
Props Rarst, autotutorial.
Merges [47073] to the 5.3 branch.
Fixes #49038.
Built from https://develop.svn.wordpress.org/branches/5.3@47127


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:12:04 +00:00
Sergey Biryukov
b1e2b6174d Media: After [46375], enable JavaScript translations for the media-views script.
Props ocean90, audrasjb.
Merges [47040] to the 5.3 branch.
Fixes #49134.
Built from https://develop.svn.wordpress.org/branches/5.3@47126


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 16:10:02 +00:00
Sergey Biryukov
dd4a67807a Build/Test Tools: Pass the TRAVIS_BRANCH and TRAVIS_PULL_REQUEST environment variables along to the Docker container.
This ensures that `WP_UnitTestCase::skipOnAutomatedBranches()` has access to these variables.

Correct the check for pull requests in `WP_UnitTestCase_Base::skipOnAutomatedBranches()`.

Merges [46999], [47000], and [47001] to the 5.3 branch.
Fixes #49050.
Built from https://develop.svn.wordpress.org/branches/5.3@47125


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 15:22:05 +00:00
Sergey Biryukov
5ae97a43f1 Post WordPress 5.3.2 version bump.
Built from https://develop.svn.wordpress.org/branches/5.3@46995


git-svn-id: http://core.svn.wordpress.org/branches/5.3@46795 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-18 22:49:03 +00:00
66 changed files with 481 additions and 208 deletions

View File

@@ -51,6 +51,56 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<div class="about__section changelog">
<div class="column">
<h2><?php _e( 'Maintenance and Security Releases' ); ?></h2>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
_n(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
2
),
'5.3.4',
number_format_i18n( 2 )
);
?>
<?php
printf(
/* translators: %s: HelpHub URL */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '5.3.4' )
)
);
?>
</p>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
_n(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
10
),
'5.3.3',
number_format_i18n( 10 )
);
?>
<?php
printf(
/* translators: %s: HelpHub URL */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '5.3.3' )
)
);
?>
</p>
<p>
<?php
printf(

View File

@@ -3922,7 +3922,7 @@ img {
.fileedit-sub input[type="submit"] {
margin-bottom: 0px;
padding: 4px 18px;
padding: 0px 18px;
}
#documentation label[for="docs-list"] {

File diff suppressed because one or more lines are too long

View File

@@ -3922,7 +3922,7 @@ img {
.fileedit-sub input[type="submit"] {
margin-bottom: 0px;
padding: 4px 18px;
padding: 0px 18px;
}
#documentation label[for="docs-list"] {

File diff suppressed because one or more lines are too long

View File

@@ -421,7 +421,7 @@ form#tags-filter {
#timestampdiv select {
vertical-align: top;
font-size: 12px;
line-height: 1.5; /* 18px */
line-height: 2.33333333; /* 28px */
}
#aa, #jj, #hh, #mn {
@@ -1387,6 +1387,40 @@ table.links-table {
}
}
/* one column on the attachment editor screen */
@media only screen and (max-width: 1200px) {
.post-type-attachment #poststuff {
min-width: 0;
}
.post-type-attachment #wpbody-content #poststuff #post-body {
margin: 0;
}
.post-type-attachment #wpbody-content #post-body.columns-2 #postbox-container-1 {
margin-left: 0;
width: 100%;
}
.post-type-attachment #poststuff #postbox-container-1 .empty-container,
.post-type-attachment #poststuff #postbox-container-1 #side-sortables:empty {
border: 0 none;
height: 0;
min-height: 0;
}
.post-type-attachment #poststuff #post-body.columns-2 #side-sortables {
min-height: 0;
width: auto;
}
/* hide the radio buttons for column prefs */
.post-type-attachment .screen-layout,
.post-type-attachment .columns-prefs {
display: none;
}
}
/* one column on the post write/edit screen */
@media only screen and (max-width: 850px) {
#poststuff {

File diff suppressed because one or more lines are too long

View File

@@ -421,7 +421,7 @@ form#tags-filter {
#timestampdiv select {
vertical-align: top;
font-size: 12px;
line-height: 1.5; /* 18px */
line-height: 2.33333333; /* 28px */
}
#aa, #jj, #hh, #mn {
@@ -1387,6 +1387,40 @@ table.links-table {
}
}
/* one column on the attachment editor screen */
@media only screen and (max-width: 1200px) {
.post-type-attachment #poststuff {
min-width: 0;
}
.post-type-attachment #wpbody-content #poststuff #post-body {
margin: 0;
}
.post-type-attachment #wpbody-content #post-body.columns-2 #postbox-container-1 {
margin-right: 0;
width: 100%;
}
.post-type-attachment #poststuff #postbox-container-1 .empty-container,
.post-type-attachment #poststuff #postbox-container-1 #side-sortables:empty {
border: 0 none;
height: 0;
min-height: 0;
}
.post-type-attachment #poststuff #post-body.columns-2 #side-sortables {
min-height: 0;
width: auto;
}
/* hide the radio buttons for column prefs */
.post-type-attachment .screen-layout,
.post-type-attachment .columns-prefs {
display: none;
}
}
/* one column on the post write/edit screen */
@media only screen and (max-width: 850px) {
#poststuff {

File diff suppressed because one or more lines are too long

View File

@@ -396,6 +396,10 @@ input[type="radio"].disabled:checked:before {
max-width: 100%;
}
.meta-box-sortables input {
vertical-align: middle;
}
.misc-pub-post-status select {
margin-top: 0;
}

File diff suppressed because one or more lines are too long

View File

@@ -396,6 +396,10 @@ input[type="radio"].disabled:checked:before {
max-width: 100%;
}
.meta-box-sortables input {
vertical-align: middle;
}
.misc-pub-post-status select {
margin-top: 0;
}

File diff suppressed because one or more lines are too long

View File

@@ -115,10 +115,7 @@ label {
padding: 0;
}
.language-chooser.wp-core-ui .step .button.button-large {
height: 36px;
font-size: 14px;
line-height: 2.35714285;
vertical-align: middle;
}
textarea {
border: 1px solid #ddd;

File diff suppressed because one or more lines are too long

View File

@@ -115,10 +115,7 @@ label {
padding: 0;
}
.language-chooser.wp-core-ui .step .button.button-large {
height: 36px;
font-size: 14px;
line-height: 2.35714285;
vertical-align: middle;
}
textarea {
border: 1px solid #ddd;

File diff suppressed because one or more lines are too long

View File

@@ -852,6 +852,8 @@ border color while dragging a file over the uploader drop area */
.wp_attachment_holder .imgedit-wrap .imgedit-panel-content {
float: right;
padding: 3px 0 0 16px;
min-width: 400px;
max-width: calc( 100% - 266px );
}
.wp_attachment_holder .imgedit-wrap .imgedit-settings {
@@ -1207,6 +1209,7 @@ audio, video {
.wp_attachment_holder .imgedit-wrap .imgedit-settings {
float: none;
width: auto;
max-width: none;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -852,6 +852,8 @@ border color while dragging a file over the uploader drop area */
.wp_attachment_holder .imgedit-wrap .imgedit-panel-content {
float: left;
padding: 3px 16px 0 0;
min-width: 400px;
max-width: calc( 100% - 266px );
}
.wp_attachment_holder .imgedit-wrap .imgedit-settings {
@@ -1207,6 +1209,7 @@ audio, video {
.wp_attachment_holder .imgedit-wrap .imgedit-settings {
float: none;
width: auto;
max-width: none;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -3212,7 +3212,7 @@ function edit_form_image_editor( $post ) {
?>
</label>
<?php wp_editor( $post->post_content, 'attachment_content', $editor_args ); ?>
<?php wp_editor( format_to_edit( $post->post_content ), 'attachment_content', $editor_args ); ?>
</div>
<?php

View File

@@ -679,23 +679,46 @@ function set_screen_options() {
}
break;
default:
if ( '_page' === substr( $option, -5 ) || 'layout_columns' === $option ) {
/**
* Filters a screen option value before it is set.
*
* The filter can also be used to modify non-standard [items]_per_page
* settings. See the parent function for a full list of standard options.
*
* Returning false to the filter will skip saving the current option.
*
* @since 2.8.0
* @since 5.4.2 Only applied to options ending with '_page',
* or the 'layout_columns' option.
*
* @see set_screen_options()
*
* @param bool $keep Whether to save or skip saving the screen option value.
* Default false.
* @param string $option The option name.
* @param int $value The number of rows to use.
*/
$value = apply_filters( 'set-screen-option', false, $option, $value ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
}
/**
* Filters a screen option value before it is set.
*
* The filter can also be used to modify non-standard [items]_per_page
* settings. See the parent function for a full list of standard options.
* The dynamic portion of the hook, `$option`, refers to the option name.
*
* Returning false to the filter will skip saving the current option.
*
* @since 2.8.0
* @since 5.4.2
*
* @see set_screen_options()
*
* @param bool $keep Whether to save or skip saving the screen option value. Default false.
* @param string $option The option name.
* @param int $value The number of rows to use.
* @param bool $keep Whether to save or skip saving the screen option value.
* Default false.
* @param string $option The option name.
* @param int $value The number of rows to use.
*/
$value = apply_filters( 'set-screen-option', false, $option, $value ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
$value = apply_filters( "set_screen_option_{$option}", false, $option, $value );
if ( false === $value ) {
return;

View File

@@ -277,6 +277,7 @@ function get_theme_feature_list( $api = true ) {
__( 'Features' ) => array(
'accessibility-ready' => __( 'Accessibility Ready' ),
'block-styles' => __( 'Block Editor Styles' ),
'custom-background' => __( 'Custom Background' ),
'custom-colors' => __( 'Custom Colors' ),
'custom-header' => __( 'Custom Header' ),
@@ -299,6 +300,7 @@ function get_theme_feature_list( $api = true ) {
'four-columns' => __( 'Four Columns' ),
'left-sidebar' => __( 'Left Sidebar' ),
'right-sidebar' => __( 'Right Sidebar' ),
'wide-blocks' => __( 'Wide Blocks' ),
),
);

View File

@@ -276,34 +276,20 @@ if ( empty( $tzstring ) ) { // Create a UTC+- zone if no timezone string exists
?>
<br />
<?php
$allowed_zones = timezone_identifiers_list();
if ( in_array( $tzstring, timezone_identifiers_list() ) ) {
$transitions = timezone_transitions_get( timezone_open( $tzstring ), time() );
if ( in_array( $tzstring, $allowed_zones ) ) {
$found = false;
$date_time_zone_selected = new DateTimeZone( $tzstring );
$tz_offset = timezone_offset_get( $date_time_zone_selected, date_create() );
$right_now = time();
foreach ( timezone_transitions_get( $date_time_zone_selected ) as $tr ) {
if ( $tr['ts'] > $right_now ) {
$found = true;
break;
}
}
if ( $found ) {
// 0 index is the state at current time, 1 index is the next transition, if any.
if ( ! empty( $transitions[1] ) ) {
echo ' ';
$message = $tr['isdst'] ?
$message = $transitions[1]['isdst'] ?
/* translators: %s: Date and time. */
__( 'Daylight saving time begins on: %s.' ) :
/* translators: %s: Date and time. */
__( 'Standard time begins on: %s.' );
// Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n().
printf(
$message,
'<code>' . date_i18n(
__( 'F j, Y' ) . ' ' . __( 'g:i a' ),
$tr['ts'] + ( $tz_offset - $tr['offset'] )
) . '</code>'
'<code>' . wp_date( __( 'F j, Y' ) . ' ' . __( 'g:i a' ), $transitions[1]['ts'] ) . '</code>'
);
} else {
_e( 'This timezone does not observe daylight saving time.' );

View File

@@ -408,7 +408,7 @@ if ( ! is_multisite() && current_user_can( 'edit_themes' ) && $broken_themes ) {
</tr>
<?php foreach ( $broken_themes as $broken_theme ) : ?>
<tr>
<td><?php echo $broken_theme->get( 'Name' ) ? $broken_theme->display( 'Name' ) : $broken_theme->get_stylesheet(); ?></td>
<td><?php echo $broken_theme->get( 'Name' ) ? $broken_theme->display( 'Name' ) : esc_html( $broken_theme->get_stylesheet() ); ?></td>
<td><?php echo $broken_theme->errors()->get_error_message(); ?></td>
<?php
if ( $can_resume ) {

View File

@@ -18,24 +18,27 @@ if ( isset( $_GET['page'] ) && ! empty( $_POST ) ) {
}
}
/** WordPress Administration Bootstrap */
require_once( dirname( __FILE__ ) . '/admin.php' );
// The privacy policy guide used to be outputted from here. Since WP 5.3 it is in wp-admin/privacy-policy-guide.php.
if ( isset( $_GET['wp-privacy-policy-guide'] ) ) {
require_once dirname( __DIR__ ) . '/wp-load.php';
wp_redirect( admin_url( 'privacy-policy-guide.php' ), 301 );
exit;
} elseif ( isset( $_GET['page'] ) ) {
// These were also moved to files in WP 5.3.
if ( $_GET['page'] === 'export_personal_data' ) {
require_once dirname( __DIR__ ) . '/wp-load.php';
wp_redirect( admin_url( 'export-personal-data.php' ), 301 );
exit;
} elseif ( $_GET['page'] === 'remove_personal_data' ) {
require_once dirname( __DIR__ ) . '/wp-load.php';
wp_redirect( admin_url( 'erase-personal-data.php' ), 301 );
exit;
}
}
/** WordPress Administration Bootstrap */
require_once( dirname( __FILE__ ) . '/admin.php' );
$title = __( 'Tools' );
get_current_screen()->add_help_tab(

View File

@@ -56,8 +56,8 @@ do_action( 'set_comment_cookies', $comment, $user, $cookies_consent );
$location = empty( $_POST['redirect_to'] ) ? get_comment_link( $comment ) : $_POST['redirect_to'] . '#comment-' . $comment->comment_ID;
// Add specific query arguments to display the awaiting moderation message.
if ( 'unapproved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_author_email ) ) {
// If user didn't consent to cookies, add specific query arguments to display the awaiting moderation message.
if ( ! $cookies_consent && 'unapproved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_author_email ) ) {
$location = add_query_arg(
array(
'unapproved' => $comment->comment_ID,

View File

@@ -2786,7 +2786,8 @@ body.page .main-navigation {
background: transparent;
color: inherit;
cursor: pointer;
transition: background 250ms ease-in-out, transform 150ms ease;
transition: background 250ms ease-in-out,
transform 150ms ease;
-webkit-appearance: none;
-moz-appearance: none;
}

View File

@@ -5,7 +5,8 @@ Theme URI: https://wordpress.org/themes/twentynineteen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Our 2019 default theme is designed to show off the power of the block editor. It features custom styles for all the default blocks, and is built so that what you see in the editor looks like what you'll see on your website. Twenty Nineteen is designed to be adaptable to a wide range of websites, whether youre running a photo blog, launching a new business, or supporting a non-profit. Featuring ample whitespace and modern sans-serif headlines paired with classic serif body text, it's built to be beautiful on all screen sizes.
Requires at least: WordPress 4.9.6
Requires at least: 4.9.6
Requires PHP: 5.2.4
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -2785,7 +2786,8 @@ body.page .main-navigation {
background: transparent;
color: inherit;
cursor: pointer;
transition: background 250ms ease-in-out, transform 150ms ease;
transition: background 250ms ease-in-out,
transform 150ms ease;
-webkit-appearance: none;
-moz-appearance: none;
}

View File

@@ -4,7 +4,8 @@ Theme URI: https://wordpress.org/themes/twentynineteen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Our 2019 default theme is designed to show off the power of the block editor. It features custom styles for all the default blocks, and is built so that what you see in the editor looks like what you'll see on your website. Twenty Nineteen is designed to be adaptable to a wide range of websites, whether youre running a photo blog, launching a new business, or supporting a non-profit. Featuring ample whitespace and modern sans-serif headlines paired with classic serif body text, it's built to be beautiful on all screen sizes.
Requires at least: WordPress 4.9.6
Requires at least: 4.9.6
Requires PHP: 5.2.4
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

View File

@@ -96,7 +96,7 @@ function render_block_core_rss( $attributes ) {
$class .= ' ' . $attributes['className'];
}
$list_items_markup = "<ul class='{$class}'>{$list_items}</ul>";
$list_items_markup = sprintf( "<ul class='%s'>%s</ul>", esc_attr( $class ), $list_items );
// PHP 5.2 compatibility. See: http://simplepie.org/wiki/faq/i_m_getting_memory_leaks.
$rss->__destruct();

View File

@@ -52,7 +52,7 @@ function render_block_core_search( $attributes ) {
return sprintf(
'<form class="%s" role="search" method="get" action="%s">%s</form>',
$class,
esc_attr( $class ),
esc_url( home_url( '/' ) ),
$label_markup . $input_markup . $button_markup
);

View File

@@ -695,7 +695,7 @@ class WP_Object_Cache {
echo '</p>';
echo '<ul>';
foreach ( $this->cache as $group => $cache ) {
echo "<li><strong>Group:</strong> $group - ( " . number_format( strlen( serialize( $cache ) ) / KB_IN_BYTES, 2 ) . 'k )</li>';
echo '<li><strong>Group:</strong> ' . esc_html( $group ) . ' - ( ' . number_format( strlen( serialize( $cache ) ) / KB_IN_BYTES, 2 ) . 'k )</li>';
}
echo '</ul>';
}

View File

@@ -181,7 +181,11 @@ class Walker_Comment extends Walker {
return;
}
if ( ( 'pingback' == $comment->comment_type || 'trackback' == $comment->comment_type ) && $args['short_ping'] ) {
if ( 'comment' === $comment->comment_type ) {
add_filter( 'comment_text', array( $this, 'filter_comment_text' ), 40, 2 );
}
if ( ( 'pingback' === $comment->comment_type || 'trackback' === $comment->comment_type ) && $args['short_ping'] ) {
ob_start();
$this->ping( $comment, $depth, $args );
$output .= ob_get_clean();
@@ -194,6 +198,10 @@ class Walker_Comment extends Walker {
$this->comment( $comment, $depth, $args );
$output .= ob_get_clean();
}
if ( 'comment' === $comment->comment_type ) {
remove_filter( 'comment_text', array( $this, 'filter_comment_text' ), 40, 2 );
}
}
/**
@@ -244,6 +252,29 @@ class Walker_Comment extends Walker {
<?php
}
/**
* Filters the comment text.
*
* Removes links from the pending comment's text if the commenter did not consent
* to the comment cookies.
*
* @since 5.4.2
*
* @param string $comment_text Text of the current comment.
* @param WP_Comment|null $comment The comment object. Null if not found.
* @return string Filtered text of the current comment.
*/
public function filter_comment_text( $comment_text, $comment ) {
$commenter = wp_get_current_commenter();
$show_pending_links = ! empty( $commenter['comment_author'] );
if ( $comment && '0' == $comment->comment_approved && ! $show_pending_links ) {
$comment_text = wp_kses( $comment_text, array() );
}
return $comment_text;
}
/**
* Outputs a single comment.
*
@@ -264,13 +295,14 @@ class Walker_Comment extends Walker {
$add_below = 'div-comment';
}
$commenter = wp_get_current_commenter();
$commenter = wp_get_current_commenter();
$show_pending_links = isset( $commenter['comment_author'] ) && $commenter['comment_author'];
if ( $commenter['comment_author_email'] ) {
$moderation_note = __( 'Your comment is awaiting moderation.' );
} else {
$moderation_note = __( 'Your comment is awaiting moderation. This is a preview, your comment will be visible after it has been approved.' );
}
?>
<<?php echo $tag; ?> <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?> id="comment-<?php comment_ID(); ?>">
<?php if ( 'div' != $args['style'] ) : ?>
@@ -279,14 +311,21 @@ class Walker_Comment extends Walker {
<div class="comment-author vcard">
<?php
if ( 0 != $args['avatar_size'] ) {
echo get_avatar( $comment, $args['avatar_size'] );}
echo get_avatar( $comment, $args['avatar_size'] );
}
?>
<?php
printf(
/* translators: %s: Comment author link. */
__( '%s <span class="says">says:</span>' ),
sprintf( '<cite class="fn">%s</cite>', get_comment_author_link( $comment ) )
);
$comment_author = get_comment_author_link( $comment );
if ( '0' == $comment->comment_approved && ! $show_pending_links ) {
$comment_author = get_comment_author( $comment );
}
printf(
/* translators: %s: Comment author link. */
__( '%s <span class="says">says:</span>' ),
sprintf( '<cite class="fn">%s</cite>', $comment_author )
);
?>
</div>
<?php if ( '0' == $comment->comment_approved ) : ?>
@@ -354,13 +393,14 @@ class Walker_Comment extends Walker {
protected function html5_comment( $comment, $depth, $args ) {
$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
$commenter = wp_get_current_commenter();
$commenter = wp_get_current_commenter();
$show_pending_links = ! empty( $commenter['comment_author'] );
if ( $commenter['comment_author_email'] ) {
$moderation_note = __( 'Your comment is awaiting moderation.' );
} else {
$moderation_note = __( 'Your comment is awaiting moderation. This is a preview, your comment will be visible after it has been approved.' );
}
?>
<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>>
<article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
@@ -372,11 +412,17 @@ class Walker_Comment extends Walker {
}
?>
<?php
printf(
/* translators: %s: Comment author link. */
__( '%s <span class="says">says:</span>' ),
sprintf( '<b class="fn">%s</b>', get_comment_author_link( $comment ) )
);
$comment_author = get_comment_author_link( $comment );
if ( '0' == $comment->comment_approved && ! $show_pending_links ) {
$comment_author = get_comment_author( $comment );
}
printf(
/* translators: %s: Comment author link. */
__( '%s <span class="says">says:</span>' ),
sprintf( '<b class="fn">%s</b>', $comment_author )
);
?>
</div><!-- .comment-author -->
@@ -402,18 +448,20 @@ class Walker_Comment extends Walker {
</div><!-- .comment-content -->
<?php
comment_reply_link(
array_merge(
$args,
array(
'add_below' => 'div-comment',
'depth' => $depth,
'max_depth' => $args['max_depth'],
'before' => '<div class="reply">',
'after' => '</div>',
if ( '1' == $comment->comment_approved || $show_pending_links ) {
comment_reply_link(
array_merge(
$args,
array(
'add_below' => 'div-comment',
'depth' => $depth,
'max_depth' => $args['max_depth'],
'before' => '<div class="reply">',
'after' => '</div>',
)
)
)
);
);
}
?>
</article><!-- .comment-body -->
<?php

View File

@@ -553,10 +553,15 @@ class WP_Comment_Query {
// Numeric values are assumed to be user ids.
if ( is_numeric( $unapproved_identifier ) ) {
$approved_clauses[] = $wpdb->prepare( "( user_id = %d AND comment_approved = '0' )", $unapproved_identifier );
// Otherwise we match against email addresses.
} else {
$approved_clauses[] = $wpdb->prepare( "( comment_author_email = %s AND comment_approved = '0' )", $unapproved_identifier );
// Otherwise we match against email addresses.
if ( ! empty( $_GET['unapproved'] ) && ! empty( $_GET['moderation-hash'] ) ) {
// Only include requested comment.
$approved_clauses[] = $wpdb->prepare( "( comment_author_email = %s AND comment_approved = '0' AND comment_ID = %d )", $unapproved_identifier, (int) $_GET['unapproved'] );
} else {
// Include all of the author's unapproved comments.
$approved_clauses[] = $wpdb->prepare( "( comment_author_email = %s AND comment_approved = '0' )", $unapproved_identifier );
}
}
}
}

View File

@@ -2923,22 +2923,11 @@ final class WP_Customize_Manager {
add_filter( 'wp_save_post_revision_post_has_changed', array( $this, '_filter_revision_post_has_changed' ), 5, 3 );
/*
* Update the changeset post. The publish_customize_changeset action
* will cause the settings in the changeset to be saved via
* WP_Customize_Setting::save().
* Update the changeset post. The publish_customize_changeset action will cause the settings in the
* changeset to be saved via WP_Customize_Setting::save(). Updating a post with publish status will
* trigger WP_Customize_Manager::publish_changeset_values().
*/
// Prevent content filters from corrupting JSON in post_content.
$has_kses = ( false !== has_filter( 'content_save_pre', 'wp_filter_post_kses' ) );
if ( $has_kses ) {
kses_remove_filters();
}
$has_targeted_link_rel_filters = ( false !== has_filter( 'content_save_pre', 'wp_targeted_link_rel' ) );
if ( $has_targeted_link_rel_filters ) {
wp_remove_targeted_link_rel_filters();
}
// Note that updating a post with publish status will trigger WP_Customize_Manager::publish_changeset_values().
add_filter( 'wp_insert_post_data', array( $this, 'preserve_insert_changeset_post_content' ), 5, 3 );
if ( $changeset_post_id ) {
if ( $args['autosave'] && 'auto-draft' !== get_post_status( $changeset_post_id ) ) {
// See _wp_translate_postdata() for why this is required as it will use the edit_post meta capability.
@@ -2965,14 +2954,7 @@ final class WP_Customize_Manager {
$this->_changeset_post_id = $r; // Update cached post ID for the loaded changeset.
}
}
// Restore removed content filters.
if ( $has_kses ) {
kses_init_filters();
}
if ( $has_targeted_link_rel_filters ) {
wp_init_targeted_link_rel_filters();
}
remove_filter( 'wp_insert_post_data', array( $this, 'preserve_insert_changeset_post_content' ), 5 );
$this->_changeset_data = null; // Reset so WP_Customize_Manager::changeset_data() will re-populate with updated contents.
@@ -2990,6 +2972,51 @@ final class WP_Customize_Manager {
return $response;
}
/**
* Preserve the initial JSON post_content passed to save into the post.
*
* This is needed to prevent KSES and other {@see 'content_save_pre'} filters
* from corrupting JSON data.
*
* Note that WP_Customize_Manager::validate_setting_values() have already
* run on the setting values being serialized as JSON into the post content
* so it is pre-sanitized.
*
* Also, the sanitization logic is re-run through the respective
* WP_Customize_Setting::sanitize() method when being read out of the
* changeset, via WP_Customize_Manager::post_value(), and this sanitized
* value will also be sent into WP_Customize_Setting::update() for
* persisting to the DB.
*
* Multiple users can collaborate on a single changeset, where one user may
* have the unfiltered_html capability but another may not. A user with
* unfiltered_html may add a script tag to some field which needs to be kept
* intact even when another user updates the changeset to modify another field
* when they do not have unfiltered_html.
*
* @since 5.4.1
*
* @param array $data An array of slashed and processed post data.
* @param array $postarr An array of sanitized (and slashed) but otherwise unmodified post data.
* @param array $unsanitized_postarr An array of slashed yet *unsanitized* and unprocessed post data as originally passed to wp_insert_post().
* @return array Filtered post data.
*/
public function preserve_insert_changeset_post_content( $data, $postarr, $unsanitized_postarr ) {
if (
isset( $data['post_type'] ) &&
isset( $unsanitized_postarr['post_content'] ) &&
'customize_changeset' === $data['post_type'] ||
(
'revision' === $data['post_type'] &&
! empty( $data['post_parent'] ) &&
'customize_changeset' === get_post_type( $data['post_parent'] )
)
) {
$data['post_content'] = $unsanitized_postarr['post_content'];
}
return $data;
}
/**
* Trash or delete a changeset post.
*

View File

@@ -800,10 +800,6 @@ class WP_Query {
$this->is_single = true;
} elseif ( $qv['p'] ) {
$this->is_single = true;
} elseif ( ( '' !== $qv['hour'] ) && ( '' !== $qv['minute'] ) && ( '' !== $qv['second'] ) && ( '' != $qv['year'] ) && ( '' != $qv['monthnum'] ) && ( '' != $qv['day'] ) ) {
// If year, month, day, hour, minute, and second are set, a single
// post is being queried.
$this->is_single = true;
} elseif ( '' != $qv['pagename'] || ! empty( $qv['page_id'] ) ) {
$this->is_page = true;
$this->is_single = false;

View File

@@ -403,6 +403,10 @@ class WP {
if ( is_user_logged_in() ) {
$headers = array_merge( $headers, wp_get_nocache_headers() );
} elseif ( ! empty( $_GET['unapproved'] ) && ! empty( $_GET['moderation-hash'] ) ) {
// Unmoderated comments are only visible for one minute via the moderation hash.
$headers['Expires'] = gmdate( 'D, d M Y H:i:s', time() + MINUTE_IN_SECONDS );
$headers['Cache-Control'] = 'max-age=60, must-revalidate';
}
if ( ! empty( $this->query_vars['error'] ) ) {
$status = (int) $this->query_vars['error'];

View File

@@ -593,8 +593,13 @@ function comment_date( $d = '', $comment_ID = 0 ) {
* @return string The possibly truncated comment excerpt.
*/
function get_comment_excerpt( $comment_ID = 0 ) {
$comment = get_comment( $comment_ID );
$comment_text = strip_tags( str_replace( array( "\n", "\r" ), ' ', $comment->comment_content ) );
$comment = get_comment( $comment_ID );
if ( ! post_password_required( $comment->comment_post_ID ) ) {
$comment_text = strip_tags( str_replace( array( "\n", "\r" ), ' ', $comment->comment_content ) );
} else {
$comment_text = __( 'Password protected' );
}
/* translators: Maximum number of words used in a comment excerpt. */
$comment_excerpt_length = intval( _x( '20', 'comment_excerpt_length' ) );
@@ -997,7 +1002,7 @@ function comment_text( $comment_ID = 0, $args = array() ) {
* @see Walker_Comment::comment()
*
* @param string $comment_text Text of the current comment.
* @param WP_Comment|null $comment The comment object.
* @param WP_Comment|null $comment The comment object. Null if not found.
* @param array $args An array of arguments.
*/
echo apply_filters( 'comment_text', $comment_text, $comment, $args );

View File

@@ -1831,7 +1831,12 @@ function wp_get_unapproved_comment_author_email() {
$comment = get_comment( $comment_id );
if ( $comment && hash_equals( $_GET['moderation-hash'], wp_hash( $comment->comment_date_gmt ) ) ) {
$commenter_email = $comment->comment_author_email;
// The comment will only be viewable by the comment author for 1 minute.
$comment_preview_expires = strtotime( $comment->comment_date_gmt . '+1 minute' );
if ( time() < $comment_preview_expires ) {
$commenter_email = $comment->comment_author_email;
}
}
}

View File

@@ -180,7 +180,7 @@ div[data-type="core/button"] div[data-block] {
display: flex;
flex-direction: column;
flex: 1 1 auto; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-columns > .editor-inner-blocks > .editor-block-list__layout > [data-type="core/column"],
.wp-block-columns > .editor-inner-blocks > .editor-block-list__layout > [data-type="core/column"] > .editor-block-list__block-edit,
.wp-block-columns > .editor-inner-blocks > .editor-block-list__layout > [data-type="core/column"] > .editor-block-list__block-edit > div[data-block],
@@ -600,7 +600,6 @@ div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce::af
display: none;
width: auto;
margin: 0 -14px;
position: -webkit-sticky;
position: sticky;
z-index: 10;
top: 14px;
@@ -698,7 +697,7 @@ body.admin-color-light .blocks-gallery-item figure.is-selected {
max-height: 100%;
overflow-y: auto; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.blocks-gallery-item .is-selected .block-editor-rich-text {
left: 0;
right: 0;
@@ -1135,7 +1134,6 @@ figure.block-library-media-text__media-container {
.wp-block-navigation-menu {
display: -ms-grid;
display: grid;
grid-auto-columns: -webkit-min-content;
grid-auto-columns: min-content;
grid-auto-flow: column;
align-items: center;
@@ -1148,7 +1146,6 @@ figure.block-library-media-text__media-container {
.wp-block-navigation-menu-item__edit-container {
display: -ms-grid;
display: grid;
grid-auto-columns: -webkit-min-content;
grid-auto-columns: min-content;
grid-auto-flow: column;
align-items: center;

File diff suppressed because one or more lines are too long

View File

@@ -181,7 +181,7 @@ div[data-type="core/button"] div[data-block] {
display: flex;
flex-direction: column;
flex: 1 1 auto; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-columns > .editor-inner-blocks > .editor-block-list__layout > [data-type="core/column"],
.wp-block-columns > .editor-inner-blocks > .editor-block-list__layout > [data-type="core/column"] > .editor-block-list__block-edit,
.wp-block-columns > .editor-inner-blocks > .editor-block-list__layout > [data-type="core/column"] > .editor-block-list__block-edit > div[data-block],
@@ -605,7 +605,6 @@ div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce::af
display: none;
width: auto;
margin: 0 -14px;
position: -webkit-sticky;
position: sticky;
z-index: 10;
top: 14px;
@@ -703,7 +702,7 @@ body.admin-color-light .blocks-gallery-item figure.is-selected {
max-height: 100%;
overflow-y: auto; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.blocks-gallery-item .is-selected .block-editor-rich-text {
right: 0;
left: 0;
@@ -1140,7 +1139,6 @@ figure.block-library-media-text__media-container {
.wp-block-navigation-menu {
display: -ms-grid;
display: grid;
grid-auto-columns: -webkit-min-content;
grid-auto-columns: min-content;
grid-auto-flow: column;
align-items: center;
@@ -1153,7 +1151,6 @@ figure.block-library-media-text__media-container {
.wp-block-navigation-menu-item__edit-container {
display: -ms-grid;
display: grid;
grid-auto-columns: -webkit-min-content;
grid-auto-columns: min-content;
grid-auto-flow: column;
align-items: center;

File diff suppressed because one or more lines are too long

View File

@@ -238,7 +238,7 @@
content: "";
font-size: 0;
min-height: inherit; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-cover-image::after,
.wp-block-cover::after {
content: none; } }
@@ -442,7 +442,7 @@ section.wp-block-cover-image > h2,
.blocks-gallery-grid .blocks-gallery-item figure {
margin: 0;
height: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure,
.blocks-gallery-grid .blocks-gallery-image figure,
@@ -462,7 +462,7 @@ section.wp-block-cover-image > h2,
.blocks-gallery-grid .blocks-gallery-image img,
.blocks-gallery-grid .blocks-gallery-item img {
width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img,
.blocks-gallery-grid .blocks-gallery-image img,
@@ -496,7 +496,7 @@ section.wp-block-cover-image > h2,
.blocks-gallery-grid.is-cropped .blocks-gallery-item a,
.blocks-gallery-grid.is-cropped .blocks-gallery-item img {
width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item a,
@@ -688,19 +688,15 @@ section.wp-block-cover-image > h2,
.is-style-circle-mask img {
border-radius: 9999px; }
@supports ((-webkit-mask-image: none) or (mask-image: none)) or (-webkit-mask-image: none) {
@supports (mask-image: none) or (-webkit-mask-image: none) {
.is-style-circle-mask img {
/* stylelint-disable */
-webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
/* stylelint-enable */
mask-mode: alpha;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: contain;
mask-size: contain;
-webkit-mask-position: center;
mask-position: center;
mask-repeat: no-repeat;
mask-size: contain;
mask-position: center;
border-radius: none; } }
.wp-block-latest-comments__comment {
@@ -1415,7 +1411,7 @@ pre.wp-block-verse {
margin-left: 0; }
.wp-block-video video {
max-width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-video [poster] {
-o-object-fit: cover;
object-fit: cover; } }

File diff suppressed because one or more lines are too long

View File

@@ -241,7 +241,7 @@
content: "";
font-size: 0;
min-height: inherit; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-cover-image::after,
.wp-block-cover::after {
content: none; } }
@@ -446,7 +446,7 @@ section.wp-block-cover-image > h2,
.blocks-gallery-grid .blocks-gallery-item figure {
margin: 0;
height: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure,
.blocks-gallery-grid .blocks-gallery-image figure,
@@ -466,7 +466,7 @@ section.wp-block-cover-image > h2,
.blocks-gallery-grid .blocks-gallery-image img,
.blocks-gallery-grid .blocks-gallery-item img {
width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img,
.blocks-gallery-grid .blocks-gallery-image img,
@@ -500,7 +500,7 @@ section.wp-block-cover-image > h2,
.blocks-gallery-grid.is-cropped .blocks-gallery-item a,
.blocks-gallery-grid.is-cropped .blocks-gallery-item img {
width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item a,
@@ -696,19 +696,15 @@ section.wp-block-cover-image > h2,
.is-style-circle-mask img {
border-radius: 9999px; }
@supports ((-webkit-mask-image: none) or (mask-image: none)) or (-webkit-mask-image: none) {
@supports (mask-image: none) or (-webkit-mask-image: none) {
.is-style-circle-mask img {
/* stylelint-disable */
-webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
/* stylelint-enable */
mask-mode: alpha;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: contain;
mask-size: contain;
-webkit-mask-position: center;
mask-position: center;
mask-repeat: no-repeat;
mask-size: contain;
mask-position: center;
border-radius: none; } }
.wp-block-latest-comments__comment {
@@ -1427,7 +1423,7 @@ pre.wp-block-verse {
margin-right: 0; }
.wp-block-video video {
max-width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.wp-block-video [poster] {
-o-object-fit: cover;
object-fit: cover; } }

File diff suppressed because one or more lines are too long

View File

@@ -82,7 +82,6 @@
.edit-post-header {
height: 56px;
top: 0;
position: -webkit-sticky;
position: sticky;
flex-wrap: nowrap; } }
@media (min-width: 600px) {
@@ -97,7 +96,7 @@
top: 0; } }
.edit-post-header > .edit-post-header__settings {
order: 1; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.edit-post-header > .edit-post-header__settings {
order: initial; } }
@@ -439,7 +438,7 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
overscroll-behavior-y: none; } }
.edit-post-layout__content .edit-post-visual-editor {
flex: 1 1 auto; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.edit-post-layout__content .edit-post-visual-editor {
flex-basis: 100%; } }
.edit-post-layout__content .edit-post-layout__metaboxes {
@@ -578,7 +577,6 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
margin: 0 0 2rem 0; }
.edit-post-manage-blocks-modal__category-title {
position: -webkit-sticky;
position: sticky;
top: 0;
padding: 16px 0;
@@ -871,7 +869,7 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
.editor-post-author__select {
margin: -5px 0;
width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.editor-post-author__select {
width: auto; } }
@@ -940,7 +938,6 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
padding-right: 0;
padding-left: 4px;
border-top: 0;
position: -webkit-sticky;
position: sticky;
z-index: -1;
top: 0; }

File diff suppressed because one or more lines are too long

View File

@@ -82,7 +82,6 @@
.edit-post-header {
height: 56px;
top: 0;
position: -webkit-sticky;
position: sticky;
flex-wrap: nowrap; } }
@media (min-width: 600px) {
@@ -97,7 +96,7 @@
top: 0; } }
.edit-post-header > .edit-post-header__settings {
order: 1; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.edit-post-header > .edit-post-header__settings {
order: initial; } }
@@ -439,7 +438,7 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
overscroll-behavior-y: none; } }
.edit-post-layout__content .edit-post-visual-editor {
flex: 1 1 auto; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.edit-post-layout__content .edit-post-visual-editor {
flex-basis: 100%; } }
.edit-post-layout__content .edit-post-layout__metaboxes {
@@ -578,7 +577,6 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
margin: 0 0 2rem 0; }
.edit-post-manage-blocks-modal__category-title {
position: -webkit-sticky;
position: sticky;
top: 0;
padding: 16px 0;
@@ -871,7 +869,7 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
.editor-post-author__select {
margin: -5px 0;
width: 100%; }
@supports ((position: -webkit-sticky) or (position: sticky)) {
@supports (position: sticky) {
.editor-post-author__select {
width: auto; } }
@@ -944,7 +942,6 @@ body.is-fullscreen-mode .edit-post-layout__content .components-editor-notices__s
padding-left: 0;
padding-right: 4px;
border-top: 0;
position: -webkit-sticky;
position: sticky;
z-index: -1;
top: 0; }

File diff suppressed because one or more lines are too long

View File

@@ -574,8 +574,8 @@ add_filter( 'the_excerpt_embed', 'wpautop' );
add_filter( 'the_excerpt_embed', 'shortcode_unautop' );
add_filter( 'the_excerpt_embed', 'wp_embed_excerpt_attachment' );
add_filter( 'oembed_dataparse', 'wp_filter_oembed_iframe_title_attribute', 5, 3 );
add_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10, 3 );
add_filter( 'oembed_dataparse', 'wp_filter_oembed_iframe_title_attribute', 20, 3 );
add_filter( 'oembed_response_data', 'get_oembed_response_data_rich', 10, 4 );
add_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10, 3 );

View File

@@ -797,11 +797,24 @@ function wp_filter_oembed_iframe_title_attribute( $result, $data, $url ) {
$title = ! empty( $data->title ) ? $data->title : '';
$pattern = '`<iframe[^>]*?title=(\\\\\'|\\\\"|[\'"])([^>]*?)\1`i';
$has_title_attr = preg_match( $pattern, $result, $matches );
$pattern = '`<iframe([^>]*)>`i';
if ( preg_match( $pattern, $result, $matches ) ) {
$attrs = wp_kses_hair( $matches[1], wp_allowed_protocols() );
if ( $has_title_attr && ! empty( $matches[2] ) ) {
$title = $matches[2];
foreach ( $attrs as $attr => $item ) {
$lower_attr = strtolower( $attr );
if ( $lower_attr === $attr ) {
continue;
}
if ( ! isset( $attrs[ $lower_attr ] ) ) {
$attrs[ $lower_attr ] = $item;
unset( $attrs[ $attr ] );
}
}
}
if ( ! empty( $attrs['title']['value'] ) ) {
$title = $attrs['title']['value'];
}
/**
@@ -820,11 +833,11 @@ function wp_filter_oembed_iframe_title_attribute( $result, $data, $url ) {
return $result;
}
if ( $has_title_attr ) {
// Remove the old title, $matches[1]: quote, $matches[2]: title attribute value.
$result = str_replace( ' title=' . $matches[1] . $matches[2] . $matches[1], '', $result );
if ( isset( $attrs['title'] ) ) {
unset( $attrs['title'] );
$attr_string = join( ' ', wp_list_pluck( $attrs, 'whole' ) );
$result = str_replace( $matches[0], '<iframe ' . trim( $attr_string ) . '>', $result );
}
return str_ireplace( '<iframe ', sprintf( '<iframe title="%s" ', esc_attr( $title ) ), $result );
}

View File

@@ -2003,6 +2003,24 @@ function remove_accents( $string ) {
function sanitize_file_name( $filename ) {
$filename_raw = $filename;
$special_chars = array( '?', '[', ']', '/', '\\', '=', '<', '>', ':', ';', ',', "'", '"', '&', '$', '#', '*', '(', ')', '|', '~', '`', '!', '{', '}', '%', '+', chr( 0 ) );
// Check for support for utf8 in the installed PCRE library once and store the result in a static.
static $utf8_pcre = null;
if ( ! isset( $utf8_pcre ) ) {
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$utf8_pcre = @preg_match( '/^./u', 'a' );
}
if ( ! seems_utf8( $filename ) ) {
$_ext = pathinfo( $filename, PATHINFO_EXTENSION );
$_name = pathinfo( $filename, PATHINFO_FILENAME );
$filename = sanitize_title_with_dashes( $_name ) . '.' . $_ext;
}
if ( $utf8_pcre ) {
$filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
}
/**
* Filters the list of characters to remove from a filename.
*
@@ -2012,7 +2030,6 @@ function sanitize_file_name( $filename ) {
* @param string $filename_raw Filename as it was passed into sanitize_file_name().
*/
$special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
$filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
$filename = str_replace( $special_chars, '', $filename );
$filename = str_replace( array( '%20', '+' ), '-', $filename );
$filename = preg_replace( '/[\r\n\t -]+/', '-', $filename );

View File

@@ -82,7 +82,7 @@ this["wp"] = this["wp"] || {}; this["wp"]["dataControls"] =
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 317);
/******/ return __webpack_require__(__webpack_require__.s = 318);
/******/ })
/************************************************************************/
/******/ ({
@@ -131,7 +131,7 @@ function _iterableToArray(iter) {
/***/ }),
/***/ 317:
/***/ 318:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";

View File

@@ -1 +1 @@
this.wp=this.wp||{},this.wp.dataControls=function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=317)}({17:function(t,e,r){"use strict";var n=r(30);function o(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||Object(n.a)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}r.d(e,"a",(function(){return o}))},30:function(t,e,r){"use strict";function n(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}r.d(e,"a",(function(){return n}))},317:function(t,e,r){"use strict";r.r(e),r.d(e,"apiFetch",(function(){return c})),r.d(e,"select",(function(){return a})),r.d(e,"dispatch",(function(){return s})),r.d(e,"controls",(function(){return f}));var n=r(17),o=r(34),u=r.n(o),i=r(4),c=function(t){return{type:"API_FETCH",request:t}};function a(t,e){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return{type:"SELECT",storeKey:t,selectorName:e,args:n}}function s(t,e){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return{type:"DISPATCH",storeKey:t,actionName:e,args:n}}var f={API_FETCH:function(t){var e=t.request;return u()(e)},SELECT:Object(i.createRegistryControl)((function(t){return function(e){var r,o=e.storeKey,u=e.selectorName,i=e.args;return t.select(o)[u].hasResolver?function(t,e){var r=e.storeKey,n=e.selectorName,o=e.args;return new Promise((function(e){var u=function(){return t.select("core/data").hasFinishedResolution(r,n,o)},i=function(){return t.select(r)[n].apply(null,o)},c=i();if(u())return e(c);var a=t.subscribe((function(){u()&&(a(),e(i()))}))}))}(t,{storeKey:o,selectorName:u,args:i}):(r=t.select(o))[u].apply(r,Object(n.a)(i))}})),DISPATCH:Object(i.createRegistryControl)((function(t){return function(e){var r,o=e.storeKey,u=e.actionName,i=e.args;return(r=t.dispatch(o))[u].apply(r,Object(n.a)(i))}}))}},34:function(t,e){!function(){t.exports=this.wp.apiFetch}()},4:function(t,e){!function(){t.exports=this.wp.data}()}});
this.wp=this.wp||{},this.wp.dataControls=function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=318)}({17:function(t,e,r){"use strict";var n=r(30);function o(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||Object(n.a)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}r.d(e,"a",(function(){return o}))},30:function(t,e,r){"use strict";function n(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}r.d(e,"a",(function(){return n}))},318:function(t,e,r){"use strict";r.r(e),r.d(e,"apiFetch",(function(){return c})),r.d(e,"select",(function(){return a})),r.d(e,"dispatch",(function(){return s})),r.d(e,"controls",(function(){return f}));var n=r(17),o=r(34),u=r.n(o),i=r(4),c=function(t){return{type:"API_FETCH",request:t}};function a(t,e){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return{type:"SELECT",storeKey:t,selectorName:e,args:n}}function s(t,e){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];return{type:"DISPATCH",storeKey:t,actionName:e,args:n}}var f={API_FETCH:function(t){var e=t.request;return u()(e)},SELECT:Object(i.createRegistryControl)((function(t){return function(e){var r,o=e.storeKey,u=e.selectorName,i=e.args;return t.select(o)[u].hasResolver?function(t,e){var r=e.storeKey,n=e.selectorName,o=e.args;return new Promise((function(e){var u=function(){return t.select("core/data").hasFinishedResolution(r,n,o)},i=function(){return t.select(r)[n].apply(null,o)},c=i();if(u())return e(c);var a=t.subscribe((function(){u()&&(a(),e(i()))}))}))}(t,{storeKey:o,selectorName:u,args:i}):(r=t.select(o))[u].apply(r,Object(n.a)(i))}})),DISPATCH:Object(i.createRegistryControl)((function(t){return function(e){var r,o=e.storeKey,u=e.actionName,i=e.args;return(r=t.dispatch(o))[u].apply(r,Object(n.a)(i))}}))}},34:function(t,e){!function(){t.exports=this.wp.apiFetch}()},4:function(t,e){!function(){t.exports=this.wp.data}()}});

View File

@@ -198,7 +198,7 @@ if (typeof self !== 'undefined') {
var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(root);
/* harmony default export */ __webpack_exports__["a"] = (result);
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(65), __webpack_require__(318)(module)))
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(65), __webpack_require__(317)(module)))
/***/ }),
@@ -374,7 +374,7 @@ function _iterableToArray(iter) {
/***/ }),
/***/ 318:
/***/ 317:
/***/ (function(module, exports) {
module.exports = function(originalModule) {

File diff suppressed because one or more lines are too long

View File

@@ -4255,11 +4255,26 @@ function attachment_url_to_postid( $url ) {
}
$sql = $wpdb->prepare(
"SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = %s",
"SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = %s",
$path
);
$post_id = $wpdb->get_var( $sql );
$results = $wpdb->get_results( $sql );
$post_id = null;
if ( $results ) {
// Use the first available result, but prefer a case-sensitive match, if exists.
$post_id = reset( $results )->post_id;
if ( count( $results ) > 1 ) {
foreach ( $results as $result ) {
if ( $path === $result->meta_value ) {
$post_id = $result->post_id;
break;
}
}
}
}
/**
* Filters an attachment id found by URL.

View File

@@ -1391,9 +1391,9 @@ if ( ! function_exists( 'wp_validate_redirect' ) ) :
* @return string redirect-sanitized URL
*/
function wp_validate_redirect( $location, $default = '' ) {
$location = trim( $location, " \t\n\r\0\x08\x0B" );
// browsers will assume 'http' is your protocol, and will obey a redirect to a URL starting with '//'
if ( substr( $location, 0, 2 ) == '//' ) {
$location = wp_sanitize_redirect( trim( $location, " \t\n\r\0\x08\x0B" ) );
// Browsers will assume 'http' is your protocol, and will obey a redirect to a URL starting with '//'.
if ( '//' === substr( $location, 0, 2 ) ) {
$location = 'http:' . $location;
}

View File

@@ -3554,6 +3554,9 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
function wp_insert_post( $postarr, $wp_error = false ) {
global $wpdb;
// Capture original pre-sanitized array for passing into filters.
$unsanitized_postarr = $postarr;
$user_id = get_current_user_id();
$defaults = array(
@@ -3865,21 +3868,27 @@ function wp_insert_post( $postarr, $wp_error = false ) {
* Filters attachment post data before it is updated in or added to the database.
*
* @since 3.9.0
* @since 5.4.1 `$unsanitized_postarr` argument added.
*
* @param array $data An array of sanitized attachment post data.
* @param array $postarr An array of unsanitized attachment post data.
* @param array $data An array of slashed, sanitized, and processed attachment post data.
* @param array $postarr An array of slashed and sanitized attachment post data, but not processed.
* @param array $unsanitized_postarr An array of slashed yet *unsanitized* and unprocessed attachment post data
* as originally passed to wp_insert_post().
*/
$data = apply_filters( 'wp_insert_attachment_data', $data, $postarr );
$data = apply_filters( 'wp_insert_attachment_data', $data, $postarr, $unsanitized_postarr );
} else {
/**
* Filters slashed post data just before it is inserted into the database.
*
* @since 2.7.0
* @since 5.4.1 `$unsanitized_postarr` argument added.
*
* @param array $data An array of slashed post data.
* @param array $postarr An array of sanitized, but otherwise unmodified post data.
* @param array $data An array of slashed, sanitized, and processed post data.
* @param array $postarr An array of sanitized (and slashed) but otherwise unmodified post data.
* @param array $unsanitized_postarr An array of slashed yet *unsanitized* and unprocessed post data as
* originally passed to wp_insert_post().
*/
$data = apply_filters( 'wp_insert_post_data', $data, $postarr );
$data = apply_filters( 'wp_insert_post_data', $data, $postarr, $unsanitized_postarr );
}
$data = wp_unslash( $data );
$where = array( 'ID' => $post_ID );

View File

@@ -1621,6 +1621,7 @@ function wp_default_scripts( &$scripts ) {
// To enqueue media-views or media-editor, call wp_enqueue_media().
// Both rely on numerous settings, styles, and templates to operate correctly.
$scripts->add( 'media-views', "/wp-includes/js/media-views$suffix.js", array( 'utils', 'media-models', 'wp-plupload', 'jquery-ui-sortable', 'wp-mediaelement', 'wp-api-request', 'wp-a11y', 'wp-i18n' ), false, 1 );
$scripts->set_translations( 'media-views' );
$scripts->add( 'media-editor', "/wp-includes/js/media-editor$suffix.js", array( 'shortcode', 'media-views' ), false, 1 );
$scripts->add( 'media-audiovideo', "/wp-includes/js/media-audiovideo$suffix.js", array( 'media-editor' ), false, 1 );
$scripts->add( 'mce-view', "/wp-includes/js/mce-view$suffix.js", array( 'shortcode', 'jquery', 'media-views', 'media-audiovideo' ), false, 1 );

View File

@@ -1793,7 +1793,7 @@ function wp_insert_user( $userdata ) {
}
if ( $update ) {
if ( $user_email !== $old_user_data->user_email ) {
if ( $user_email !== $old_user_data->user_email || $user_pass !== $old_user_data->user_pass ) {
$data['user_activation_key'] = '';
}
$wpdb->update( $wpdb->users, $data, compact( 'ID' ) );
@@ -3063,7 +3063,11 @@ function _wp_privacy_send_request_confirmation_notification( $request_id ) {
return;
}
$manage_url = add_query_arg( 'page', $request->action_name, admin_url( 'tools.php' ) );
if ( 'export_personal_data' === $request->action_name ) {
$manage_url = admin_url( 'export-personal-data.php' );
} elseif ( 'remove_personal_data' === $request->action_name ) {
$manage_url = admin_url( 'erase-personal-data.php' );
}
$action_description = wp_user_request_action_description( $request->action_name );
/**

View File

@@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.3.2';
$wp_version = '5.3.4';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.