<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否
/***** カラーピッカーを使えるようにする *****/
function haumenu_submenu_ac_color_picker_init_for_tt2( $hook_suffix ) {
  // 実装したいページで var_dump( $hook_suffix ) 等して調べる.
  if ( 'ha-utilitiy_page_haumenu_page_blocktheme' === $hook_suffix ) {
    wp_enqueue_script( 'wp-color-picker' );
    wp_enqueue_style( 'wp-color-picker' );
    wp_add_inline_script(
      'wp-color-picker',
      'jQuery(document).ready(function($){
        $(\'.color-picker-hex\').wpColorPicker();
      });'
    );
  }
}
add_action( 'admin_enqueue_scripts', 'haumenu_submenu_ac_color_picker_init_for_tt2' );

/***** 規定値の設定 *****/
/* $parent_slug メインメニューのスラグ */
//haumenu_define_menu_slug()

/* $menu_slug サブメニューのスラグ */
function haumenu_define_slug_blocktheme(){
	return 'haumenu_page_blocktheme';
}

/*** アイキャッチ画像 ***/
/* セクションID */
function haumenu_define_section_id_01_blocktheme(){
	return 'haumenu-section-01-blocktheme';
}

/* タブのスラグ */
function haumenu_define_tab_slug_01_blocktheme(){
	return 'haumenu-tab-slug-01-blocktheme';
}

/* $option_group 設定グループ名 */
function haumenu_define_option_group_01_blocktheme(){
	return 'haumenu-option-group-01-blocktheme';
}

/* $option_name 設定名 */
function haumenu_define_option_name_01_blocktheme(){
	return 'hautility-option-01-blocktheme';
}

/* get_option */
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
function GetOP01_blocktheme(){
	$output = get_option(haumenu_define_option_name_01_blocktheme() , [] );
	return $output;
}

/*** 背景画像 ***/
/* セクションID */
function haumenu_define_section_id_02_blocktheme(){
	return 'haumenu-section-02-blocktheme';
}

/* タブのスラグ */
function haumenu_define_tab_slug_02_blocktheme(){
	return 'haumenu-tab-slug-02-blocktheme';
}

/* $option_group 設定グループ名 */
function haumenu_define_option_group_02_blocktheme(){
	return 'haumenu-option-group-02-blocktheme';
}

/* $option_name 設定名 */
function haumenu_define_option_name_02_blocktheme(){
	return 'hautility-option-02-blocktheme';
}

/* get_option */
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
function GetOP02_blocktheme(){
	$output = get_option(haumenu_define_option_name_02_blocktheme() , [] );
	return $output;
}

/*** クラシックウィジェット ***/
/* セクションID */
function haumenu_define_section_id_03_blocktheme(){
	return 'haumenu-section-03-blocktheme';
}

/* タブのスラグ */
function haumenu_define_tab_slug_03_blocktheme(){
	return 'haumenu-tab-slug-03-blocktheme';
}

/* $option_group 設定グループ名 */
function haumenu_define_option_group_03_blocktheme(){
	return 'haumenu-option-group-03-blocktheme';
}

/* $option_name 設定名 */
function haumenu_define_option_name_03_blocktheme(){
	return 'hautility-option-03-blocktheme';
}

/* get_option */
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
function GetOP03_blocktheme(){
	$output = get_option(haumenu_define_option_name_03_blocktheme() , [] );
	return $output;
}


/*****  サブメニューの追加 *****/
/* サブメニューの追加 */
function haumenu_add_submenu_blocktheme() {
	add_submenu_page(
		haumenu_define_menu_slug(), // $parent_slug メインメニューのスラグ
		__('For Block Theme','hima-art-utility'), //設定ページのタイトル
		__('For Block Theme','hima-art-utility'), //管理画面メニューに表示される名前
		'manage_options', // $capability 権限
		haumenu_define_slug_blocktheme(), // $menu_slug サブメニューのスラグ
		'haumenu_setting_screen_blocktheme', // $callback コールバック関数
		6 //$position サブメニューを表示する位置
	);
}
add_action( 'admin_menu', 'haumenu_add_submenu_blocktheme' );

/***** このサブメニューに表示させるセクションの登録 *****/
function haumenu_add_section_blocktheme(){
// アイキャッチ画像
	add_settings_section(
		haumenu_define_section_id_01_blocktheme(), // セクションID
		__('Featured Image Setting','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_01_blocktheme', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_01_blocktheme() // タブのスラグ
	);

// 背景画像
	add_settings_section(
		haumenu_define_section_id_02_blocktheme(), // セクションID
		__('Site Background Image','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_02_blocktheme', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_02_blocktheme() // タブのスラグ
	);

// クラシックウィジェット
	add_settings_section(
		haumenu_define_section_id_03_blocktheme(), // セクションID
		__('Add Classic Widgets','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_03_blocktheme', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_03_blocktheme() // タブのスラグ
	);
}
add_action('admin_init', 'haumenu_add_section_blocktheme');

/*** 説明文のコールバック ***/
/* アイキャッチ画像の説明文 */
function haumenu_section_callback_01_blocktheme() {
	$content01 =__('Additional settings related to the behavior and display of featured images','hima-art-utility');
	echo '<p>'.esc_html($content01).'</p>';
}

/* 背景画像の説明文 */
function haumenu_section_callback_02_blocktheme() {
	$content01 =__('This is a supplementary setting for the background image and background color specified in the block theme site editor.','hima-art-utility');
	echo '<p>'.esc_html($content01).'</p>';
}

/* クラシックウィジェットの説明文 */
function haumenu_section_callback_03_blocktheme() {
	$content01 =__('The widget function that was available in the classic theme can now be used in the block theme.','hima-art-utility');
	$content02 =__('When enabled, a "Widget" menu will be added to the "Appearance" menu. Clicking on this will take you to a screen where you can manage widgets as before.','hima-art-utility');
	$content03 =__('The widget contents will be displayed by inserting a shortcode into the block theme template. Please check the following items for the shortcode to be inserted.','hima-art-utility');
		echo '<p>'.esc_html($content01).'</p>';
		echo '<p>'.esc_html($content02).'</p>';
		echo '<p class="haup-admin-bk">'.esc_html($content03).'</p>';
}

/***** 設定グループを追加 *****/
function haumenu_register_setting_blocktheme(){
/* アイキャッチ画像 */
	register_setting(
		haumenu_define_option_group_01_blocktheme(), // $option_group 設定グループ名
		haumenu_define_option_name_01_blocktheme(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_blocktheme_fimage',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

/* 背景画像 */
	register_setting(
		haumenu_define_option_group_02_blocktheme(), // $option_group 設定グループ名
		haumenu_define_option_name_02_blocktheme(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_blocktheme_site_bg',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

/* クラシックウィジェット */
	register_setting(
		haumenu_define_option_group_03_blocktheme(), // $option_group 設定グループ名
		haumenu_define_option_name_03_blocktheme(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_blocktheme_widgets',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

}
add_action('admin_init', 'haumenu_register_setting_blocktheme');

/***** 設定画面内に表示させる内容 *****/
function haumenu_setting_screen_blocktheme() {
?>
<div class="wrap">
	<h1><?php esc_html_e('For Block Theme Utility','hima-art-utility'); ?></h1>
	<p><?php esc_html_e('Useful setting items when using block themes','hima-art-utility'); ?></p>
	<p style="color:red"><?php esc_html_e('We have tested it with some default WordPress themes, but we are not sure if it applies to all block themes.','hima-art-utility'); ?></p>

	<?php settings_errors(); //更新時のメッセージ表示?>
<?php
//クリックしたらタブを開く（初期はtabs_01を開く）
if ( ! isset( $_POST['haumenu_admin_panel_nonce_field'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash($_POST['haumenu_admin_panel_nonce_field'])), 'haumenu_admin_panel_nonce_action' ) ) {
if( isset( $_GET[ 'tab' ] )) {
	$active_tab = sanitize_text_field(wp_unslash($_GET[ 'tab' ]));
}else{
	$active_tab = 'tabs_01';
}
}
?>

	<?php //ページスラグとタブスラグを変更すること ?>
	<h2 class="nav-tab-wrapper">
		<a href="?page=<?php echo esc_html(haumenu_define_slug_blocktheme()); ?>&tab=tabs_01" class="nav-tab <?php echo $active_tab == 'tabs_01' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Featured Image Setting','hima-art-utility'); ?>
		</a>

		<a href="?page=<?php echo esc_html(haumenu_define_slug_blocktheme()); ?>&tab=tabs_02" class="nav-tab <?php echo $active_tab == 'tabs_02' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Site Background Image','hima-art-utility'); ?>
		</a>

		<a href="?page=<?php echo esc_html(haumenu_define_slug_blocktheme()); ?>&tab=tabs_03" class="nav-tab <?php echo $active_tab == 'tabs_03' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Classic Widget','hima-art-utility'); ?>
		</a>

	</h2>

<form action="options.php" method="post">
<?php wp_nonce_field( 'haumenu_admin_panel_nonce_action', 'haumenu_admin_panel_nonce_field' ); ?>

	<?php 
//詳細項目の「表示させるタブのスラグ」によって設定内容を表示させるタブを分ける
	if( $active_tab == 'tabs_01') { 
		settings_fields( haumenu_define_option_group_01_blocktheme() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_01_blocktheme() ); //タブのスラグ
	} elseif( $active_tab == 'tabs_02' ) { 
		settings_fields( haumenu_define_option_group_02_blocktheme() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_02_blocktheme() ); //タブのスラグ
	} elseif( $active_tab == 'tabs_03' ) { 
		settings_fields( haumenu_define_option_group_03_blocktheme() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_03_blocktheme() ); //タブのスラグ
	}else{}

		// 保存ボタンを生成
				submit_button(); 
		?>

	</form>
</div>
<?php
}




/*** 詳細設定項目の呼び出し ***/
/* アイキャッチ画像 */
require_once (__DIR__ .'/featured-image/setting.php');

/* 背景画像 */
require_once (__DIR__ .'/site-background/setting.php');

/* クラシックウィジェット */
require_once (__DIR__ .'/classic-widgets/setting.php');

/*** サニタイズ関数の呼び出し ***/
/* アイキャッチ画像 */
require_once (__DIR__ .'/featured-image/sanitize.php');

/* 背景画像 */
require_once (__DIR__ .'/site-background/sanitize.php');

/* クラシックウィジェット */
require_once (__DIR__ .'/classic-widgets/sanitize.php');