132 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| // No direct access, please
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit;
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_empty_absint' ) ) {
 | |
| 	function generate_premium_sanitize_empty_absint( $input ) {
 | |
| 		if ( '' == $input ) {
 | |
| 			return '';
 | |
| 		}
 | |
| 
 | |
| 		return absint( $input );
 | |
| 	}
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_choices' ) ) {
 | |
| 	/**
 | |
| 	 * Sanitize choices
 | |
| 	 */
 | |
| 	function generate_premium_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 );
 | |
| 	}
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_checkbox' ) ) {
 | |
| 	/**
 | |
| 	 * Sanitize checkbox
 | |
| 	 */
 | |
| 	function generate_premium_sanitize_checkbox( $checked ) {
 | |
| 		// Boolean check.
 | |
| 		return ( ( isset( $checked ) && true == $checked ) ? true : false );
 | |
| 	}
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_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_premium_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 '';
 | |
| 	}
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_rgba' ) ) {
 | |
| 	/**
 | |
| 	 * Sanitize RGBA colors
 | |
| 	 *
 | |
| 	 * @since 1.3.42
 | |
| 	 */
 | |
| 	function generate_premium_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_premium_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 '';
 | |
| 	}
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_decimal_integer' ) ) {
 | |
| 	/**
 | |
| 	 * Sanitize integers that can use decimals
 | |
| 	 *
 | |
| 	 * @since 1.3.41
 | |
| 	 */
 | |
| 	function generate_premium_sanitize_decimal_integer( $input ) {
 | |
| 		return abs( floatval( $input ) );
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Sanitize integers that can use decimals
 | |
|  * @since 1.4
 | |
|  */
 | |
| function generate_premium_sanitize_decimal_integer_empty( $input ) {
 | |
| 	if ( '' == $input ) {
 | |
| 		return '';
 | |
| 	}
 | |
| 
 | |
| 	return abs( floatval( $input ) );
 | |
| }
 | |
| 
 | |
| if ( ! function_exists( 'generate_premium_sanitize_html' ) ) {
 | |
| 	/**
 | |
| 	 * Sanitize our fields that accept HTML
 | |
| 	 */
 | |
| 	function generate_premium_sanitize_html( $input ) {
 | |
| 		return wp_kses_post( $input );
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function generate_premium_sanitize_variants( $input ) {
 | |
| 	if ( is_array( $input ) ) {
 | |
| 		$input = implode( ',', $input );
 | |
| 	}
 | |
| 
 | |
| 	return sanitize_text_field( $input );
 | |
| }
 |