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

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

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

	/*** Google Adsense ユーザーID ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['adsense-user-id'] ) && is_string( $value['adsense-user-id'] ) ) {
		$value['adsense-user-id'] = sanitize_text_field( $value['adsense-user-id'] ); // サニタイズ
	} else {
		if ( isset( $original_value['adsense-user-id'] ) ) {
			$value['adsense-user-id'] = $original_value['adsense-user-id']; // 元の値を保持
		} else {
			$value['adsense-user-id'] = '';
		}
	}

	/*** 管理ユーザーにはAdsenseスクリプトタグを出力しない ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['insert-adsense-tag-without-user'] ) && $value['insert-adsense-tag-without-user'] === '1' ) {
		$value['insert-adsense-tag-without-user'] = '1'; // 明示的に '1' を設定
	} else {
		$value['insert-adsense-tag-without-user'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** Adsenseスクリプトタグの遅延出力 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['google-adsense-delay'] ) && $value['google-adsense-delay'] === '1' ) {
		$value['google-adsense-delay'] = '1'; // 明示的に '1' を設定
	} else {
		$value['google-adsense-delay'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** トップページでは出力しない ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['disable-adsense-autotag-frontpage'] ) && $value['disable-adsense-autotag-frontpage'] === '1' ) {
		$value['disable-adsense-autotag-frontpage'] = '1'; // 明示的に '1' を設定
	} else {
		$value['disable-adsense-autotag-frontpage'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** アドセンスの広告ブロックによる損失収益の回復用のスクリプトを出力する ***/
	if ( isset( $value['hadsense-ad-blocking-recovery-messages'] ) && $value['hadsense-ad-blocking-recovery-messages'] === '1' ) {
		$value['hadsense-ad-blocking-recovery-messages'] = '1'; // 明示的に '1' を設定
	} else {
		$value['hadsense-ad-blocking-recovery-messages'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** 損失収益の回復用のスクリプトの識別ID ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['adsense-recovery-messages-id'] ) && is_string( $value['adsense-recovery-messages-id'] ) ) {
		$value['adsense-recovery-messages-id'] = sanitize_text_field( $value['adsense-recovery-messages-id'] ); // サニタイズ
	} else {
		if ( isset( $original_value['adsense-recovery-messages-id'] ) ) {
			$value['adsense-recovery-messages-id'] = $original_value['adsense-recovery-messages-id']; // 元の値を保持
		} else {
			$value['adsense-recovery-messages-id'] = '';
		}
	}


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