X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f..7f1521bf193b382565eb753043c161f4cb3fcda7:/wp-admin/custom-header.php?ds=sidebyside diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php index 76f6f746..a56c7602 100644 --- a/wp-admin/custom-header.php +++ b/wp-admin/custom-header.php @@ -20,18 +20,16 @@ class Custom_Image_Header { * * @var callback * @since 2.1.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 default headers. @@ -40,25 +38,12 @@ class Custom_Image_Header { * @since 3.0.0 * @access private */ - private $default_headers = array(); + public $default_headers = array(); /** - * Holds custom headers uploaded by the user. - * - * @var array - * @since 3.2.0 - * @access private + * @var bool */ - private $uploaded_headers = array(); - - /** - * Holds the page menu hook. - * - * @var string - * @since 3.0.0 - * @access private - */ - private $page = ''; + private $updated; /** * Constructor - Register administration header callback. @@ -66,7 +51,6 @@ class Custom_Image_Header { * @since 2.1.0 * @param callback $admin_header_callback * @param callback $admin_image_div_callback Optional custom image div output callback. - * @return Custom_Image_Header */ public function __construct($admin_header_callback, $admin_image_div_callback = '') { $this->admin_header_callback = $admin_header_callback; @@ -80,77 +64,25 @@ class Custom_Image_Header { add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove' ) ); } - /** - * Make private properties readable for backwards compatibility. - * - * @since 4.0.0 - * @access public - * - * @param string $name Property to get. - * @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 Header admin page. * * @since 2.1.0 */ public function init() { - if ( ! current_user_can('edit_theme_options') ) + $page = add_theme_page( __( 'Header' ), __( 'Header' ), 'edit_theme_options', 'custom-header', array( $this, 'admin_page' ) ); + if ( ! $page ) { return; + } - $this->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, 'help') ); - add_action("admin_head-$page", array($this, 'take_action'), 50); - add_action("admin_head-$page", array($this, 'js'), 50); - if ( $this->admin_header_callback ) - 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, 'help' ) ); + add_action( "admin_head-$page", array( $this, 'take_action' ), 50 ); + add_action( "admin_head-$page", array( $this, 'js' ), 50 ); + if ( $this->admin_header_callback ) { + add_action( "admin_head-$page", $this->admin_header_callback, 51 ); + } } /** @@ -188,7 +120,7 @@ class Custom_Image_Header { get_current_screen()->set_help_sidebar( '

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

' . - '

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

' . + '

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

' . '

' . __( 'Support Forums' ) . '

' ); } @@ -300,9 +232,6 @@ class Custom_Image_Header { public function process_default_headers() { global $_wp_default_headers; - if ( !empty($this->headers) ) - return; - if ( !isset($_wp_default_headers) ) return; @@ -360,7 +289,7 @@ class Custom_Image_Header { } /** - * Execute Javascript depending on step. + * Execute JavaScript depending on step. * * @since 2.1.0 */ @@ -373,7 +302,7 @@ class Custom_Image_Header { } /** - * Display Javascript based on Step 1 and 3. + * Display JavaScript based on Step 1 and 3. * * @since 2.6.0 */ @@ -388,7 +317,6 @@ class Custom_Image_Header { ?>

+ +
+

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

+
+ + updated ) ) { ?>

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

@@ -542,7 +480,14 @@ class Custom_Image_Header { call_user_func( $this->admin_image_div_callback ); } else { $custom_header = get_custom_header(); - $header_image_style = 'background-image:url(' . esc_url( get_header_image() ) . ');'; + $header_image = get_header_image(); + + if ( $header_image ) { + $header_image_style = 'background-image:url(' . esc_url( $header_image ) . ');'; + } else { + $header_image_style = ''; + } + if ( $custom_header->width ) $header_image_style .= 'max-width:' . $custom_header->width . 'px;'; if ( $custom_header->height ) @@ -555,7 +500,7 @@ class Custom_Image_Header { else $style = ' style="display:none;"'; ?> -

onclick="return false;" href="">

+

onclick="return false;" href="" tabindex="-1">

>
@@ -602,10 +547,10 @@ class Custom_Image_Header { ?>


- + data-update="">

@@ -615,6 +560,7 @@ class Custom_Image_Header {
+ @@ -736,7 +682,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> public function step_2() { check_admin_referer('custom-header-upload', '_wpnonce-custom-header-upload'); if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) - wp_die( __( 'Cheatin’ uh?' ) ); + wp_die( __( 'Cheatin’ uh?' ), 403 ); if ( empty( $_POST ) && isset( $_GET['file'] ) ) { $attachment_id = absint( $_GET['file'] ); @@ -748,7 +694,6 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> $attachment_id = $data['attachment_id']; $file = $data['file']; $url = $data['url']; - $type = $data['type']; } if ( file_exists( $file ) ) { @@ -851,7 +796,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> $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.' ) ); @@ -888,10 +833,10 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> check_admin_referer( 'custom-header-crop-image' ); if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) - wp_die( __( 'Cheatin’ uh?' ) ); + wp_die( __( 'Cheatin’ uh?' ), 403 ); if ( ! empty( $_POST['skip-cropping'] ) && ! ( current_theme_supports( 'custom-header', 'flex-height' ) || current_theme_supports( 'custom-header', 'flex-width' ) ) ) - wp_die( __( 'Cheatin’ uh?' ) ); + wp_die( __( 'Cheatin’ uh?' ), 403 ); if ( $_POST['oitar'] > 1 ) { $_POST['x1'] = $_POST['x1'] * $_POST['oitar']; @@ -937,19 +882,11 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> // Cleanup. $medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original ); if ( file_exists( $medium ) ) { - /** - * Filter the path of the file to delete. - * - * @since 2.1.0 - * - * @param string $medium Path to the file to delete. - */ - @unlink( apply_filters( 'wp_delete_file', $medium ) ); + wp_delete_file( $medium ); } if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) ) { - /** This filter is documented in wp-admin/custom-header.php */ - @unlink( apply_filters( 'wp_delete_file', $original ) ); + wp_delete_file( $original ); } return $this->finished(); @@ -1107,7 +1044,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> $has_flex_width = current_theme_supports( 'custom-header', 'flex-width' ); $has_flex_height = current_theme_supports( 'custom-header', 'flex-height' ); $has_max_width = current_theme_supports( 'custom-header', 'max-width' ) ; - $dst = array( 'dst_height' => null, 'dst_height' => null ); + $dst = array( 'dst_height' => null, 'dst_width' => null ); // For flex, limit size of image displayed to 1500px unless theme says otherwise if ( $has_flex_width ) {