Viewing file: validation_color_rgba.php (2.31 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php if ( ! class_exists( 'Redux_Validation_color_rgba' ) ) { class Redux_Validation_color_rgba {
/** * Field Constructor. * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function * * @since ReduxFramework 3.0.4 */ function __construct( $parent, $field, $value, $current ) { $this->parent = $parent; $this->field = $field; $this->field['msg'] = ( isset( $this->field['msg'] ) ) ? $this->field['msg'] : __( 'This field must be a valid color value.', 'redux-framework' ); $this->value = $value; $this->current = $current;
$this->validate(); } //function
/** * Validate Color to RGBA * Takes the user's input color value and returns it only if it's a valid color. * * @since ReduxFramework 3.0.3 */ function validate_color_rgba( $color ) {
if ( $color == "transparent" ) { return $color; }
$color = str_replace( '#', '', $color ); if ( strlen( $color ) == 3 ) { $color = $color . $color; } if ( preg_match( '/^[a-f0-9]{6}$/i', $color ) ) { $color = '#' . $color; }
return array( 'hex' => $color, 'rgba' => Redux_Helpers::hex2rgba( $color ) ); } //function
/** * Field Render Function. * Takes the vars and outputs the HTML for the field in the settings * * @since ReduxFramework 3.0.0 */ function validate() {
if ( is_array( $this->value ) ) { // If array foreach ( $this->value as $k => $value ) { $this->value[ $k ] = $this->validate_color_rgba( $value ); } //foreach } else { // not array $this->value = $this->validate_color_rgba( $this->value ); } // END array check } //function } //class }
|