X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f..ac7339a398e6df50f722bc9616291ce5447d8e5e:/wp-admin/custom-background.php diff --git a/wp-admin/custom-background.php b/wp-admin/custom-background.php index a23efda0..fc320f9f 100644 --- a/wp-admin/custom-background.php +++ b/wp-admin/custom-background.php @@ -20,27 +20,21 @@ class Custom_Background { * * @var callback * @since 3.0.0 - * @access private */ - private $admin_header_callback; + public $admin_header_callback; /** * Callback for header div. * * @var callback * @since 3.0.0 - * @access private */ - private $admin_image_div_callback; + public $admin_image_div_callback; /** - * Holds the page menu hook. - * - * @var string - * @since 3.0.0 - * @access private + * @var bool */ - private $page = ''; + private $updated; /** * Constructor - Register administration header callback. @@ -48,66 +42,17 @@ class Custom_Background { * @since 3.0.0 * @param callback $admin_header_callback * @param callback $admin_image_div_callback Optional custom image div output callback. - * @return Custom_Background */ public function __construct($admin_header_callback = '', $admin_image_div_callback = '') { $this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; add_action( 'admin_menu', array( $this, 'init' ) ); - add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) ); - } - - /** - * Make private properties readable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property name. - * @return mixed Property. - */ - public function __get( $name ) { - return $this->$name; - } - - /** - * Make private properties settable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property to set. - * @param mixed $value Property value. - * @return mixed Newly-set property. - */ - public function __set( $name, $value ) { - return $this->$name = $value; - } - /** - * Make private properties checkable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property to check if set. - * @return bool Whether the property is set. - */ - public function __isset( $name ) { - return isset( $this->$name ); - } + add_action( 'wp_ajax_custom-background-add', array( $this, 'ajax_background_add' ) ); - /** - * Make private properties un-settable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property to unset. - */ - public function __unset( $name ) { - unset( $this->$name ); + // Unused since 3.5.0. + add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) ); } /** @@ -116,17 +61,18 @@ class Custom_Background { * @since 3.0.0 */ public function init() { - if ( ! current_user_can('edit_theme_options') ) + $page = add_theme_page( __( 'Background' ), __( 'Background' ), 'edit_theme_options', 'custom-background', array( $this, 'admin_page' ) ); + if ( ! $page ) { return; + } - $this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array($this, 'admin_page')); - - add_action("load-$page", array($this, 'admin_load')); - add_action("load-$page", array($this, 'take_action'), 49); - add_action("load-$page", array($this, 'handle_upload'), 49); + add_action( "load-$page", array( $this, 'admin_load' ) ); + add_action( "load-$page", array( $this, 'take_action' ), 49 ); + add_action( "load-$page", array( $this, 'handle_upload' ), 49 ); - if ( $this->admin_header_callback ) - add_action("admin_head-$page", $this->admin_header_callback, 51); + if ( $this->admin_header_callback ) { + add_action( "admin_head-$page", $this->admin_header_callback, 51 ); + } } /** @@ -147,7 +93,7 @@ class Custom_Background { get_current_screen()->set_help_sidebar( '

' . __( 'For more information:' ) . '

' . - '

' . __( 'Documentation on Custom Background' ) . '

' . + '

' . __( 'Documentation on Custom Background' ) . '

' . '

' . __( 'Support Forums' ) . '

' ); @@ -233,6 +179,19 @@ class Custom_Background {

+ +
+

+ Customizer.' ), + admin_url( 'customize.php?autofocus[control]=background_image' ) + ); + ?> +

+
+ + updated ) ) { ?>

Visit your site to see how it looks.' ), home_url( '/' ) ); ?>

@@ -254,8 +213,9 @@ class Custom_Background { if ( $bgcolor = get_background_color() ) $background_styles .= 'background-color: #' . $bgcolor . ';'; - if ( get_background_image() ) { - $background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', get_background_image() ) ) ) ); + $background_image_thumb = get_background_image(); + if ( $background_image_thumb ) { + $background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', $background_image_thumb ) ) ) ); // Background-image URL must be single quote, see below. $background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');' @@ -264,7 +224,7 @@ class Custom_Background { } ?>
- +
@@ -277,7 +237,7 @@ class Custom_Background { -
+
@@ -291,7 +251,7 @@ class Custom_Background { - +
@@ -302,7 +262,7 @@ class Custom_Background { - +


@@ -312,9 +272,9 @@ class Custom_Background {


- + data-update="">

@@ -323,7 +283,7 @@ class Custom_Background {

-
+ @@ -405,7 +365,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) ) $overrides = array('test_form' => false); $uploaded_file = $_FILES['import']; - $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'], false ); + $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'] ); if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) ) wp_die( __( 'The uploaded file is not a valid image. Please try again.' ) ); @@ -446,23 +406,53 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) ) } /** - * Unused since 3.5.0. + * AJAX handler for adding custom background context to an attachment. + * + * Triggered when the user adds a new background image from the + * Media Manager. + * + * @since 4.1.0 + */ + public function ajax_background_add() { + check_ajax_referer( 'background-add', 'nonce' ); + + if ( ! current_user_can( 'edit_theme_options' ) ) { + wp_send_json_error(); + } + + $attachment_id = absint( $_POST['attachment_id'] ); + if ( $attachment_id < 1 ) { + wp_send_json_error(); + } + + update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_stylesheet() ); + + wp_send_json_success(); + } + + /** * * @since 3.4.0 + * @deprecated 3.5.0 */ public function attachment_fields_to_edit( $form_fields ) { return $form_fields; } /** - * Unused since 3.5.0. * * @since 3.4.0 + * @deprecated 3.5.0 */ public function filter_upload_tabs( $tabs ) { return $tabs; } + /** + * + * @since 3.4.0 + * @deprecated 3.5.0 + */ public function wp_set_background_image() { if ( ! current_user_can('edit_theme_options') || ! isset( $_POST['attachment_id'] ) ) exit; $attachment_id = absint($_POST['attachment_id']);