/users/patterns/www2_Hacked_x/blog/wp-includes/customize/class-wp-customize-site-icon-control.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
/**
 * Customize API: WP_Customize_Site_Icon_Control class
 *
 * @package WordPress
 * @subpackage Customize
 * @since 4.4.0
 */

/**
 * Customize Site Icon control class.
 *
 * Used only for custom functionality in JavaScript.
 *
 * @since 4.3.0
 *
 * @see WP_Customize_Cropped_Image_Control
 */
class WP_Customize_Site_Icon_Control extends WP_Customize_Cropped_Image_Control {

    
/**
     * Control type.
     *
     * @since 4.3.0
     * @var string
     */
    
public $type 'site_icon';

    
/**
     * Constructor.
     *
     * @since 4.3.0
     *
     * @param WP_Customize_Manager $manager Customizer bootstrap instance.
     * @param string               $id      Control ID.
     * @param array                $args    Optional. Arguments to override class property defaults.
     */
    
public function __construct$manager$id$args = array() ) {
        
parent::__construct$manager$id$args );
        
add_action'customize_controls_print_styles''wp_site_icon'99 );
    }

    
/**
     * Renders a JS template for the content of the site icon control.
     *
     * @since 4.5.0
     */
    
public function content_template() {
        
?>
        <# if ( data.label ) { #>
            <span class="customize-control-title">{{ data.label }}</span>
        <# } #>
        <# if ( data.description ) { #>
            <span class="description customize-control-description">{{{ data.description }}}</span>
        <# } #>

        <# if ( data.attachment && data.attachment.id ) { #>
            <div class="attachment-media-view">
                <# if ( data.attachment.sizes ) { #>
                    <div class="site-icon-preview wp-clearfix">
                        <div class="favicon-preview">
                            <img src="<?php echo esc_urladmin_url'images/' . ( is_rtl() ? 'browser-rtl.png' 'browser.png' ) ) ); ?>" class="browser-preview" width="182" alt="" />

                            <div class="favicon">
                                <img src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="<?php esc_attr_e'Preview as a browser icon' ); ?>"/>
                            </div>
                            <span class="browser-title" aria-hidden="true"><?php bloginfo'name' ); ?></span>
                        </div>
                        <img class="app-icon-preview" src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="<?php esc_attr_e'Preview as an app icon' ); ?>"/>
                    </div>
                <# } #>
                <div class="actions">
                    <# if ( data.canUpload ) { #>
                        <button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
                        <button type="button" class="button upload-button"><?php echo $this->button_labels['change']; ?></button>
                    <# } #>
                </div>
            </div>
        <# } else { #>
            <div class="attachment-media-view">
                <# if ( data.canUpload ) { #>
                    <button type="button" class="upload-button button-add-media"><?php echo $this->button_labels['site_icon']; ?></button>
                <# } #>
                <div class="actions">
                    <# if ( data.defaultAttachment ) { #>
                        <button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
                    <# } #>
                </div>
            </div>
        <# } #>
        <?php
    
}
}