Index: wp-admin/css/wp-admin.dev.css =================================================================== --- wp-admin/css/wp-admin.dev.css (revision 14679) +++ wp-admin/css/wp-admin.dev.css (working copy) @@ -3697,14 +3697,48 @@ } /* Custom Header */ +.appearance_page_custom-header #headimg { + position: relative; +} -table#available-headers td { - padding: 0 20px 10px 0; +.appearance_page_custom-header #headimg img { + z-index: -1; + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; } -table#available-headers label input { - margin-right: 8px; + +.appearance_page_custom-header #headimg h1 { + font-family: 'Trebuchet MS', 'Lucida Grande', Verdana,Arial, Sans-Serif; + font-size: 18px; + font-weight: bold; + margin: 0; + padding-top: 5%; + text-align: center; } -table#available-headers label img { + +.appearance_page_custom-header #headimg #desc { + font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif; + font-size: 10px; + text-align: center; +} + +.appearance_page_custom-header #upload-form p label { + font-size: 11px; +} + +.appearance_page_custom-header #available-headers .default-header { + float: left; + margin: 0 20px 20px 0; +} + +.appearance_page_custom-header #available-headers label input { + margin-right: 10px; +} + +.appearance_page_custom-header #available-headers label img { vertical-align: middle; } Index: wp-admin/custom-header.php =================================================================== --- wp-admin/custom-header.php (revision 14679) +++ wp-admin/custom-header.php (working copy) @@ -50,7 +50,7 @@ * @param callback $admin_image_div_callback Optional custom image div output callback. * @return Custom_Image_Header */ - function Custom_Image_Header($admin_header_callback, $admin_image_div_callback = '') { + function Custom_Image_Header( $admin_header_callback, $admin_image_div_callback = '' ) { $this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; } @@ -61,16 +61,16 @@ * @since 2.1.0 */ function init() { - if ( ! current_user_can('edit_theme_options') ) + if ( ! current_user_can( 'edit_theme_options' ) ) return; - $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array(&$this, 'admin_page')); + $page = add_theme_page( __( 'Header' ), __( 'Header' ), 'edit_theme_options', 'custom-header', array( &$this, 'admin_page' ) ); - add_action("admin_print_scripts-$page", array(&$this, 'js_includes')); - add_action("admin_print_styles-$page", array(&$this, 'css_includes')); - add_action("admin_head-$page", array(&$this, 'take_action'), 50); - add_action("admin_head-$page", array(&$this, 'js'), 50); - add_action("admin_head-$page", $this->admin_header_callback, 51); + add_action( "admin_print_scripts-$page", array( &$this, 'js_includes' ) ); + add_action( "admin_print_styles-$page", array( &$this, 'css_includes' ) ); + add_action( "admin_head-$page", array( &$this, 'take_action' ), 50); + add_action( "admin_head-$page", array( &$this, 'js' ), 50 ); + add_action( "admin_head-$page", $this->admin_header_callback, 51 ); } /** @@ -99,10 +99,10 @@ function js_includes() { $step = $this->step(); - if ( 1 == $step ) - wp_enqueue_script('farbtastic'); + if ( ( 1 == $step || 3 == $step ) && $this->header_text() ) + wp_enqueue_script( 'farbtastic' ); elseif ( 2 == $step ) - wp_enqueue_script('jcrop'); + wp_enqueue_script( 'imgareaselect' ); } /** @@ -113,11 +113,23 @@ function css_includes() { $step = $this->step(); - if ( 1 == $step ) - wp_enqueue_style('farbtastic'); + if ( ( 1 == $step || 3 == $step ) && $this->header_text() ) + wp_enqueue_style( 'farbtastic' ); elseif ( 2 == $step ) - wp_enqueue_style('jcrop'); + wp_enqueue_style( 'imgareaselect' ); } + + /** + * Check if header text is allowed + * + * @since 3.0.0 + */ + function header_text() { + if ( defined( 'NO_HEADER_TEXT' ) && NO_HEADER_TEXT ) + return false; + + return true; + } /** * Execute custom header modification. @@ -125,31 +137,51 @@ * @since 2.6.0 */ function take_action() { - if ( ! current_user_can('edit_theme_options') ) + if ( ! current_user_can( 'edit_theme_options' ) ) return; + + if ( empty( $_POST ) ) + return; + + $this->updated = true; + + if ( isset( $_POST['resetheader'] ) ) { + check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); + remove_theme_mod( 'header_image' ); + return; + } + + if ( isset( $_POST['resettext'] ) ) { + check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); + remove_theme_mod('header_textcolor'); + return; + } + + if ( isset( $_POST['removeheader'] ) ) { + check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); + set_theme_mod( 'header_image', '' ); + return; + } - if ( isset( $_POST['textcolor'] ) ) { - check_admin_referer('custom-header'); - if ( 'blank' == $_POST['textcolor'] ) { - set_theme_mod('header_textcolor', 'blank'); + if ( isset( $_POST['text-color'] ) ) { + check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); + $_POST['text-color'] = str_replace( '#', '', $_POST['text-color'] ); + if ( 'blank' == $_POST['text-color'] ) { + set_theme_mod( 'header_textcolor', 'blank' ); } else { - $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['textcolor']); + $color = preg_replace( '/[^0-9a-fA-F]/', '', $_POST['text-color'] ); if ( strlen($color) == 6 || strlen($color) == 3 ) - set_theme_mod('header_textcolor', $color); + set_theme_mod( 'header_textcolor', $color ); } } - if ( isset($_POST['resetheader']) ) { - check_admin_referer('custom-header'); - remove_theme_mods(); + if ( isset( $_POST['default-header'] ) ) { + check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); + $this->process_default_headers(); + if ( isset( $this->default_headers[$_POST['default-header']] ) ) + set_theme_mod( 'header_image', esc_url( $this->default_headers[$_POST['default-header']]['url'] ) ); } - if ( isset($_POST['default-header']) ) { - check_admin_referer('custom-header'); - $this->process_default_headers(); - if ( isset($this->default_headers[$_POST['default-header']]) ) - set_theme_mod('header_image', esc_url($this->default_headers[$_POST['default-header']]['url'])); - } } /** @@ -160,10 +192,10 @@ function process_default_headers() { global $_wp_default_headers; - if ( !empty($this->headers) ) + if ( ! empty( $this->headers ) ) return; - if ( !isset($_wp_default_headers) ) + if ( ! isset( $_wp_default_headers ) ) return; $this->default_headers = $_wp_default_headers; @@ -179,39 +211,19 @@ * @since 3.0.0 */ function show_default_header_selector() { - echo '
'; - $header_thumbnail = $this->default_headers[$header_key]['thumbnail_url']; - $header_url = $this->default_headers[$header_key]['url']; - $header_desc = $this->default_headers[$header_key]['description']; - echo ''; - echo ' | '; - } - echo '
Visit your site to see how it looks.' ), home_url( '/' ) ); ?>
+ |
+ admin_image_div_callback ) {
+ call_user_func( $this->admin_image_div_callback );
+ } else {
+ ?>
+
+
+ header_text() )
+ $style = ' style="display:none;"';
+ else
+ $style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"';
+ ?>
+
+
+>+>
+ |
+
---|---|
+ |
+
|
+
- -
-+ |
+ + + + + + + |
+
---|---|
+ | + + + | +
%1$d x %2$d pixels will be zoomed.' ), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT ); ?>
+- - - - - - - - - - -
- + + + + + + + +