324 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			324 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| // No direct access, please
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit;
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_backgrounds_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize choices
 | |
|  */
 | |
| function generate_backgrounds_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_text_field( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_backgrounds_is_top_bar_active' ) ) :
 | |
| /**
 | |
|  * Check to see if the top bar is active
 | |
|  *
 | |
|  * @since 1.3.45
 | |
|  */
 | |
| function generate_backgrounds_is_top_bar_active()
 | |
| {
 | |
| 	$top_bar = is_active_sidebar( 'top-bar' ) ? true : false;
 | |
| 	return apply_filters( 'generate_is_top_bar_active', $top_bar );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_blog_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize choices
 | |
|  */
 | |
| function generate_blog_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_key( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_blog_is_posts_page' ) ) :
 | |
| /**
 | |
|  * Check to see if we're on a posts page
 | |
|  */
 | |
| function generate_blog_is_posts_page()
 | |
| {
 | |
| 	$blog = ( is_home() || is_archive() || is_attachment() || is_tax() ) ? true : false;
 | |
| 	
 | |
| 	return $blog;
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_blog_is_posts_page_single' ) ) :
 | |
| /**
 | |
|  * Check to see if we're on a posts page or a single post
 | |
|  */
 | |
| function generate_blog_is_posts_page_single()
 | |
| {
 | |
| 	$blog = ( is_home() || is_archive() || is_attachment() || is_tax() || is_single() ) ? true : false;
 | |
| 	
 | |
| 	return $blog;
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_blog_is_excerpt' ) ) :
 | |
| /**
 | |
|  * Check to see if we're displaying excerpts
 | |
|  */
 | |
| function generate_blog_is_excerpt()
 | |
| {
 | |
| 	if ( ! function_exists( 'generate_get_defaults' ) )
 | |
| 		return;
 | |
| 	
 | |
| 	$generate_settings = wp_parse_args( 
 | |
| 		get_option( 'generate_settings', array() ), 
 | |
| 		generate_get_defaults() 
 | |
| 	);
 | |
| 	
 | |
| 	return ( 'excerpt' == $generate_settings['post_content'] ) ? true : false;
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_colors_sanitize_hex_color' ) ) :
 | |
| /**
 | |
|  * Sanitize hex colors
 | |
|  * We don't use the core function as we want to allow empty values
 | |
|  * @since 0.1
 | |
|  */
 | |
| function generate_colors_sanitize_hex_color( $color ) {
 | |
|     if ( '' === $color )
 | |
|         return '';
 | |
|  
 | |
|     // 3 or 6 hex digits, or the empty string.
 | |
|     if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
 | |
|         return $color;
 | |
|  
 | |
|     return '';
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_colors_sanitize_rgba' ) ) :
 | |
| /**
 | |
|  * Sanitize RGBA colors
 | |
|  * @since 1.3.42
 | |
|  */
 | |
| function generate_colors_sanitize_rgba( $color ) {
 | |
|     if ( '' === $color )
 | |
|         return '';
 | |
|  
 | |
| 	// If string does not start with 'rgba', then treat as hex
 | |
| 	// sanitize the hex color and finally convert hex to rgba
 | |
| 	if ( false === strpos( $color, 'rgba' ) ) {
 | |
| 		return generate_colors_sanitize_hex_color( $color );
 | |
| 	}
 | |
| 
 | |
| 	// By now we know the string is formatted as an rgba color so we need to further sanitize it.
 | |
| 	$color = str_replace( ' ', '', $color );
 | |
| 	sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
 | |
| 	return 'rgba('.$red.','.$green.','.$blue.','.$alpha.')';
 | |
|  
 | |
|     return '';
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_menu_plus_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize choices
 | |
|  */
 | |
| function generate_menu_plus_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_key( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_page_header_is_posts_page' ) ) :
 | |
| /**
 | |
|  * This is an active_callback
 | |
|  * Check if we're on a posts page
 | |
|  */
 | |
| function generate_page_header_is_posts_page()
 | |
| {
 | |
| 	$blog = ( is_home() || is_archive() || is_attachment() || is_tax() ) ? true : false;
 | |
| 	
 | |
| 	return $blog;
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_page_header_is_posts_page_single' ) ) :
 | |
| /**
 | |
|  * Check to see if we're on a posts page or a single post
 | |
|  */
 | |
| function generate_page_header_is_posts_page_single()
 | |
| {
 | |
| 	$blog = ( is_home() || is_archive() || is_attachment() || is_tax() || is_single() ) ? true : false;
 | |
| 	
 | |
| 	return $blog;
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_secondary_nav_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize choices
 | |
|  */
 | |
| function generate_secondary_nav_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_key( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_spacing_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize choices
 | |
|  */
 | |
| function generate_spacing_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_key( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_typography' ) ) :
 | |
| /**
 | |
|  * Sanitize typography dropdown
 | |
|  * @since 1.1.10
 | |
|  * @deprecated 1.2.95
 | |
|  */
 | |
| function generate_premium_sanitize_typography( $input ) 
 | |
| {
 | |
| 	if ( ! function_exists( 'generate_get_all_google_fonts' ) || ! function_exists( 'generate_typography_default_fonts' ) ) {
 | |
| 		return 'Open Sans';
 | |
| 	}
 | |
| 	
 | |
| 	// Grab all of our fonts
 | |
| 	$fonts = generate_get_all_google_fonts();
 | |
| 	
 | |
| 	// Loop through all of them and grab their names
 | |
| 	$font_names = array();
 | |
| 	foreach ( $fonts as $k => $fam ) {
 | |
| 		$font_names[] = $fam['name'];
 | |
| 	}
 | |
| 	
 | |
| 	// Get all non-Google font names
 | |
| 	$not_google = generate_typography_default_fonts();
 | |
| 
 | |
| 	// Merge them both into one array
 | |
| 	$valid = array_merge( $font_names, $not_google );
 | |
| 	
 | |
| 	// Sanitize
 | |
|     if ( in_array( $input, $valid ) ) {
 | |
|         return $input;
 | |
|     } else {
 | |
|         return 'Open Sans';
 | |
|     }
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_typography_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize choices
 | |
|  * @since 1.3.24
 | |
|  */
 | |
| function generate_typography_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_key( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_page_header_sanitize_choices' ) ) :
 | |
| /**
 | |
|  * Sanitize our select inputs
 | |
|  */
 | |
| function generate_page_header_sanitize_choices( $input, $setting ) {
 | |
| 	
 | |
| 	// Ensure input is a slug
 | |
| 	$input = sanitize_key( $input );
 | |
| 	
 | |
| 	// Get list of choices from the control
 | |
| 	// associated with the setting
 | |
| 	$choices = $setting->manager->get_control( $setting->id )->choices;
 | |
| 	
 | |
| 	// If the input is a valid key, return it;
 | |
| 	// otherwise, return the default
 | |
| 	return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_page_header_sanitize_hex_color' ) ) :
 | |
| /**
 | |
|  * Sanitize colors
 | |
|  * We don't use the core function as we want to allow empty values
 | |
|  */
 | |
| function generate_page_header_sanitize_hex_color( $color ) {
 | |
|     if ( '' === $color )
 | |
|         return '';
 | |
|  
 | |
|     // 3 or 6 hex digits, or the empty string.
 | |
|     if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
 | |
|         return $color;
 | |
|  
 | |
|     return '';
 | |
| }
 | |
| endif;
 | |
| 
 | |
| if ( ! function_exists( 'generate_page_header_sanitize_html' ) ) :
 | |
| /**
 | |
|  * Sanitize our fields that accept HTML
 | |
|  */
 | |
| function generate_page_header_sanitize_html( $input ) 
 | |
| {
 | |
| 	return wp_kses_post( $input );
 | |
| }
 | |
| endif; |