X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/8f374b7233bc2815ccc387e448d208c5434eb961..e0feb3b2e5b436a06bbb04fbc838d1cd6ec95399:/wp-admin/custom-header.php?ds=sidebyside diff --git a/wp-admin/custom-header.php b/wp-admin/custom-header.php index fc9d4f12..e61feb78 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 */ - 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 default headers. @@ -40,25 +38,12 @@ class Custom_Image_Header { * @since 3.0.0 * @access private */ - var $default_headers = array(); - - /** - * Holds custom headers uploaded by the user - * - * @var array - * @since 3.2.0 - * @access private - */ - var $uploaded_headers = array(); + public $default_headers = array(); /** - * Holds the page menu hook. - * - * @var string - * @since 3.0.0 - * @access private + * @var bool */ - var $page = ''; + private $updated; /** * Constructor - Register administration header callback. @@ -66,13 +51,17 @@ 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 */ - 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( 'customize_save_after', array( $this, 'customize_set_last_used' ) ); + add_action( 'wp_ajax_custom-header-crop', array( $this, 'ajax_header_crop' ) ); + add_action( 'wp_ajax_custom-header-add', array( $this, 'ajax_header_add' ) ); + add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove' ) ); } /** @@ -80,24 +69,19 @@ class Custom_Image_Header { * * @since 2.1.0 */ - function init() { - if ( ! current_user_can('edit_theme_options') ) + public function init() { + $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); - - if ( isset( $_REQUEST['context'] ) && $_REQUEST['context'] == 'custom-header' ) { - add_filter( 'attachment_fields_to_edit', array( $this, 'attachment_fields_to_edit' ), 10, 2 ); - add_filter( 'media_upload_tabs', array( $this, 'filter_upload_tabs' ) ); - add_filter( 'media_upload_mime_type_links', '__return_empty_array' ); + 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 ); } } @@ -106,7 +90,7 @@ class Custom_Image_Header { * * @since 3.0.0 */ - function help() { + public function help() { get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __('Overview'), @@ -130,14 +114,14 @@ class Custom_Image_Header { 'title' => __('Header Text'), 'content' => '
' . sprintf( __( 'For most themes, the header text is your Site Title and Tagline, as defined in the General Settings section.' ), admin_url( 'options-general.php' ) ) . '
' . - '
' . __( 'In the Header Text section of this page, you can choose whether to display this text or hide it. You can also choose a color for the text by typing in a legitimate HTML hex value (eg: “#ff0000” for red) or by clicking “Select a Color” and dialing in a color using the color picker.') . '
' . - '' . __( 'Don’t forget to Save Changes when you’re done!') . '
' + '' . __( 'In the Header Text section of this page, you can choose whether to display this text or hide it. You can also choose a color for the text by clicking the Select Color button and either typing in a legitimate HTML hex value, e.g. “#ff0000” for red, or by choosing a color using the color picker.' ) . '
' . + '' . __( 'Don’t forget to click “Save Changes” when you’re done!') . '
' ) ); get_current_screen()->set_help_sidebar( '' . __( 'For more information:' ) . '
' . - '' . __( 'Documentation on Custom Header' ) . '
' . - '' . __( 'Support Forums' ) . '
' + '' . __( 'Documentation on Custom Header' ) . '
' . + '' . __( 'Support Forums' ) . '
' ); } @@ -148,7 +132,7 @@ class Custom_Image_Header { * * @return int Current step */ - function step() { + public function step() { if ( ! isset( $_GET['step'] ) ) return 1; @@ -167,15 +151,14 @@ class Custom_Image_Header { * * @since 2.1.0 */ - function js_includes() { + public function js_includes() { $step = $this->step(); if ( ( 1 == $step || 3 == $step ) ) { - add_thickbox(); - wp_enqueue_script( 'media-upload' ); + wp_enqueue_media(); wp_enqueue_script( 'custom-header' ); if ( current_theme_supports( 'custom-header', 'header-text' ) ) - wp_enqueue_script('farbtastic'); + wp_enqueue_script( 'wp-color-picker' ); } elseif ( 2 == $step ) { wp_enqueue_script('imgareaselect'); } @@ -184,13 +167,13 @@ class Custom_Image_Header { /** * Set up the enqueue for the CSS files * - * @since 2.7 + * @since 2.7.0 */ - function css_includes() { + public function css_includes() { $step = $this->step(); if ( ( 1 == $step || 3 == $step ) && current_theme_supports( 'custom-header', 'header-text' ) ) - wp_enqueue_style('farbtastic'); + wp_enqueue_style( 'wp-color-picker' ); elseif ( 2 == $step ) wp_enqueue_style('imgareaselect'); } @@ -200,7 +183,7 @@ class Custom_Image_Header { * * @since 2.6.0 */ - function take_action() { + public function take_action() { if ( ! current_user_can('edit_theme_options') ) return; @@ -215,12 +198,6 @@ class Custom_Image_Header { 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' ); $this->remove_header_image(); @@ -251,15 +228,18 @@ class Custom_Image_Header { * Process the default headers * * @since 3.0.0 + * + * @global array $_wp_default_headers */ - function process_default_headers() { + public function process_default_headers() { global $_wp_default_headers; - if ( !empty($this->headers) ) + if ( !isset($_wp_default_headers) ) return; - if ( !isset($_wp_default_headers) ) + if ( ! empty( $this->default_headers ) ) { return; + } $this->default_headers = $_wp_default_headers; $template_directory_uri = get_template_directory_uri(); @@ -268,7 +248,6 @@ class Custom_Image_Header { $this->default_headers[$header]['url'] = sprintf( $this->default_headers[$header]['url'], $template_directory_uri, $stylesheet_directory_uri ); $this->default_headers[$header]['thumbnail_url'] = sprintf( $this->default_headers[$header]['thumbnail_url'], $template_directory_uri, $stylesheet_directory_uri ); } - } /** @@ -279,7 +258,7 @@ class Custom_Image_Header { * * @since 3.0.0 */ - function show_header_selector( $type = 'default' ) { + public function show_header_selector( $type = 'default' ) { if ( 'default' == $type ) { $headers = $this->default_headers; } else { @@ -290,7 +269,7 @@ class Custom_Image_Header { if ( 1 < count( $headers ) ) { echo '- admin_image_div_callback ) { - call_user_func( $this->admin_image_div_callback ); + admin_image_div_callback ) { + call_user_func( $this->admin_image_div_callback ); } else { + $custom_header = get_custom_header(); + $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 ) + $header_image_style .= 'height:' . $custom_header->height . 'px;'; ?> - | |
-
|
@@ -570,11 +561,12 @@ var farbtastic;