| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | <?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_url( admin_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"><# print( '<?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	}}
 |