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

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

	/*** スライドインコンテンツの有効化 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['enable-slidein-content'] ) && $value['enable-slidein-content'] === '1' ) {
		$value['enable-slidein-content'] = '1'; // 明示的に '1' を設定
	} else {
		$value['enable-slidein-content'] = ''; // チェックされていない場合は空文字を設定
	}

	/* 開くボタンの位置 */
	/* セレクトボックス */
	if ( isset( $value['slidein-content-open-button-align'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['slidein-content-open-button-align'], array( '1', '2' ), true ) ) {
			$value['slidein-content-open-button-align'] = intval( $value['slidein-content-open-button-align'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['slidein-content-open-button-align'] = isset( $original_value['slidein-content-open-button-align'] ) ? $original_value['slidein-content-open-button-align'] : ''; // 元の値を保持
		}
	} else {
		$value['slidein-content-open-button-align'] = '1';
	}

	/*** モバイルでは表示しない ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['disable-slidein-content-mobile'] ) && $value['disable-slidein-content-mobile'] === '1' ) {
		$value['disable-slidein-content-mobile'] = '1'; // 明示的に '1' を設定
	} else {
		$value['disable-slidein-content-mobile'] = ''; // チェックされていない場合は空文字を設定
	}

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

	/*** 開くボタンのダッシュアイコン ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['slidein-content-open-button-dashicon'] ) && is_string( $value['slidein-content-open-button-dashicon'] ) ) {
		$value['slidein-content-open-button-dashicon'] = sanitize_text_field( $value['slidein-content-open-button-dashicon'] ); // サニタイズ
	} else {
		if ( isset( $original_value['slidein-content-open-button-dashicon'] ) ) {
			$value['slidein-content-open-button-dashicon'] = $original_value['slidein-content-open-button-dashicon']; // 元の値を保持
		} else {
			$value['slidein-content-open-button-dashicon'] = '';
		}
	}

	/*** 閉じるボタンのダッシュアイコン ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['slidein-content-close-button-dashicon'] ) && is_string( $value['slidein-content-close-button-dashicon'] ) ) {
		$value['slidein-content-close-button-dashicon'] = sanitize_text_field( $value['slidein-content-close-button-dashicon'] ); // サニタイズ
	} else {
		if ( isset( $original_value['slidein-content-close-button-dashicon'] ) ) {
			$value['slidein-content-close-button-dashicon'] = $original_value['slidein-content-close-button-dashicon']; // 元の値を保持
		} else {
			$value['slidein-content-close-button-dashicon'] = '';
		}
	}

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

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

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

	/*** コンテンツの幅（PC） ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['slidein-content-pc-width'] ) && is_string( $value['slidein-content-pc-width'] ) ) {
		$value['slidein-content-pc-width'] = sanitize_text_field( $value['slidein-content-pc-width'] ); // サニタイズ
	} else {
		if ( isset( $original_value['after-title-any-string'] ) ) {
			$value['slidein-content-pc-width'] = $original_value['slidein-content-pc-width']; // 元の値を保持
		} else {
			$value['slidein-content-pc-width'] = '';
		}
	}

	/*** コンテンツの幅（モバイル） ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['slidein-content-mob-width'] ) && is_string( $value['slidein-content-mob-width'] ) ) {
		$value['slidein-content-mob-width'] = sanitize_text_field( $value['slidein-content-mob-width'] ); // サニタイズ
	} else {
		if ( isset( $original_value['after-title-any-string'] ) ) {
			$value['slidein-content-mob-width'] = $original_value['slidein-content-mob-width']; // 元の値を保持
		} else {
			$value['slidein-content-mob-width'] = '';
		}
	}

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