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

function haumenu_sanitize_content_add_fix_header($value){
	$value = (array) $value;
	$original_value = get_option('hautility-option-04-addcontent'); // 元の値を保持

	/*** 固定ヘッダーを表示させる ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['use-sticky-header'] ) && $value['use-sticky-header'] === '1' ) {
		$value['use-sticky-header'] = '1'; // 明示的に '1' を設定
	} else {
		$value['use-sticky-header'] = ''; // チェックされていない場合は空文字を設定
	}

	/* コンテンツの幅 */
	/* セレクトボックス */
	if ( isset( $value['fix-header-contents-width'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['fix-header-contents-width'], array( '1', '2'), true ) ) {
			$value['fix-header-contents-width'] = intval( $value['fix-header-contents-width'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['fix-header-contents-width'] = isset( $original_value['fix-header-contents-width'] ) ? $original_value['fix-header-contents-width'] : ''; // 元の値を保持
		}
	} else {
		$value['fix-header-contents-width'] = '1';
	}

	/*** 固定ヘッダーの再利用ブロックID ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-reuse-id'] ) && is_string( $value['sticky-header-reuse-id'] ) ) {
		$value['sticky-header-reuse-id'] = sanitize_text_field( $value['sticky-header-reuse-id'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-reuse-id'] ) ) {
			$value['sticky-header-reuse-id'] = $original_value['sticky-header-reuse-id']; // 元の値を保持
		} else {
			$value['sticky-header-reuse-id'] = '';
		}
	}

	/*** 固定ヘッダーのサイトタイトル書き換え ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['sticky-header-s-title-alt-text'] ) && is_string( $value['sticky-header-s-title-alt-text'] ) ) {
		$value['sticky-header-s-title-alt-text'] = sanitize_text_field( $value['sticky-header-s-title-alt-text'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-s-title-alt-text'] ) ) {
			$value['sticky-header-s-title-alt-text'] = $original_value['sticky-header-s-title-alt-text']; // 元の値を保持
		} else {
			$value['sticky-header-s-title-alt-text'] = '';
		}
	}

	/*** 固定ヘッダーのキャッチフレーズ書き換え ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['sticky-header-s-descri-alt-text'] ) && is_string( $value['sticky-header-s-descri-alt-text'] ) ) {
		$value['sticky-header-s-descri-alt-text'] = sanitize_text_field( $value['sticky-header-s-descri-alt-text'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-s-descri-alt-text'] ) ) {
			$value['sticky-header-s-descri-alt-text'] = $original_value['sticky-header-s-descri-alt-text']; // 元の値を保持
		} else {
			$value['sticky-header-s-descri-alt-text'] = '';
		}
	}

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

	/*** タイトルの大きさ ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-title-text-size'] ) && is_string( $value['sticky-header-title-text-size'] ) ) {
		$value['sticky-header-title-text-size'] = sanitize_text_field( $value['sticky-header-title-text-size'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-title-text-size'] ) ) {
			$value['sticky-header-title-text-size'] = $original_value['sticky-header-title-text-size']; // 元の値を保持
		} else {
			$value['sticky-header-title-text-size'] = '';
		}
	}

	/*** キャッチフレーズの大きさ ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-catch-text-size'] ) && is_string( $value['sticky-header-catch-text-size'] ) ) {
		$value['sticky-header-catch-text-size'] = sanitize_text_field( $value['sticky-header-catch-text-size'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-catch-text-size'] ) ) {
			$value['sticky-header-catch-text-size'] = $original_value['sticky-header-catch-text-size']; // 元の値を保持
		} else {
			$value['sticky-header-catch-text-size'] = '';
		}
	}

	/*** サイトアイコンの大きさ ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-site-icon-size'] ) && is_string( $value['sticky-header-site-icon-size'] ) ) {
		$value['sticky-header-site-icon-size'] = sanitize_text_field( $value['sticky-header-site-icon-size'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-site-icon-size'] ) ) {
			$value['sticky-header-site-icon-size'] = $original_value['sticky-header-site-icon-size']; // 元の値を保持
		} else {
			$value['sticky-header-site-icon-size'] = '';
		}
	}

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

	/*** 背景の不透明度 ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-bg-opacity'] ) && is_string( $value['sticky-header-bg-opacity'] ) ) {
		$value['sticky-header-bg-opacity'] = sanitize_text_field( $value['sticky-header-bg-opacity'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-bg-opacity'] ) ) {
			$value['sticky-header-bg-opacity'] = $original_value['sticky-header-bg-opacity']; // 元の値を保持
		} else {
			$value['sticky-header-bg-opacity'] = '';
		}
	}

	/*** 表示を開始する距離 ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-start-position'] ) && is_string( $value['sticky-header-start-position'] ) ) {
		$value['sticky-header-start-position'] = sanitize_text_field( $value['sticky-header-start-position'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-start-position'] ) ) {
			$value['sticky-header-start-position'] = $original_value['sticky-header-start-position']; // 元の値を保持
		} else {
			$value['sticky-header-start-position'] = '';
		}
	}

	/*** フェードインの速度 ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-fadein-speed'] ) && is_string( $value['sticky-header-fadein-speed'] ) ) {
		$value['sticky-header-fadein-speed'] = sanitize_text_field( $value['sticky-header-fadein-speed'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-fadein-speed'] ) ) {
			$value['sticky-header-fadein-speed'] = $original_value['sticky-header-fadein-speed']; // 元の値を保持
		} else {
			$value['sticky-header-fadein-speed'] = '';
		}
	}

	/*** フェードアウトの速度 ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-fadeout-speed'] ) && is_string( $value['sticky-header-fadeout-speed'] ) ) {
		$value['sticky-header-fadeout-speed'] = sanitize_text_field( $value['sticky-header-fadeout-speed'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-fadeout-speed'] ) ) {
			$value['sticky-header-fadeout-speed'] = $original_value['sticky-header-fadeout-speed']; // 元の値を保持
		} else {
			$value['sticky-header-fadeout-speed'] = '';
		}
	}

	/*** 見出しへのページ内リンク遷移時にオフセットさせる ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['use-sticky-header_offset'] ) && $value['use-sticky-header_offset'] === '1' ) {
		$value['use-sticky-header_offset'] = '1'; // 明示的に '1' を設定
	} else {
		$value['use-sticky-header_offset'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** オフセット量 ***/
	/* テキストフィールド（数値） */
	if ( isset( $value['sticky-header-scroll-offset-val'] ) && is_string( $value['sticky-header-scroll-offset-val'] ) ) {
		$value['sticky-header-scroll-offset-val'] = sanitize_text_field( $value['sticky-header-scroll-offset-val'] ); // サニタイズ
	} else {
		if ( isset( $original_value['sticky-header-scroll-offset-val'] ) ) {
			$value['sticky-header-scroll-offset-val'] = $original_value['sticky-header-scroll-offset-val']; // 元の値を保持
		} else {
			$value['sticky-header-scroll-offset-val'] = '';
		}
	}

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