File "ColorControl.php"
Full Path: /home/pumpbmko/public_html/wp-content/themes/momota/lib/colibriwp/src/Customizer/Controls/ColorControl.php
File size: 1.71 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace ColibriWP\Theme\Customizer\Controls;
use ColibriWP\Theme\Core\Utils;
class ColorControl extends VueControl {
public $type = 'colibri-color';
public $alpha = true;
protected $inline_content_template = true;
public static function sanitize( $value, $control_data, $default = '' ) {
if ( ! is_string( $value ) ) {
return '#000000';
}
$alpha = Utils::pathGet( $control_data, 'alpha', true );
$value = trim( $value );
if ( ! $alpha ) {
if ( strpos( $value, '#' ) === 0 ) {
return sanitize_hex_color( $value );
} else {
if ( strpos( $value, 'rgb(' ) === 0 ) {
$color = str_replace( ' ', '', $value );
sscanf( $color, 'rgb(%d,%d,%d)', $red, $green, $blue );
return 'rgb(' . $red . ',' . $green . ',' . $blue . ')';
}
if ( strpos( $value, 'rgba(' ) === 0 ) {
$color = str_replace( ' ', '', $value );
sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
return 'rgb(' . $red . ',' . $green . ',' . $blue . ')';
}
}
} else {
if ( strpos( $value, 'rgba' ) !== 0 ) {
return '';
} else {
$color = str_replace( ' ', '', $value );
sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')';
}
}
}
public function json() {
$json = parent::json();
$json['alpha'] = $this->alpha;
return $json;
}
protected function printVueContent() {
?>
<el-color-picker
v-model="value"
:size="size"
:show-alpha="alpha"
@change="setValue"
@active-change="activeChange"
<# (data.alpha == false) ? '': print('show-alpha') #>
>
</el-color-picker>
<?php
}
}