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;
|