X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/61343b82c4f0da4c68e4c6373daafff4a81efdd1..c46e6dd20c438dddfea40c35935b877ac3e67daa:/wp-admin/custom-background.php diff --git a/wp-admin/custom-background.php b/wp-admin/custom-background.php index ac2941f2..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 */ - var $admin_header_callback; + public $admin_header_callback; /** * Callback for header div. * * @var callback * @since 3.0.0 - * @access private */ - var $admin_image_div_callback; + public $admin_image_div_callback; /** - * Holds the page menu hook. - * - * @var string - * @since 3.0.0 - * @access private + * @var bool */ - var $page = ''; + private $updated; /** * Constructor - Register administration header callback. @@ -48,13 +42,16 @@ 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 */ - 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; add_action( 'admin_menu', array( $this, 'init' ) ); + + add_action( 'wp_ajax_custom-background-add', array( $this, 'ajax_background_add' ) ); + + // Unused since 3.5.0. add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) ); } @@ -63,18 +60,19 @@ class Custom_Background { * * @since 3.0.0 */ - function init() { - if ( ! current_user_can('edit_theme_options') ) + public function init() { + $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 ); + } } /** @@ -82,7 +80,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'), @@ -95,8 +93,8 @@ class Custom_Background { get_current_screen()->set_help_sidebar( '
' . __( 'For more information:' ) . '
' . - '' . __( 'Documentation on Custom Background' ) . '
' . - '' . __( 'Support Forums' ) . '
' + '' . __( 'Documentation on Custom Background' ) . '
' . + '' . __( 'Support Forums' ) . '
' ); wp_enqueue_media(); @@ -109,7 +107,7 @@ class Custom_Background { * * @since 3.0.0 */ - function take_action() { + public function take_action() { if ( empty($_POST) ) return; @@ -176,54 +174,70 @@ class Custom_Background { * * @since 3.0.0 */ - function admin_page() { + public function admin_page() { ?>Visit your site to see how it looks.' ), home_url( '/' ) ); ?>
+ | |
---|---|
-
-
-
-
-
+ 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 . ';';
+
+ $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 . '\');'
+ . ' 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' ) );
+ }
+ ?>
+ - - -
+
+
+
+ + + |
|
- |