File "class-epsilon-sanitizers.php"
Full Path: /home2/sdektunc/cepali.edu.mx/wp-content/themes/shapely/inc/libraries/epsilon-framework/classes/helpers/class-epsilon-sanitizers.php
File size: 2.31 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if ( ! defined( 'WPINC' ) ) {
die;
}
/**
* Class Epsilon_Sanitizers
*/
class Epsilon_Sanitizers {
/**
* @since 1.0.0
*
* @param $value
*
* @return string
*
* https://wordpress.stackexchange.com/questions/257581/escape-hexadecimals-rgba-values
*/
public static function rgba( $value ) {
// If empty or an array return transparent
if ( empty( $value ) || is_array( $value ) ) {
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( $value, 'rgba' ) ) {
return sanitize_hex_color( $value );
}
// By now we know the string is formatted as an rgba color so we need to further sanitize it.
$value = str_replace( ' ', '', $value );
sscanf( $value, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')';
}
/**
* @since 1.0.0
*
* @param $value
*
* @return int
*/
public static function checkbox( $value ) {
return (bool) $value;
}
/**
* @since 1.0.0
*
* Simple function to validate choices from radio buttons
*
* @param $input
*
* @return string
*/
public static function radio_buttons( $input, $setting ) {
global $wp_customize;
$control = $wp_customize->get_control( $setting->id );
if ( is_array( $control->choices ) && array_key_exists( $input, $control->choices ) ) {
return $input;
}
return $setting->default;
}
/**
* @since 1.0.0
*
* @param $input
*
* @return string
*/
public static function textarea_nl2br( $input ) {
return nl2br( $input );
}
/**
* @since 1.0.0
*
* @param $input
*
* @return array
*/
public static function selectize( $input ) {
$input = array_map( 'sanitize_text_field', $input );
return $input;
}
/**
* Recursive array map functionality ( for field sanitize)
*
* @param $callback
* @param $array
*
* @return array
*/
public static function array_map_recursive( $callback, $array ) {
$func = function ( $item ) use ( &$func, &$callback ) {
return is_array( $item ) ? array_map( $func, $item ) : call_user_func( $callback, $item );
};
return array_map( $func, $array );
}
}