Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
055731393c | ||
|
|
d99c518d40 | ||
|
|
9e08f12e0d | ||
|
|
644cb5fc24 | ||
|
|
bb6a2aa182 | ||
|
|
676e70c5c7 | ||
|
|
5dee0c5fa4 | ||
|
|
b3d7e737ab | ||
|
|
511f7cb751 | ||
|
|
0d0a870240 | ||
|
|
cd6ac02117 | ||
|
|
77512de0c2 | ||
|
|
4e55b9a259 | ||
|
|
449c2e21f1 | ||
|
|
e6d839b936 | ||
|
|
22b941b16e | ||
|
|
3fc8c7687d | ||
|
|
f5a8d325ee | ||
|
|
c7963618ca | ||
|
|
b1e2b6174d | ||
|
|
dd4a67807a | ||
|
|
5ae97a43f1 |
@@ -51,6 +51,26 @@ 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: %s: WordPress version number */
|
||||
__( '<strong>Version %s</strong> addressed some security issues.' ),
|
||||
'5.3.3'
|
||||
);
|
||||
?>
|
||||
<?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(
|
||||
|
||||
@@ -3922,7 +3922,7 @@ img {
|
||||
|
||||
.fileedit-sub input[type="submit"] {
|
||||
margin-bottom: 0px;
|
||||
padding: 4px 18px;
|
||||
padding: 0px 18px;
|
||||
}
|
||||
|
||||
#documentation label[for="docs-list"] {
|
||||
|
||||
2
wp-admin/css/common-rtl.min.css
vendored
2
wp-admin/css/common-rtl.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -3922,7 +3922,7 @@ img {
|
||||
|
||||
.fileedit-sub input[type="submit"] {
|
||||
margin-bottom: 0px;
|
||||
padding: 4px 18px;
|
||||
padding: 0px 18px;
|
||||
}
|
||||
|
||||
#documentation label[for="docs-list"] {
|
||||
|
||||
2
wp-admin/css/common.min.css
vendored
2
wp-admin/css/common.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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 {
|
||||
|
||||
2
wp-admin/css/edit-rtl.min.css
vendored
2
wp-admin/css/edit-rtl.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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 {
|
||||
|
||||
2
wp-admin/css/edit.min.css
vendored
2
wp-admin/css/edit.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
}
|
||||
|
||||
2
wp-admin/css/forms-rtl.min.css
vendored
2
wp-admin/css/forms-rtl.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
}
|
||||
|
||||
2
wp-admin/css/forms.min.css
vendored
2
wp-admin/css/forms.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
|
||||
2
wp-admin/css/install-rtl.min.css
vendored
2
wp-admin/css/install-rtl.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
|
||||
2
wp-admin/css/install.min.css
vendored
2
wp-admin/css/install.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
wp-admin/css/media-rtl.min.css
vendored
2
wp-admin/css/media-rtl.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
wp-admin/css/media.min.css
vendored
2
wp-admin/css/media.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -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.' );
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 you’re 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;
|
||||
}
|
||||
|
||||
@@ -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 you’re 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
|
||||
|
||||
@@ -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>';
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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 );
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '5.3.2';
|
||||
$wp_version = '5.3.3';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
||||
Reference in New Issue
Block a user