angelovcom.net

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

class-wp-customize-site-icon-control.php (3268B)


      1 <?php
      2 /**
      3  * Customize API: WP_Customize_Site_Icon_Control class
      4  *
      5  * @package WordPress
      6  * @subpackage Customize
      7  * @since 4.4.0
      8  */
      9 
     10 /**
     11  * Customize Site Icon control class.
     12  *
     13  * Used only for custom functionality in JavaScript.
     14  *
     15  * @since 4.3.0
     16  *
     17  * @see WP_Customize_Cropped_Image_Control
     18  */
     19 class WP_Customize_Site_Icon_Control extends WP_Customize_Cropped_Image_Control {
     20 
     21 	/**
     22 	 * Control type.
     23 	 *
     24 	 * @since 4.3.0
     25 	 * @var string
     26 	 */
     27 	public $type = 'site_icon';
     28 
     29 	/**
     30 	 * Constructor.
     31 	 *
     32 	 * @since 4.3.0
     33 	 *
     34 	 * @see WP_Customize_Control::__construct()
     35 	 *
     36 	 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
     37 	 * @param string               $id      Control ID.
     38 	 * @param array                $args    Optional. Arguments to override class property defaults.
     39 	 *                                      See WP_Customize_Control::__construct() for information
     40 	 *                                      on accepted arguments. Default empty array.
     41 	 */
     42 	public function __construct( $manager, $id, $args = array() ) {
     43 		parent::__construct( $manager, $id, $args );
     44 		add_action( 'customize_controls_print_styles', 'wp_site_icon', 99 );
     45 	}
     46 
     47 	/**
     48 	 * Renders a JS template for the content of the site icon control.
     49 	 *
     50 	 * @since 4.5.0
     51 	 */
     52 	public function content_template() {
     53 		?>
     54 		<# if ( data.label ) { #>
     55 			<span class="customize-control-title">{{ data.label }}</span>
     56 		<# } #>
     57 		<# if ( data.description ) { #>
     58 			<span class="description customize-control-description">{{{ data.description }}}</span>
     59 		<# } #>
     60 
     61 		<# if ( data.attachment && data.attachment.id ) { #>
     62 			<div class="attachment-media-view">
     63 				<# if ( data.attachment.sizes ) { #>
     64 					<div class="site-icon-preview wp-clearfix">
     65 						<div class="favicon-preview">
     66 							<img src="<?php echo esc_url( admin_url( 'images/' . ( is_rtl() ? 'browser-rtl.png' : 'browser.png' ) ) ); ?>" class="browser-preview" width="182" alt="" />
     67 
     68 							<div class="favicon">
     69 								<img src="{{ data.attachment.sizes.full ? data.attachment.sizes.full.url : data.attachment.url }}" alt="<?php esc_attr_e( 'Preview as a browser icon' ); ?>" />
     70 							</div>
     71 							<span class="browser-title" aria-hidden="true"><# print( '<?php bloginfo( 'name' ); ?>' ) #></span>
     72 						</div>
     73 						<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' ); ?>" />
     74 					</div>
     75 				<# } #>
     76 				<div class="actions">
     77 					<# if ( data.canUpload ) { #>
     78 						<button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
     79 						<button type="button" class="button upload-button"><?php echo $this->button_labels['change']; ?></button>
     80 					<# } #>
     81 				</div>
     82 			</div>
     83 		<# } else { #>
     84 			<div class="attachment-media-view">
     85 				<# if ( data.canUpload ) { #>
     86 					<button type="button" class="upload-button button-add-media"><?php echo $this->button_labels['site_icon']; ?></button>
     87 				<# } #>
     88 				<div class="actions">
     89 					<# if ( data.defaultAttachment ) { #>
     90 						<button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
     91 					<# } #>
     92 				</div>
     93 			</div>
     94 		<# } #>
     95 		<?php
     96 	}
     97 }