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

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

	/*** ブロックエディタへようこそ、フルスクリーンモードの無効 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['disable-popover-fulscreen'] ) && $value['disable-popover-fulscreen'] === '1' ) {
		$value['disable-popover-fulscreen'] = '1'; // 明示的に '1' を設定
	} else {
		$value['disable-popover-fulscreen'] = ''; // チェックされていない場合は空文字を設定
	}

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





	/*** フロントエンドの一覧を更新日順で出力する ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['list-control'] ) && $value['list-control'] === '1' ) {
		$value['list-control'] = '1'; // 明示的に '1' を設定
	} else {
		$value['list-control'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 一覧の[...]を変更するか ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['change-frontend-list-more-text'] ) && $value['change-frontend-list-more-text'] === '1' ) {
		$value['change-frontend-list-more-text'] = '1'; // 明示的に '1' を設定
	} else {
		$value['change-frontend-list-more-text'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** [...]の代替文字列 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['frontend-list-more-alternative-text'] ) && is_string( $value['frontend-list-more-alternative-text'] ) ) {
		$value['frontend-list-more-alternative-text'] = sanitize_text_field( $value['frontend-list-more-alternative-text'] ); // サニタイズ
	} else {
		if ( isset( $original_value['frontend-list-more-alternative-text'] ) ) {
			$value['frontend-list-more-alternative-text'] = $original_value['frontend-list-more-alternative-text']; // 元の値を保持
		} else {
			$value['frontend-list-more-alternative-text'] = '';
		}
	}

	/*** お気に入りブロックの選択 ***/
	/* 複数選択チェックボックス（配列データ） */
	if ( isset( $value['favorite-blocks'] ) && is_array( $value['favorite-blocks'] ) ) {
		// 配列の各要素（ブロックスラッグ）をきれいにサニタイズして新しい配列に格納
		$sanitized_blocks = array();
		foreach ( $value['favorite-blocks'] as $block_slug ) {
			// 文字列であること、かつ空文字でないことを確認してサニタイズ
			if ( is_string( $block_slug ) && ! empty( $block_slug ) ) {
				$sanitized_blocks[] = sanitize_text_field( $block_slug );
			}
		}
		// 重複した値が万が一混ざっていた場合は排除して格納
		$value['favorite-blocks'] = array_unique( $sanitized_blocks );
	} else {
		// 何もチェックが入っていない（送信データがない）場合は空の配列を設定
		$value['favorite-blocks'] = array();
	}

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