mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-12 21:00:21 +00:00
Code is Poetry.
WordPress' code just... wasn't. This is now dealt with. Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS. Fixes #41057. git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
+63
-51
@@ -18,16 +18,16 @@
|
||||
/** WordPress Administration Bootstrap */
|
||||
require_once( dirname( __FILE__ ) . '/admin.php' );
|
||||
|
||||
$title = __('Settings');
|
||||
$this_file = 'options.php';
|
||||
$title = __( 'Settings' );
|
||||
$this_file = 'options.php';
|
||||
$parent_file = 'options-general.php';
|
||||
|
||||
wp_reset_vars(array('action', 'option_page'));
|
||||
wp_reset_vars( array( 'action', 'option_page' ) );
|
||||
|
||||
$capability = 'manage_options';
|
||||
|
||||
// This is for back compat and will eventually be removed.
|
||||
if ( empty($option_page) ) {
|
||||
if ( empty( $option_page ) ) {
|
||||
$option_page = 'options';
|
||||
} else {
|
||||
|
||||
@@ -53,11 +53,11 @@ if ( ! current_user_can( $capability ) ) {
|
||||
}
|
||||
|
||||
// Handle admin email change requests
|
||||
if ( ! empty( $_GET[ 'adminhash' ] ) ) {
|
||||
if ( ! empty( $_GET['adminhash'] ) ) {
|
||||
$new_admin_details = get_option( 'adminhash' );
|
||||
$redirect = 'options-general.php?updated=false';
|
||||
if ( is_array( $new_admin_details ) && hash_equals( $new_admin_details[ 'hash' ], $_GET[ 'adminhash' ] ) && ! empty( $new_admin_details[ 'newemail' ] ) ) {
|
||||
update_option( 'admin_email', $new_admin_details[ 'newemail' ] );
|
||||
$redirect = 'options-general.php?updated=false';
|
||||
if ( is_array( $new_admin_details ) && hash_equals( $new_admin_details['hash'], $_GET['adminhash'] ) && ! empty( $new_admin_details['newemail'] ) ) {
|
||||
update_option( 'admin_email', $new_admin_details['newemail'] );
|
||||
delete_option( 'adminhash' );
|
||||
delete_option( 'new_admin_email' );
|
||||
$redirect = 'options-general.php?updated=true';
|
||||
@@ -80,41 +80,44 @@ if ( is_multisite() && ! current_user_can( 'manage_network_options' ) && 'update
|
||||
);
|
||||
}
|
||||
|
||||
$whitelist_options = array(
|
||||
'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'WPLANG', 'new_admin_email' ),
|
||||
$whitelist_options = array(
|
||||
'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'WPLANG', 'new_admin_email' ),
|
||||
'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),
|
||||
'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
|
||||
'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ),
|
||||
'writing' => array( 'default_category', 'default_email_category', 'default_link_category', 'default_post_format' )
|
||||
'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
|
||||
'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ),
|
||||
'writing' => array( 'default_category', 'default_email_category', 'default_link_category', 'default_post_format' ),
|
||||
);
|
||||
$whitelist_options['misc'] = $whitelist_options['options'] = $whitelist_options['privacy'] = array();
|
||||
|
||||
$mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
|
||||
$mail_options = array( 'mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass' );
|
||||
|
||||
if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) )
|
||||
if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
|
||||
$whitelist_options['reading'][] = 'blog_charset';
|
||||
}
|
||||
|
||||
if ( get_site_option( 'initial_db_version' ) < 32453 ) {
|
||||
$whitelist_options['writing'][] = 'use_smilies';
|
||||
$whitelist_options['writing'][] = 'use_balanceTags';
|
||||
}
|
||||
|
||||
if ( !is_multisite() ) {
|
||||
if ( !defined( 'WP_SITEURL' ) )
|
||||
if ( ! is_multisite() ) {
|
||||
if ( ! defined( 'WP_SITEURL' ) ) {
|
||||
$whitelist_options['general'][] = 'siteurl';
|
||||
if ( !defined( 'WP_HOME' ) )
|
||||
}
|
||||
if ( ! defined( 'WP_HOME' ) ) {
|
||||
$whitelist_options['general'][] = 'home';
|
||||
}
|
||||
|
||||
$whitelist_options['general'][] = 'users_can_register';
|
||||
$whitelist_options['general'][] = 'default_role';
|
||||
|
||||
$whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);
|
||||
$whitelist_options['writing'] = array_merge( $whitelist_options['writing'], $mail_options );
|
||||
$whitelist_options['writing'][] = 'ping_sites';
|
||||
|
||||
$whitelist_options['media'][] = 'uploads_use_yearmonth_folders';
|
||||
|
||||
// If upload_url_path and upload_path are both default values, they're locked.
|
||||
if ( get_option( 'upload_url_path' ) || ( get_option('upload_path') != 'wp-content/uploads' && get_option('upload_path') ) ) {
|
||||
if ( get_option( 'upload_url_path' ) || ( get_option( 'upload_path' ) != 'wp-content/uploads' && get_option( 'upload_path' ) ) ) {
|
||||
$whitelist_options['media'][] = 'upload_path';
|
||||
$whitelist_options['media'][] = 'upload_url_path';
|
||||
}
|
||||
@@ -126,8 +129,9 @@ if ( !is_multisite() ) {
|
||||
*
|
||||
* @param bool $enabled Whether post-by-email configuration is enabled. Default true.
|
||||
*/
|
||||
if ( apply_filters( 'enable_post_by_email_configuration', true ) )
|
||||
$whitelist_options['writing'] = array_merge($whitelist_options['writing'], $mail_options);
|
||||
if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
|
||||
$whitelist_options['writing'] = array_merge( $whitelist_options['writing'], $mail_options );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -143,7 +147,7 @@ $whitelist_options = apply_filters( 'whitelist_options', $whitelist_options );
|
||||
* If $_GET['action'] == 'update' we are saving settings sent from a settings page
|
||||
*/
|
||||
if ( 'update' == $action ) {
|
||||
if ( 'options' == $option_page && !isset( $_POST['option_page'] ) ) { // This is for back compat and will eventually be removed.
|
||||
if ( 'options' == $option_page && ! isset( $_POST['option_page'] ) ) { // This is for back compat and will eventually be removed.
|
||||
$unregistered = true;
|
||||
check_admin_referer( 'update-options' );
|
||||
} else {
|
||||
@@ -151,28 +155,31 @@ if ( 'update' == $action ) {
|
||||
check_admin_referer( $option_page . '-options' );
|
||||
}
|
||||
|
||||
if ( !isset( $whitelist_options[ $option_page ] ) )
|
||||
if ( ! isset( $whitelist_options[ $option_page ] ) ) {
|
||||
wp_die( __( '<strong>ERROR</strong>: options page not found.' ) );
|
||||
}
|
||||
|
||||
if ( 'options' == $option_page ) {
|
||||
if ( is_multisite() && ! current_user_can( 'manage_network_options' ) ) {
|
||||
wp_die( __( 'Sorry, you are not allowed to modify unregistered settings for this site.' ) );
|
||||
}
|
||||
$options = explode( ',', wp_unslash( $_POST[ 'page_options' ] ) );
|
||||
$options = explode( ',', wp_unslash( $_POST['page_options'] ) );
|
||||
} else {
|
||||
$options = $whitelist_options[ $option_page ];
|
||||
}
|
||||
|
||||
if ( 'general' == $option_page ) {
|
||||
// Handle custom date/time formats.
|
||||
if ( !empty($_POST['date_format']) && isset($_POST['date_format_custom']) && '\c\u\s\t\o\m' == wp_unslash( $_POST['date_format'] ) )
|
||||
if ( ! empty( $_POST['date_format'] ) && isset( $_POST['date_format_custom'] ) && '\c\u\s\t\o\m' == wp_unslash( $_POST['date_format'] ) ) {
|
||||
$_POST['date_format'] = $_POST['date_format_custom'];
|
||||
if ( !empty($_POST['time_format']) && isset($_POST['time_format_custom']) && '\c\u\s\t\o\m' == wp_unslash( $_POST['time_format'] ) )
|
||||
}
|
||||
if ( ! empty( $_POST['time_format'] ) && isset( $_POST['time_format_custom'] ) && '\c\u\s\t\o\m' == wp_unslash( $_POST['time_format'] ) ) {
|
||||
$_POST['time_format'] = $_POST['time_format_custom'];
|
||||
}
|
||||
// Map UTC+- timezones to gmt_offsets and set timezone_string to empty.
|
||||
if ( !empty($_POST['timezone_string']) && preg_match('/^UTC[+-]/', $_POST['timezone_string']) ) {
|
||||
$_POST['gmt_offset'] = $_POST['timezone_string'];
|
||||
$_POST['gmt_offset'] = preg_replace('/UTC\+?/', '', $_POST['gmt_offset']);
|
||||
if ( ! empty( $_POST['timezone_string'] ) && preg_match( '/^UTC[+-]/', $_POST['timezone_string'] ) ) {
|
||||
$_POST['gmt_offset'] = $_POST['timezone_string'];
|
||||
$_POST['gmt_offset'] = preg_replace( '/UTC\+?/', '', $_POST['gmt_offset'] );
|
||||
$_POST['timezone_string'] = '';
|
||||
}
|
||||
|
||||
@@ -192,7 +199,8 @@ if ( 'update' == $action ) {
|
||||
|
||||
foreach ( $options as $option ) {
|
||||
if ( $unregistered ) {
|
||||
_deprecated_argument( 'options.php', '2.7.0',
|
||||
_deprecated_argument(
|
||||
'options.php', '2.7.0',
|
||||
sprintf(
|
||||
/* translators: %s: the option/setting */
|
||||
__( 'The %s setting is unregistered. Unregistered settings are deprecated. See https://codex.wordpress.org/Settings_API' ),
|
||||
@@ -202,7 +210,7 @@ if ( 'update' == $action ) {
|
||||
}
|
||||
|
||||
$option = trim( $option );
|
||||
$value = null;
|
||||
$value = null;
|
||||
if ( isset( $_POST[ $option ] ) ) {
|
||||
$value = $_POST[ $option ];
|
||||
if ( ! is_array( $value ) ) {
|
||||
@@ -220,7 +228,7 @@ if ( 'update' == $action ) {
|
||||
*/
|
||||
unset( $GLOBALS['locale'] );
|
||||
$user_language_new = get_user_locale();
|
||||
if ( $user_language_old !== $user_language_new ) {
|
||||
if ( $user_language_old !== $user_language_new ) {
|
||||
load_default_textdomain( $user_language_new );
|
||||
}
|
||||
}
|
||||
@@ -229,14 +237,15 @@ if ( 'update' == $action ) {
|
||||
* Handle settings errors and return to options page
|
||||
*/
|
||||
// If no settings errors were registered add a general 'updated' message.
|
||||
if ( !count( get_settings_errors() ) )
|
||||
add_settings_error('general', 'settings_updated', __('Settings saved.'), 'updated');
|
||||
set_transient('settings_errors', get_settings_errors(), 30);
|
||||
if ( ! count( get_settings_errors() ) ) {
|
||||
add_settings_error( 'general', 'settings_updated', __( 'Settings saved.' ), 'updated' );
|
||||
}
|
||||
set_transient( 'settings_errors', get_settings_errors(), 30 );
|
||||
|
||||
/**
|
||||
* Redirect back to the settings page that was submitted
|
||||
*/
|
||||
$goback = add_query_arg( 'settings-updated', 'true', wp_get_referer() );
|
||||
$goback = add_query_arg( 'settings-updated', 'true', wp_get_referer() );
|
||||
wp_redirect( $goback );
|
||||
exit;
|
||||
}
|
||||
@@ -246,7 +255,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' ); ?>
|
||||
<div class="wrap">
|
||||
<h1><?php esc_html_e( 'All Settings' ); ?></h1>
|
||||
<form name="form" action="options.php" method="post" id="all-options">
|
||||
<?php wp_nonce_field('options-options') ?>
|
||||
<?php wp_nonce_field( 'options-options' ); ?>
|
||||
<input type="hidden" name="action" value="update" />
|
||||
<input type="hidden" name="option_page" value="options" />
|
||||
<table class="form-table">
|
||||
@@ -255,35 +264,38 @@ $options = $wpdb->get_results( "SELECT * FROM $wpdb->options ORDER BY option_nam
|
||||
|
||||
foreach ( (array) $options as $option ) :
|
||||
$disabled = false;
|
||||
if ( $option->option_name == '' )
|
||||
if ( $option->option_name == '' ) {
|
||||
continue;
|
||||
}
|
||||
if ( is_serialized( $option->option_value ) ) {
|
||||
if ( is_serialized_string( $option->option_value ) ) {
|
||||
// This is a serialized string, so we should display it.
|
||||
$value = maybe_unserialize( $option->option_value );
|
||||
$value = maybe_unserialize( $option->option_value );
|
||||
$options_to_update[] = $option->option_name;
|
||||
$class = 'all-options';
|
||||
$class = 'all-options';
|
||||
} else {
|
||||
$value = 'SERIALIZED DATA';
|
||||
$value = 'SERIALIZED DATA';
|
||||
$disabled = true;
|
||||
$class = 'all-options disabled';
|
||||
$class = 'all-options disabled';
|
||||
}
|
||||
} else {
|
||||
$value = $option->option_value;
|
||||
$value = $option->option_value;
|
||||
$options_to_update[] = $option->option_name;
|
||||
$class = 'all-options';
|
||||
$class = 'all-options';
|
||||
}
|
||||
$name = esc_attr( $option->option_name );
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row"><label for="<?php echo $name ?>"><?php echo esc_html( $option->option_name ); ?></label></th>
|
||||
<th scope="row"><label for="<?php echo $name; ?>"><?php echo esc_html( $option->option_name ); ?></label></th>
|
||||
<td>
|
||||
<?php if ( strpos( $value, "\n" ) !== false ) : ?>
|
||||
<textarea class="<?php echo $class ?>" name="<?php echo $name ?>" id="<?php echo $name ?>" cols="30" rows="5"><?php
|
||||
echo esc_textarea( $value );
|
||||
?></textarea>
|
||||
<?php else: ?>
|
||||
<input class="regular-text <?php echo $class ?>" type="text" name="<?php echo $name ?>" id="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>"<?php disabled( $disabled, true ) ?> />
|
||||
<textarea class="<?php echo $class; ?>" name="<?php echo $name; ?>" id="<?php echo $name; ?>" cols="30" rows="5">
|
||||
<?php
|
||||
echo esc_textarea( $value );
|
||||
?>
|
||||
</textarea>
|
||||
<?php else : ?>
|
||||
<input class="regular-text <?php echo $class; ?>" type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr( $value ); ?>"<?php disabled( $disabled, true ); ?> />
|
||||
<?php endif ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
Reference in New Issue
Block a user