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

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

	/*** カードのレイアウトを統一 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['card-size-unity'] ) && $value['card-size-unity'] === '1' ) {
		$value['card-size-unity'] = '1'; // 明示的に '1' を設定
	} else {
		$value['card-size-unity'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 出力する画像サイズを「中」に統一 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['image-size-unity'] ) && $value['image-size-unity'] === '1' ) {
		$value['image-size-unity'] = '1'; // 明示的に '1' を設定
	} else {
		$value['image-size-unity'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** ホーバー時に拡大する（出力する画像サイズを「中」に統一した場合のみ） ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['image-expand-on-hover'] ) && $value['image-expand-on-hover'] === '1' ) {
		$value['image-expand-on-hover'] = '1'; // 明示的に '1' を設定
	} else {
		$value['image-expand-on-hover'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** カードの横幅を親コンテンツいっぱいにする ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['fit-card-content-width'] ) && $value['fit-card-content-width'] === '1' ) {
		$value['fit-card-content-width'] = '1'; // 明示的に '1' を設定
	} else {
		$value['fit-card-content-width'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** フッターを非表示にする ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['hide-card-footer-content'] ) && $value['hide-card-footer-content'] === '1' ) {
		$value['hide-card-footer-content'] = '1'; // 明示的に '1' を設定
	} else {
		$value['hide-card-footer-content'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 文字種を本体と共通にする ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['card-text-type-inherit'] ) && $value['card-text-type-inherit'] === '1' ) {
		$value['card-text-type-inherit'] = '1'; // 明示的に '1' を設定
	} else {
		$value['card-text-type-inherit'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 文字サイズを本体と共通にする ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['card-text-size-inherit'] ) && $value['card-text-size-inherit'] === '1' ) {
		$value['card-text-size-inherit'] = '1'; // 明示的に '1' を設定
	} else {
		$value['card-text-size-inherit'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 公開日・最終更新日を表示する ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['add-embed-card-pubmod-date'] ) && $value['add-embed-card-pubmod-date'] === '1' ) {
		$value['add-embed-card-pubmod-date'] = '1'; // 明示的に '1' を設定
	} else {
		$value['add-embed-card-pubmod-date'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 抜粋の長さを変更する ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['link-card-change-excerpt-length'] ) && is_string( $value['link-card-change-excerpt-length'] ) ) {
		$value['link-card-change-excerpt-length'] = sanitize_text_field( $value['link-card-change-excerpt-length'] ); // サニタイズ
	} else {
		if ( isset( $original_value['link-card-change-excerpt-length'] ) ) {
			$value['link-card-change-excerpt-length'] = $original_value['link-card-change-excerpt-length']; // 元の値を保持
		} else {
			$value['link-card-change-excerpt-length'] = '';
		}
	}

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

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

	/*** 続きを読むの色 ***/
	/* テキストフィールド（HEX色） */
	if ( isset( $value['link-card-readmore-color'] ) && is_string( $value['link-card-readmore-color'] ) ) {
		$value['link-card-readmore-color'] = sanitize_hex_color( $value['link-card-readmore-color'] ); // サニタイズ
	} else {
		if ( isset( $original_value['link-card-readmore-color'] ) ) {
			$value['link-card-readmore-color'] = $original_value['link-card-readmore-color']; // 元の値を保持
		} else {
			$value['link-card-readmore-color'] = '';
		}
	}

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

	/*** 背景画像のアップロード ***/
	/* テキストフィールド（URL） */
	if ( isset( $value['link-card-background-image'] ) && is_string( $value['link-card-background-image'] ) ) {
		$value['link-card-background-image'] = esc_url( $value['link-card-background-image'] ); // サニタイズ
	} else {
		if ( isset( $original_value['link-card-background-image'] ) ) {
			$value['link-card-background-image'] = $original_value['link-card-background-image']; // 元の値を保持
		} else {
			$value['link-card-background-image'] = '';
		}
	}

	/* 背景画像の効果 */
	/* セレクトボックス */
	if ( isset( $value['link-card-background-image-blend'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['link-card-background-image-blend'], array( '1', '2', '3' ), true ) ) {
			$value['link-card-background-image-blend'] = intval( $value['link-card-background-image-blend'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['link-card-background-image-blend'] = isset( $original_value['link-card-background-image-blend'] ) ? $original_value['link-card-background-image-blend'] : ''; // 元の値を保持
		}
	} else {
		$value['link-card-background-image-blend'] = '1';
	}

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

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

	/*** 枠線の影の透明度 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['link-card-border-shadow-trans'] ) && is_string( $value['link-card-border-shadow-trans'] ) ) {
		$value['link-card-border-shadow-trans'] = sanitize_text_field( $value['link-card-border-shadow-trans'] ); // サニタイズ
	} else {
		if ( isset( $original_value['link-card-border-shadow-trans'] ) ) {
			$value['link-card-border-shadow-trans'] = $original_value['link-card-border-shadow-trans']; // 元の値を保持
		} else {
			$value['link-card-border-shadow-trans'] = '';
		}
	}

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

	/*** ホーバー時のフッター文字とアイコンの色 ***/
	/* テキストフィールド（HEX色） */
	if ( isset( $value['link-card-icon-hover-color'] ) && is_string( $value['link-card-icon-hover-color'] ) ) {
		$value['link-card-icon-hover-color'] = sanitize_hex_color( $value['link-card-icon-hover-color'] ); // サニタイズ
	} else {
		if ( isset( $original_value['link-card-icon-hover-color'] ) ) {
			$value['link-card-icon-hover-color'] = $original_value['link-card-icon-hover-color']; // 元の値を保持
		} else {
			$value['link-card-icon-hover-color'] = '';
		}
	}

	/*** iframeに適用するその他のスタイル ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['add-link-card-custom-css'] ) && is_string( $value['add-link-card-custom-css'] ) ) {
		$value['add-link-card-custom-css'] = esc_html( $value['add-link-card-custom-css'] ); // サニタイズ
	} else {
		if ( isset( $original_value['add-link-card-custom-css'] ) ) {
			$value['add-link-card-custom-css'] = $original_value['add-link-card-custom-css']; // 元の値を保持
		} else {
			$value['add-link-card-custom-css'] = '';
		}
	}

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