<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

function haumenu_sanitize_block_option_code_copy($value){
	$value = (array) $value;
	$original_value = get_option('hautility-option-05-blockoption'); // 元の値を保持

	/*** コピーボタン機能を使うかどうか ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['autoadd-codeblock-copy-button'] ) && $value['autoadd-codeblock-copy-button'] === '1' ) {
		$value['autoadd-codeblock-copy-button'] = '1'; // 明示的に '1' を設定
	} else {
		$value['autoadd-codeblock-copy-button'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** コピーボタンの文字色 ***/
	/* テキストフィールド（HEX色） */
	if ( isset( $value['codeblock-copy-button-text-color'] ) && is_string( $value['codeblock-copy-button-text-color'] ) ) {
		$value['codeblock-copy-button-text-color'] = sanitize_hex_color( $value['codeblock-copy-button-text-color'] ); // サニタイズ
	} else {
		if ( isset( $original_value['codeblock-copy-button-text-color'] ) ) {
			$value['codeblock-copy-button-text-color'] = $original_value['codeblock-copy-button-text-color']; // 元の値を保持
		} else {
			$value['codeblock-copy-button-text-color'] = '';
		}
	}

	/*** コピーボタンの背景色 ***/
	/* テキストフィールド（HEX色） */
	if ( isset( $value['codeblock-copy-button-bg-color'] ) && is_string( $value['codeblock-copy-button-bg-color'] ) ) {
		$value['codeblock-copy-button-bg-color'] = sanitize_hex_color( $value['codeblock-copy-button-bg-color'] ); // サニタイズ
	} else {
		if ( isset( $original_value['codeblock-copy-button-bg-color'] ) ) {
			$value['codeblock-copy-button-bg-color'] = $original_value['codeblock-copy-button-bg-color']; // 元の値を保持
		} else {
			$value['codeblock-copy-button-bg-color'] = '';
		}
	}

	/*** コピーボタンの枠線色 ***/
	/* テキストフィールド（HEX色） */
	if ( isset( $value['codeblock-copy-button-border-color'] ) && is_string( $value['codeblock-copy-button-border-color'] ) ) {
		$value['codeblock-copy-button-border-color'] = sanitize_hex_color( $value['codeblock-copy-button-border-color'] ); // サニタイズ
	} else {
		if ( isset( $original_value['codeblock-copy-button-border-color'] ) ) {
			$value['codeblock-copy-button-border-color'] = $original_value['codeblock-copy-button-border-color']; // 元の値を保持
		} else {
			$value['codeblock-copy-button-border-color'] = '';
		}
	}

	/*** コピーボタン機能を停止できるようにするか ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['disable-spec-codeblock-copy-button'] ) && $value['disable-spec-codeblock-copy-button'] === '1' ) {
		$value['disable-spec-codeblock-copy-button'] = '1'; // 明示的に '1' を設定
	} else {
		$value['disable-spec-codeblock-copy-button'] = ''; // チェックされていない場合は空文字を設定
	}

	/* ---------- ここまでに項目ごとの記述をする ---------- */
	return $value;//値を返す
}