default ); } //checkbox sanitization function function bootstrap_photography_sanitize_checkbox( $input ) { //returns true if checkbox is checked return ( ( isset( $input ) && true == $input ) ? true : false ); } //file input sanitization function function bootstrap_photography_sanitize_image( $file, $setting ) { //allowed file types $mimes = array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png' ); //check file type from file name $file_ext = wp_check_filetype( $file, $mimes ); //if file has a valid mime type return it, otherwise return default return ( $file_ext['ext'] ? $file : $setting->default ); } function bootstrap_photography_sanitize_select( $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 ); } function bootstrap_photography_sanitize_choices( $input, $setting ) { global $wp_customize; $control = $wp_customize->get_control( $setting->id ); if ( array_key_exists( $input, $control->choices ) ) { return $input; } else { return $setting->default; } } function bootstrap_photography_sanitize_google_fonts( $input, $setting ) { // 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 ); } function bootstrap_photography_sanitize_array( $value ){ if ( is_array( $value ) ) { foreach ( $value as $key => $subvalue ) { $value[ $key ] = esc_attr( $subvalue ); } return $value; } return esc_attr( $value ); } function bootstrap_photography_sanitize_script( $script_textarea ) { $allowed_html = array( 'script' => array( 'async' => array(), 'src' => array() ) ); return wp_kses( $script_textarea, $allowed_html ); } function bootstrap_photography_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 NULL; } function bootstrap_photography_date_time_sanitization( $input, $setting ) { $datetimeformat = 'Y-m-d'; if ( $setting->manager->get_control( $setting->id )->include_time ) { $datetimeformat = 'Y-m-d H:i:s'; } $date = DateTime::createFromFormat( $datetimeformat, $input ); if ( $date === false ) { $date = DateTime::createFromFormat( $datetimeformat, $setting->default ); } return $date->format( $datetimeformat ); } /** * Sanitize date time value * @param $input * @return string */ function bootstrap_photography_sanitize_time( $input ) { $date = new DateTime( $input ); return $date->format('h:m:s'); } // Sanitize Number Range function bootstrap_photography_sanitize_number_range( $number, $setting ) { $atts = $setting->manager->get_control( $setting->id )->input_attrs; $min = ( isset( $atts['min'] ) ? $atts['min'] : $number ); $max = ( isset( $atts['max'] ) ? $atts['max'] : $number ); $step = ( isset( $atts['step'] ) ? $atts['step'] : 1 ); return ( $min <= $number && $number <= $max ) ? $number : $setting->default; }