304 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			304 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Where old Customizer controls retire.
 | 
						|
 *
 | 
						|
 * @package GeneratePress
 | 
						|
 */
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	exit; // Exit if accessed directly.
 | 
						|
}
 | 
						|
 | 
						|
if ( class_exists( 'WP_Customize_Control' ) && ! class_exists( 'Generate_Customize_Width_Slider_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * Create our container width slider control
 | 
						|
	 *
 | 
						|
	 * @deprecated 1.3.47
 | 
						|
	 */
 | 
						|
	class Generate_Customize_Width_Slider_Control extends WP_Customize_Control {
 | 
						|
		/**
 | 
						|
		 * Render content.
 | 
						|
		 */
 | 
						|
		public function render_content() {}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( class_exists( 'WP_Customize_Control' ) && ! class_exists( 'GenerateLabelControl' ) ) {
 | 
						|
	/**
 | 
						|
	 * Heading area
 | 
						|
	 *
 | 
						|
	 * @since 0.1
 | 
						|
	 * @depreceted 1.3.41
 | 
						|
	 **/
 | 
						|
	class GenerateLabelControl extends WP_Customize_Control { // phpcs:ignore
 | 
						|
		/**
 | 
						|
		 * Render content.
 | 
						|
		 */
 | 
						|
		public function render_content() {}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'Generate_Google_Font_Dropdown_Custom_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * A class to create a dropdown for all google fonts
 | 
						|
	 */
 | 
						|
	class Generate_Google_Font_Dropdown_Custom_Control extends WP_Customize_Control { // phpcs:ignore
 | 
						|
		/**
 | 
						|
		 * Set type.
 | 
						|
		 *
 | 
						|
		 * @var $type
 | 
						|
		 */
 | 
						|
		public $type = 'gp-customizer-fonts';
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Enqueue scripts.
 | 
						|
		 */
 | 
						|
		public function enqueue() {
 | 
						|
			wp_enqueue_script( 'generatepress-customizer-fonts', trailingslashit( get_template_directory_uri() ) . 'inc/js/typography-controls.js', array( 'customize-controls' ), GENERATE_VERSION, true );
 | 
						|
			wp_localize_script( 'generatepress-customizer-fonts', 'gp_customize', array( 'nonce' => wp_create_nonce( 'gp_customize_nonce' ) ) );
 | 
						|
		}
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Send variables to json.
 | 
						|
		 */
 | 
						|
		public function to_json() {
 | 
						|
			parent::to_json();
 | 
						|
 | 
						|
			$number_of_fonts = apply_filters( 'generate_number_of_fonts', 200 );
 | 
						|
			$this->json['link'] = $this->get_link();
 | 
						|
			$this->json['value'] = $this->value();
 | 
						|
			$this->json['default_fonts_title'] = __( 'Default fonts', 'generatepress' );
 | 
						|
			$this->json['google_fonts_title'] = __( 'Google fonts', 'generatepress' );
 | 
						|
			$this->json['description'] = __( 'Font family', 'generatepress' );
 | 
						|
			$this->json['google_fonts'] = apply_filters( 'generate_typography_customize_list', generate_get_all_google_fonts( $number_of_fonts ) );
 | 
						|
			$this->json['default_fonts'] = generate_typography_default_fonts();
 | 
						|
		}
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Render content.
 | 
						|
		 */
 | 
						|
		public function content_template() {
 | 
						|
			?>
 | 
						|
			<label>
 | 
						|
				<span class="customize-control-title">{{ data.label }}</span>
 | 
						|
				<select {{{ data.link }}}>
 | 
						|
					<optgroup label="{{ data.default_fonts_title }}">
 | 
						|
						<# for ( var key in data.default_fonts ) { #>
 | 
						|
							<# var name = data.default_fonts[ key ].split(',')[0]; #>
 | 
						|
							<option value="{{ data.default_fonts[ key ] }}"  <# if ( data.default_fonts[ key ] === data.value ) { #>selected="selected"<# } #>>{{ name }}</option>
 | 
						|
						<# } #>
 | 
						|
					</optgroup>
 | 
						|
					<optgroup label="{{ data.google_fonts_title }}">
 | 
						|
						<# for ( var key in data.google_fonts ) { #>
 | 
						|
							<option value="{{ data.google_fonts[ key ].name }}"  <# if ( data.google_fonts[ key ].name === data.value ) { #>selected="selected"<# } #>>{{ data.google_fonts[ key ].name }}</option>
 | 
						|
						<# } #>
 | 
						|
					</optgroup>
 | 
						|
				</select>
 | 
						|
				<p class="description">{{ data.description }}</p>
 | 
						|
			</label>
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'Generate_Select_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * A class to create a dropdown for font weight
 | 
						|
	 */
 | 
						|
	class Generate_Select_Control extends WP_Customize_Control { // phpcs:ignore
 | 
						|
		/**
 | 
						|
		 * Set type.
 | 
						|
		 *
 | 
						|
		 * @var $type
 | 
						|
		 */
 | 
						|
		public $type = 'gp-typography-select';
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Set choices.
 | 
						|
		 *
 | 
						|
		 * @var $choices
 | 
						|
		 */
 | 
						|
		public $choices = array();
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Send variables to json.
 | 
						|
		 */
 | 
						|
		public function to_json() {
 | 
						|
			parent::to_json();
 | 
						|
 | 
						|
			foreach ( $this->choices as $name => $choice ) {
 | 
						|
				$this->choices[ $name ] = $choice;
 | 
						|
			}
 | 
						|
 | 
						|
			$this->json['choices'] = $this->choices;
 | 
						|
			$this->json['link'] = $this->get_link();
 | 
						|
			$this->json['value'] = $this->value();
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Render content.
 | 
						|
		 */
 | 
						|
		public function content_template() {
 | 
						|
			?>
 | 
						|
			<# if ( ! data.choices )
 | 
						|
				return;
 | 
						|
			#>
 | 
						|
			<label>
 | 
						|
				<select {{{ data.link }}}>
 | 
						|
					<# jQuery.each( data.choices, function( label, choice ) { #>
 | 
						|
						<option value="{{ choice }}" <# if ( choice === data.value ) { #> selected="selected"<# } #>>{{ choice }}</option>
 | 
						|
					<# } ) #>
 | 
						|
				</select>
 | 
						|
				<# if ( data.label ) { #>
 | 
						|
					<p class="description">{{ data.label }}</p>
 | 
						|
				<# } #>
 | 
						|
			</label>
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'Generate_Hidden_Input_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * Create our hidden input control
 | 
						|
	 */
 | 
						|
	class Generate_Hidden_Input_Control extends WP_Customize_Control { // phpcs:ignore
 | 
						|
		/**
 | 
						|
		 * Set type.
 | 
						|
		 *
 | 
						|
		 * @var $type
 | 
						|
		 */
 | 
						|
		public $type = 'gp-hidden-input';
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Set ID
 | 
						|
		 *
 | 
						|
		 * @var $id
 | 
						|
		 */
 | 
						|
		public $id = '';
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Send variables to json.
 | 
						|
		 */
 | 
						|
		public function to_json() {
 | 
						|
			parent::to_json();
 | 
						|
			$this->json['link'] = $this->get_link();
 | 
						|
			$this->json['value'] = $this->value();
 | 
						|
			$this->json['id'] = $this->id;
 | 
						|
		}
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Render content.
 | 
						|
		 */
 | 
						|
		public function content_template() {
 | 
						|
			?>
 | 
						|
			<input name="{{ data.id }}" type="text" {{{ data.link }}} value="{{{ data.value }}}" class="gp-hidden-input" />
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'Generate_Font_Weight_Custom_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * A class to create a dropdown for font weight
 | 
						|
	 *
 | 
						|
	 * @deprecated since 1.3.40
 | 
						|
	 */
 | 
						|
	class Generate_Font_Weight_Custom_Control extends WP_Customize_Control { // phpcs:ignore
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Construct.
 | 
						|
		 *
 | 
						|
		 * @param object $manager The manager.
 | 
						|
		 * @param int    $id The ID.
 | 
						|
		 * @param array  $args The args.
 | 
						|
		 * @param array  $options The options.
 | 
						|
		 */
 | 
						|
		public function __construct( $manager, $id, $args = array(), $options = array() ) {
 | 
						|
			parent::__construct( $manager, $id, $args );
 | 
						|
		}
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Render the content of the category dropdown
 | 
						|
		 */
 | 
						|
		public function render_content() {
 | 
						|
			?>
 | 
						|
			<label>
 | 
						|
				<select <?php $this->link(); ?>>
 | 
						|
					<?php
 | 
						|
					printf( '<option value="%s" %s>%s</option>', 'normal', selected( $this->value(), 'normal', false ), 'normal' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', 'bold', selected( $this->value(), 'bold', false ), 'bold' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '100', selected( $this->value(), '100', false ), '100' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '200', selected( $this->value(), '200', false ), '200' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '300', selected( $this->value(), '300', false ), '300' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '400', selected( $this->value(), '400', false ), '400' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '500', selected( $this->value(), '500', false ), '500' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '600', selected( $this->value(), '600', false ), '600' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '700', selected( $this->value(), '700', false ), '700' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '800', selected( $this->value(), '800', false ), '800' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', '900', selected( $this->value(), '900', false ), '900' );
 | 
						|
					?>
 | 
						|
				</select>
 | 
						|
				<p class="description"><?php echo esc_html( $this->label ); ?></p>
 | 
						|
			</label>
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'Generate_Text_Transform_Custom_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * A class to create a dropdown for text-transform
 | 
						|
	 *
 | 
						|
	 * @deprecated since 1.3.40
 | 
						|
	 */
 | 
						|
	class Generate_Text_Transform_Custom_Control extends WP_Customize_Control { // phpcs:ignore
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Construct.
 | 
						|
		 *
 | 
						|
		 * @param object $manager The manager.
 | 
						|
		 * @param int    $id The ID.
 | 
						|
		 * @param array  $args The args.
 | 
						|
		 * @param array  $options The options.
 | 
						|
		 */
 | 
						|
		public function __construct( $manager, $id, $args = array(), $options = array() ) {
 | 
						|
			parent::__construct( $manager, $id, $args );
 | 
						|
		}
 | 
						|
 | 
						|
		/**
 | 
						|
		 * Render the content of the category dropdown
 | 
						|
		 */
 | 
						|
		public function render_content() {
 | 
						|
			?>
 | 
						|
			<label>
 | 
						|
				<select <?php $this->link(); ?>>
 | 
						|
					<?php
 | 
						|
					printf( '<option value="%s" %s>%s</option>', 'none', selected( $this->value(), 'none', false ), 'none' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', 'capitalize', selected( $this->value(), 'capitalize', false ), 'capitalize' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', 'uppercase', selected( $this->value(), 'uppercase', false ), 'uppercase' );
 | 
						|
					printf( '<option value="%s" %s>%s</option>', 'lowercase', selected( $this->value(), 'lowercase', false ), 'lowercase' );
 | 
						|
					?>
 | 
						|
				</select>
 | 
						|
				<p class="description"><?php echo esc_html( $this->label ); ?></p>
 | 
						|
			</label>
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'Generate_Customize_Slider_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * Create our container width slider control
 | 
						|
	 *
 | 
						|
	 * @deprecated 1.3.47
 | 
						|
	 */
 | 
						|
	class Generate_Customize_Slider_Control extends WP_Customize_Control { // phpcs:ignore
 | 
						|
		/**
 | 
						|
		 * Render content.
 | 
						|
		 */
 | 
						|
		public function render_content() {}
 | 
						|
	}
 | 
						|
}
 |