diff -r 490d5cc509ed -r cf61fcea0001 wp/wp-includes/customize/class-wp-customize-header-image-control.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/customize/class-wp-customize-header-image-control.php Mon Oct 14 17:39:30 2019 +0200 @@ -0,0 +1,227 @@ + __( 'Header Image' ), + 'settings' => array( + 'default' => 'header_image', + 'data' => 'header_image_data', + ), + 'section' => 'header_image', + 'removed' => 'remove-header', + 'get_url' => 'get_header_image', + ) ); + + } + + /** + */ + public function enqueue() { + wp_enqueue_media(); + wp_enqueue_script( 'customize-views' ); + + $this->prepare_control(); + + wp_localize_script( 'customize-views', '_wpCustomizeHeader', array( + 'data' => array( + 'width' => absint( get_theme_support( 'custom-header', 'width' ) ), + 'height' => absint( get_theme_support( 'custom-header', 'height' ) ), + 'flex-width' => absint( get_theme_support( 'custom-header', 'flex-width' ) ), + 'flex-height' => absint( get_theme_support( 'custom-header', 'flex-height' ) ), + 'currentImgSrc' => $this->get_current_image_src(), + ), + 'nonces' => array( + 'add' => wp_create_nonce( 'header-add' ), + 'remove' => wp_create_nonce( 'header-remove' ), + ), + 'uploads' => $this->uploaded_headers, + 'defaults' => $this->default_headers + ) ); + + parent::enqueue(); + } + + /** + * + * @global Custom_Image_Header $custom_image_header + */ + public function prepare_control() { + global $custom_image_header; + if ( empty( $custom_image_header ) ) { + return; + } + + add_action( 'customize_controls_print_footer_scripts', array( $this, 'print_header_image_template' ) ); + + // Process default headers and uploaded headers. + $custom_image_header->process_default_headers(); + $this->default_headers = $custom_image_header->get_default_header_images(); + $this->uploaded_headers = $custom_image_header->get_uploaded_header_images(); + } + + /** + */ + public function print_header_image_template() { + ?> + + + + value(); + if ( isset( $this->get_url ) ) { + $src = call_user_func( $this->get_url, $src ); + return $src; + } + } + + /** + */ + public function render_content() { + $visibility = $this->get_current_image_src() ? '' : ' style="display:none" '; + $width = absint( get_theme_support( 'custom-header', 'width' ) ); + $height = absint( get_theme_support( 'custom-header', 'height' ) ); + ?> +
+ ' . $this->label . ''; + } ?> +
+

+ %s × %s', $width, $height ) + ); + } elseif ( $width ) { + /* translators: %s: header width in pixels */ + printf( __( 'Click “Add new image” to upload an image file from your computer. Your theme works best with an image with a header width of %s pixels — you’ll be able to crop your image once you upload it for a perfect fit.' ), + sprintf( '%s', $width ) + ); + } else { + /* translators: %s: header height in pixels */ + printf( __( 'Click “Add new image” to upload an image file from your computer. Your theme works best with an image with a header height of %s pixels — you’ll be able to crop your image once you upload it for a perfect fit.' ), + sprintf( '%s', $height ) + ); + } + ?> +

+
+ +
+
+
+
+ + + + +
+
+ + + +
+
+
+
+ + + +
+
+
+
+
+
+