%PDF- %PDF-
| Direktori : /www/klubovnaostrava/www/wp-content/themes/businessx/acosmin/functions/ |
| Current File : /www/klubovnaostrava/www/wp-content/themes/businessx/acosmin/functions/sanitization.php |
<?php
/* ------------------------------------------------------------------------- *
* Sanitization
* ________________
*
* Functions used to sanitize theme mods and options
* ________________
*
/* ------------------------------------------------------------------------- */
// Checkbox
if ( ! function_exists( 'businessx_sanitize_checkbox' ) ) {
function businessx_sanitize_checkbox( $input ) {
if ( $input == 1 ) { return 1; } else { return 0; }
}
}
// Select
// for Customizer select options
// and non Customizer options
if ( ! function_exists( 'businessx_sanitize_select' ) ) {
function businessx_sanitize_select( $input, $setting, $new_default = '', $incustomizer = true ) {
global $wp_customize;
if( $incustomizer ) {
$control = $wp_customize->get_control( $setting->id );
if ( array_key_exists( $input, $control->choices ) ) {
return $input;
} else {
return $setting->default;
}
} else {
$choices = (array) $setting;
if ( in_array( $input, $choices, true ) ) {
return $input;
} else {
return $new_default;
}
}
}
}
// Sanitize HEX color
// if we can't use sanitize_hex_color()
if ( ! function_exists( 'businessx_sanitize_hex' ) ) {
function businessx_sanitize_hex( $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;
}
}
// Sanitize RGBA color
if ( ! function_exists( 'businessx_sanitize_rgba' ) ) {
function businessx_sanitize_rgba( $color ) {
// If empty or an array return transparent
if ( empty( $color ) || is_array( $color ) ) {
return 'rgba(0,0,0,0)';
}
// 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 businessx_sanitize_hex( $color );
} else {
// 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.')';
}
}
}
// Sanitize CSS output
if ( ! function_exists( 'businessx_sanitize_css' ) ) {
function businessx_sanitize_css( $custom_css, $format = TRUE ) {
if ( '' === $custom_css )
return '';
if( $format ) {
return preg_replace('/\s\s+/', ' ', wp_strip_all_tags( $custom_css ) ); }
else {
return esc_html( $custom_css ); }
}
}
// Output content and filter HTML
if ( ! function_exists( 'businessx_content_filter' ) ) {
function businessx_content_filter( $content = '', $allowed_tags = array(), $echo = FALSE ) {
if( $echo ) {
echo wp_kses( $content, $allowed_tags ); }
else {
return wp_kses( $content, $allowed_tags ); }
}
}
// Sanitize an array with a sanitization function
if ( ! function_exists( 'businessx_sanitize_array_map' ) ) {
function businessx_sanitize_array_map( $sanitize_function, $the_array ) {
$newArr = array();
foreach( $the_array as $key => $value ) :
$newArr[ $key ] = ( is_array( $value ) ? businessx_sanitize_array_map( $sanitize_function, $value ) :
( is_array( $sanitize_function ) ? call_user_func_array( $sanitize_function, $value ) :
$sanitize_function( $value ) ) );
endforeach;
return $newArr;
}
}