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

function haumenu_sanitize_utility_post_edit($value){
		$value = (array) $value;
	$original_value = get_option('hautility-option-01-utility'); // 元の値を保持

	/*** ブロックへ選択式のデザインを追加 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['use-block-design'] ) && $value['use-block-design'] === '1' ) {
		$value['use-block-design'] = '1'; // 明示的に '1' を設定
	} else {
		$value['use-block-design'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 警告　タブ付き段落デザインの見出し文字列 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['warn-para-block-header-prefix'] ) && is_string( $value['warn-para-block-header-prefix'] ) ) {
		$value['warn-para-block-header-prefix'] = sanitize_text_field( $value['warn-para-block-header-prefix'] ); // サニタイズ
	} else {
		if ( isset( $original_value['warn-para-block-header-prefix'] ) ) {
			$value['warn-para-block-header-prefix'] = $original_value['warn-para-block-header-prefix']; // 元の値を保持
		} else {
			$value['warn-para-block-header-prefix'] = '';
		}
	}

	/*** 注意　タブ付き段落デザインの見出し文字列 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['notice-para-block-header-prefix'] ) && is_string( $value['notice-para-block-header-prefix'] ) ) {
		$value['notice-para-block-header-prefix'] = sanitize_text_field( $value['notice-para-block-header-prefix'] ); // サニタイズ
	} else {
		if ( isset( $original_value['notice-para-block-header-prefix'] ) ) {
			$value['notice-para-block-header-prefix'] = $original_value['notice-para-block-header-prefix']; // 元の値を保持
		} else {
			$value['notice-para-block-header-prefix'] = '';
		}
	}

	/*** チェック　タブ付き段落デザインの見出し文字列 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['info-para-block-header-prefix'] ) && is_string( $value['info-para-block-header-prefix'] ) ) {
		$value['info-para-block-header-prefix'] = sanitize_text_field( $value['info-para-block-header-prefix'] ); // サニタイズ
	} else {
		if ( isset( $original_value['info-para-block-header-prefix'] ) ) {
			$value['info-para-block-header-prefix'] = $original_value['info-para-block-header-prefix']; // 元の値を保持
		} else {
			$value['info-para-block-header-prefix'] = '';
		}
	}

	/*** アイディア　タブ付き段落デザインの見出し文字列 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['idea-para-block-header-prefix'] ) && is_string( $value['idea-para-block-header-prefix'] ) ) {
		$value['idea-para-block-header-prefix'] = sanitize_text_field( $value['idea-para-block-header-prefix'] ); // サニタイズ
	} else {
		if ( isset( $original_value['idea-para-block-header-prefix'] ) ) {
			$value['idea-para-block-header-prefix'] = $original_value['idea-para-block-header-prefix']; // 元の値を保持
		} else {
			$value['idea-para-block-header-prefix'] = '';
		}
	}

	/*** 区切り線のアイコン背景色を指定 ***/
	/* テキストフィールド（HEX色） */
	if ( isset( $value['separate-icon-bg'] ) && is_string( $value['separate-icon-bg'] ) ) {
		$value['separate-icon-bg'] = sanitize_hex_color( $value['separate-icon-bg'] ); // サニタイズ
	} else {
		if ( isset( $original_value['separate-icon-bg'] ) ) {
			$value['separate-icon-bg'] = $original_value['separate-icon-bg']; // 元の値を保持
		} else {
			$value['separate-icon-bg'] = '';
		}
	}

	/*** 条件分岐グループで会員ログインを促す時のパターンのID ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['cond-group-block-login-pattern-id'] ) && is_string( $value['cond-group-block-login-pattern-id'] ) ) {
		$value['cond-group-block-login-pattern-id'] = sanitize_text_field( $value['cond-group-block-login-pattern-id'] ); // サニタイズ
	} else {
		if ( isset( $original_value['cond-group-block-login-pattern-id'] ) ) {
			$value['cond-group-block-login-pattern-id'] = $original_value['cond-group-block-login-pattern-id']; // 元の値を保持
		} else {
			$value['cond-group-block-login-pattern-id'] = '';
		}
	}

	/*** アコーディオンアニメーションの有効化 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['accordion-block-animation'] ) && $value['accordion-block-animation'] === '1' ) {
		$value['accordion-block-animation'] = '1'; // 明示的に '1' を設定
	} else {
		$value['accordion-block-animation'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** アコーディオンアニメーションの条件 ***/
	/* セレクトボックス */
	if ( isset( $value['accordion-block-animation-conditions'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['accordion-block-animation-conditions'], array( '1', '2' ), true ) ) {
			$value['accordion-block-animation-conditions'] = intval( $value['accordion-block-animation-conditions'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['accordion-block-animation-conditions'] = isset( $original_value['accordion-block-animation-conditions'] ) ? $original_value['accordion-block-animation-conditions'] : ''; // 元の値を保持
		}
	} else {
		$value['accordion-block-animation-conditions'] = '1';
	}

	/*** アコーディオンの見出しレベルを変更 ***/
	/* セレクトボックス */
	if ( isset( $value['change-accordion-heading-level'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['change-accordion-heading-level'], array( '1', '2','3','4','5','6' ), true ) ) {
			$value['change-accordion-heading-level'] = intval( $value['change-accordion-heading-level'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['change-accordion-heading-level'] = isset( $original_value['change-accordion-heading-level'] ) ? $original_value['change-accordion-heading-level'] : ''; // 元の値を保持
		}
	} else {
		$value['change-accordion-heading-level'] = '3';
	}

	/*** クリックグループのクリック時に管理者へメールを送信 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['send-mail-at-group-clicked'] ) && $value['send-mail-at-group-clicked'] === '1' ) {
		$value['send-mail-at-group-clicked'] = '1'; // 明示的に '1' を設定
	} else {
		$value['send-mail-at-group-clicked'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 文字単位の装飾 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['use-editor-extend'] ) && $value['use-editor-extend'] === '1' ) {
		$value['use-editor-extend'] = '1'; // 明示的に '1' を設定
	} else {
		$value['use-editor-extend'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** ブロック一覧を１列表示する ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['block-select-single-column'] ) && $value['block-select-single-column'] === '1' ) {
		$value['block-select-single-column'] = '1'; // 明示的に '1' を設定
	} else {
		$value['block-select-single-column'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** ブロックに枠線を付ける ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['block-border'] ) && $value['block-border'] === '1' ) {
		$value['block-border'] = '1'; // 明示的に '1' を設定
	} else {
		$value['block-border'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** グループに枠線を付ける ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['grouping-block-border'] ) && $value['grouping-block-border'] === '1' ) {
		$value['grouping-block-border'] = '1'; // 明示的に '1' を設定
	} else {
		$value['grouping-block-border'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** スペーサーブロックに色付けする ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['admin-spacer-block-bg-color'] ) && $value['admin-spacer-block-bg-color'] === '1' ) {
		$value['admin-spacer-block-bg-color'] = '1'; // 明示的に '1' を設定
	} else {
		$value['admin-spacer-block-bg-color'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 編集画面のタグをリスト表示 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['editor-tag-list-display'] ) && $value['editor-tag-list-display'] === '1' ) {
		$value['editor-tag-list-display'] = '1'; // 明示的に '1' を設定
	} else {
		$value['editor-tag-list-display'] = ''; // チェックされていない場合は空文字を設定
	}

		/*** カテゴリーの単一選択 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['single-category-selection'] ) && $value['single-category-selection'] === '1' ) {
		$value['single-category-selection'] = '1'; // 明示的に '1' を設定
	} else {
		$value['single-category-selection'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 更新日のコントロール ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['post-moddate'] ) && $value['post-moddate'] === '1' ) {
		$value['post-moddate'] = '1'; // 明示的に '1' を設定
	} else {
		$value['post-moddate'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 更新日のコントロールのデフォルト値 ***/
	/* セレクトボックス */
	if ( isset( $value['post-moddate-default'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['post-moddate-default'], array( '1', '2', '3' ), true ) ) {
			$value['post-moddate-default'] = intval( $value['post-moddate-default'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['post-moddate-default'] = isset( $original_value['post-moddate-default'] ) ? $original_value['post-moddate-default'] : ''; // 元の値を保持
		}
	} else {
		$value['post-moddate-default'] = '1';
	}

	/*** 同期パターンの案内 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['disable-reuse-block-edit'] ) && $value['disable-reuse-block-edit'] === '1' ) {
		$value['disable-reuse-block-edit'] = '1'; // 明示的に '1' を設定
	} else {
		$value['disable-reuse-block-edit'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** クイック編集で更新日を更新しない ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['quick-edit-control'] ) && $value['quick-edit-control'] === '1' ) {
		$value['quick-edit-control'] = '1'; // 明示的に '1' を設定
	} else {
		$value['quick-edit-control'] = ''; // チェックされていない場合は空文字を設定
	}



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