| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | <?php/** * Customize API: WP_Customize_Theme_Control class * * @package WordPress * @subpackage Customize * @since 4.4.0 *//** * Customize Theme Control class. * * @since 4.2.0 * * @see WP_Customize_Control */class WP_Customize_Theme_Control extends WP_Customize_Control {	/**	 * Customize control type.	 *	 * @since 4.2.0	 * @var string	 */	public $type = 'theme';	/**	 * Theme object.	 *	 * @since 4.2.0	 * @var WP_Theme	 */	public $theme;	/**	 * Refresh the parameters passed to the JavaScript via JSON.	 *	 * @since 4.2.0	 *	 * @see WP_Customize_Control::to_json()	 */	public function to_json() {		parent::to_json();		$this->json['theme'] = $this->theme;	}	/**	 * Don't render the control content from PHP, as it's rendered via JS on load.	 *	 * @since 4.2.0	 */	public function render_content() {}	/**	 * Render a JS template for theme display.	 *	 * @since 4.2.0	 */	public function content_template() {		/* translators: %s: Theme name. */		$details_label = sprintf( __( 'Details for theme: %s' ), '{{ data.theme.name }}' );		/* translators: %s: Theme name. */		$customize_label = sprintf( __( 'Customize theme: %s' ), '{{ data.theme.name }}' );		/* translators: %s: Theme name. */		$preview_label = sprintf( __( 'Live preview theme: %s' ), '{{ data.theme.name }}' );		/* translators: %s: Theme name. */		$install_label = sprintf( __( 'Install and preview theme: %s' ), '{{ data.theme.name }}' );		?>		<# if ( data.theme.active ) { #>			<div class="theme active" tabindex="0" aria-describedby="{{ data.section }}-{{ data.theme.id }}-action">		<# } else { #>			<div class="theme" tabindex="0" aria-describedby="{{ data.section }}-{{ data.theme.id }}-action">		<# } #>			<# if ( data.theme.screenshot && data.theme.screenshot[0] ) { #>				<div class="theme-screenshot">					<img data-src="{{ data.theme.screenshot[0] }}" alt="" />				</div>			<# } else { #>				<div class="theme-screenshot blank"></div>			<# } #>			<span class="more-details theme-details" id="{{ data.section }}-{{ data.theme.id }}-action" aria-label="<?php echo esc_attr( $details_label ); ?>"><?php _e( 'Theme Details' ); ?></span>			<div class="theme-author">			<?php				/* translators: Theme author name. */				printf( _x( 'By %s', 'theme author' ), '{{ data.theme.author }}' );			?>			</div>			<# if ( 'installed' === data.theme.type && data.theme.hasUpdate ) { #>				<div class="update-message notice inline notice-warning notice-alt" data-slug="{{ data.theme.id }}">					<p>						<?php						if ( is_multisite() ) {							_e( 'New version available.' );						} else {							printf(								/* translators: %s: "Update now" button. */								__( 'New version available. %s' ),								'<button class="button-link update-theme" type="button">' . __( 'Update now' ) . '</button>'							);						}						?>					</p>				</div>			<# } #>			<# if ( data.theme.active ) { #>				<div class="theme-id-container">					<h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">						<span><?php _e( 'Previewing:' ); ?></span> {{ data.theme.name }}					</h3>					<div class="theme-actions">						<button type="button" class="button button-primary customize-theme" aria-label="<?php echo esc_attr( $customize_label ); ?>"><?php _e( 'Customize' ); ?></button>					</div>				</div>				<div class="notice notice-success notice-alt"><p><?php _ex( 'Installed', 'theme' ); ?></p></div>			<# } else if ( 'installed' === data.theme.type ) { #>				<div class="theme-id-container">					<h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">{{ data.theme.name }}</h3>					<div class="theme-actions">						<button type="button" class="button button-primary preview-theme" aria-label="<?php echo esc_attr( $preview_label ); ?>" data-slug="{{ data.theme.id }}"><?php _e( 'Live Preview' ); ?></button>					</div>				</div>				<div class="notice notice-success notice-alt"><p><?php _ex( 'Installed', 'theme' ); ?></p></div>			<# } else { #>				<div class="theme-id-container">					<h3 class="theme-name" id="{{ data.section }}-{{ data.theme.id }}-name">{{ data.theme.name }}</h3>					<div class="theme-actions">						<button type="button" class="button button-primary theme-install preview" aria-label="<?php echo esc_attr( $install_label ); ?>" data-slug="{{ data.theme.id }}" data-name="{{ data.theme.name }}"><?php _e( 'Install & Preview' ); ?></button>					</div>				</div>			<# } #>		</div>		<?php	}}
 |