X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/6c8f14c09105d0afa4c1574215c59b5021040e76..refs/tags/wordpress-4.0:/wp-admin/custom-background.php diff --git a/wp-admin/custom-background.php b/wp-admin/custom-background.php index a924ecaf..a23efda0 100644 --- a/wp-admin/custom-background.php +++ b/wp-admin/custom-background.php @@ -22,7 +22,7 @@ class Custom_Background { * @since 3.0.0 * @access private */ - var $admin_header_callback; + private $admin_header_callback; /** * Callback for header div. @@ -31,7 +31,7 @@ class Custom_Background { * @since 3.0.0 * @access private */ - var $admin_image_div_callback; + private $admin_image_div_callback; /** * Holds the page menu hook. @@ -40,7 +40,7 @@ class Custom_Background { * @since 3.0.0 * @access private */ - var $page = ''; + private $page = ''; /** * Constructor - Register administration header callback. @@ -50,7 +50,7 @@ class Custom_Background { * @param callback $admin_image_div_callback Optional custom image div output callback. * @return Custom_Background */ - function __construct($admin_header_callback = '', $admin_image_div_callback = '') { + 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; @@ -58,20 +58,72 @@ class Custom_Background { 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 ); + } + + /** + * 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 ); + } + /** * Set up the hooks for the Custom Background admin page. * * @since 3.0.0 */ - function init() { + public function init() { if ( ! current_user_can('edit_theme_options') ) return; - $this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array(&$this, 'admin_page')); + $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); @@ -82,7 +134,7 @@ class Custom_Background { * * @since 3.0.0 */ - function admin_load() { + public function admin_load() { get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __('Overview'), @@ -96,7 +148,7 @@ class Custom_Background { get_current_screen()->set_help_sidebar( '

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

' . '

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

' . - '

' . __( 'Support Forums' ) . '

' + '

' . __( 'Support Forums' ) . '

' ); wp_enqueue_media(); @@ -109,7 +161,7 @@ class Custom_Background { * * @since 3.0.0 */ - function take_action() { + public function take_action() { if ( empty($_POST) ) return; @@ -176,50 +228,53 @@ class Custom_Background { * * @since 3.0.0 */ - function admin_page() { + public function admin_page() { ?>
- -

-updated) ) { ?> +

+ +updated ) ) { ?>

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

- + +

- if ( $this->admin_image_div_callback ) { - call_user_func($this->admin_image_div_callback); - } else { -?> -

- - + + + - + + - - + +
- -
- -
- - -
- + admin_image_div_callback ) { + call_user_func( $this->admin_image_div_callback ); + } else { + $background_styles = ''; + 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 URL must be single quote, see below. + $background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');' + . ' background-repeat: ' . get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) . ';' + . ' background-position: top ' . get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) ); + } + ?> +
+ +
+ + +
+
@@ -233,7 +288,7 @@ if ( get_background_image() ) { -
@@ -243,9 +298,9 @@ if ( get_background_image() ) {

@@ -272,49 +327,49 @@ if ( get_background_image() ) { - + - + - - + + - +
- - - - + + + +
updated = true; } @@ -394,7 +450,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) ) * * @since 3.4.0 */ - function attachment_fields_to_edit( $form_fields ) { + public function attachment_fields_to_edit( $form_fields ) { return $form_fields; } @@ -403,13 +459,14 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) ) * * @since 3.4.0 */ - function filter_upload_tabs( $tabs ) { + public function filter_upload_tabs( $tabs ) { return $tabs; } public function wp_set_background_image() { if ( ! current_user_can('edit_theme_options') || ! isset( $_POST['attachment_id'] ) ) exit; $attachment_id = absint($_POST['attachment_id']); + /** This filter is documented in wp-admin/includes/media.php */ $sizes = array_keys(apply_filters( 'image_size_names_choose', array('thumbnail' => __('Thumbnail'), 'medium' => __('Medium'), 'large' => __('Large'), 'full' => __('Full Size')) )); $size = 'thumbnail'; if ( in_array( $_POST['size'], $sizes ) )