<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否
/***** 規定値の設定 *****/
/* $parent_slug メインメニューのスラグ */
//haumenu_define_menu_slug()

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

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

/*** GAタグ ***/
/* セクションID */
function haumenu_define_section_id_01_ana_ad(){
	return 'haumenu-section-01-ana-ad';
}

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

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

/* $option_name 設定名 */
function haumenu_define_option_name_01_ana_ad(){
	return 'hautility-option-01-ana-ad';
}

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

/*** GAタグ（サブ） ***/
/* セクションID */
function haumenu_define_section_id_02_ana_ad(){
	return 'haumenu-section-02-ana-ad';
}

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

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

/* $option_name 設定名 */
function haumenu_define_option_name_02_ana_ad(){
	return 'hautility-option-02-ana-ad';
}

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

/*** Matomoタグ ***/
/* セクションID */
function haumenu_define_section_id_03_ana_ad(){
	return 'haumenu-section-03-ana-ad';
}

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

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

/* $option_name 設定名 */
function haumenu_define_option_name_03_ana_ad(){
	return 'hautility-option-03-ana-ad';
}

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

/*** Adsense ***/
/* セクションID */
function haumenu_define_section_id_04_ana_ad(){
	return 'haumenu-section-04-ana-ad';
}

/* タブのスラグ */
function haumenu_define_tab_slug_04_ana_ad(){
	return 'haumenu-tab-slug-04-ana-ad';
}

/* $option_group 設定グループ名 */
function haumenu_define_option_group_04_ana_ad(){
	return 'haumenu-option-group-04-ana-ad';
}

/* $option_name 設定名 */
function haumenu_define_option_name_04_ana_ad(){
	return 'hautility-option-04-ana-ad';
}

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

/*** H2タグ前コンテンツ ***/
/* セクションID */
function haumenu_define_section_id_05_ana_ad(){
	return 'haumenu-section-05-ana-ad';
}

/* タブのスラグ */
function haumenu_define_tab_slug_05_ana_ad(){
	return 'haumenu-tab-slug-05-ana-ad';
}

/* $option_group 設定グループ名 */
function haumenu_define_option_group_05_ana_ad(){
	return 'haumenu-option-name-05-ana-ad';
}

/* $option_name 設定名 */
function haumenu_define_option_name_05_ana_ad(){
	return 'hautility-option-05-ana-ad';
}

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

/*****  サブメニューの追加 *****/
/* サブメニューの追加 */
function haumenu_add_submenu_ana_ad() {
	add_submenu_page(
		haumenu_define_menu_slug(), // $parent_slug メインメニューのスラグ
		__('Analytics & Ad','hima-art-utility'),  //$page_title ページのタイトル
		__('Analytics & Ad','hima-art-utility'), //$menu_title メニューのタイトル
		'manage_options', // $capability 権限
		haumenu_define_slug_ana_ad(), // $menu_slug サブメニューのスラグ
		'haumenu_setting_screen_ana_ad', // $callback コールバック関数
		3 //$position サブメニューを表示する位置
	);
}
add_action( 'admin_menu', 'haumenu_add_submenu_ana_ad' );

/***** このサブメニューに表示させるセクションの登録 *****/
function haumenu_add_section_ana_ad(){
// GAタグ
	add_settings_section(
		haumenu_define_section_id_01_ana_ad(), // セクションID
		__('Google Analytics Analysis Tag','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_01_ana_ad', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_01_ana_ad() // タブのスラグ
	);

// GAタグ（サブ）
	add_settings_section(
		haumenu_define_section_id_02_ana_ad(), // セクションID
		__('Google Analytics Analysis Tag for This Site Onry','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_02_ana_ad', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_02_ana_ad() // タブのスラグ
	);

// Matomoタグ
	add_settings_section(
		haumenu_define_section_id_03_ana_ad(), // セクションID
		__('Matomo Analysis Tag','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_03_ana_ad', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_03_ana_ad() // タブのスラグ
	);

// Adsense
	add_settings_section(
		haumenu_define_section_id_04_ana_ad(), // セクションID
		__('Google Adsense Tag','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_04_ana_ad', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_04_ana_ad() // タブのスラグ
	);

// H2タグ前コンテンツ
	add_settings_section(
		haumenu_define_section_id_05_ana_ad(), // セクションID
		__('Before H2 tag insert content','hima-art-utility'), // セクションタイトル
		'haumenu_section_callback_05_ana_ad', // セクションの説明を表示するコールバック関数
		haumenu_define_tab_slug_05_ana_ad() // タブのスラグ
	);
}
add_action('admin_init', 'haumenu_add_section_ana_ad');

/*** 説明文のコールバック ***/
/* GAタグの説明文 */
function haumenu_section_callback_01_ana_ad() {
	$content01 =__('Automatically insert Google Analytics access analysis tags into the page footer','hima-art-utility');
	echo '<p>'.esc_html($content01).'</p>';
}

/* GAタグの説明文 */
function haumenu_section_callback_02_ana_ad() {
	$content01 =__('You can output another access analysis tag when you want to perform GA4 analysis different from the main site on a site installed in a subdirectory.','hima-art-utility');
	$content02 =__('If it is duplicated with the measurement ID above, it will be double counted, so be sure to create a web stream for this site and set the "measurement ID" on the "web stream details" screen.','hima-art-utility');
	echo '<p>'.esc_html($content01).'</p>';
	echo '<p>'.esc_html($content02).'</p>';
}

/* Matomoタグの説明文 */
function haumenu_section_callback_03_ana_ad() {
	$content01 =__('Automatically insert Matomo access analysis tags into the page footer','hima-art-utility');
	echo '<p>'.esc_html($content01).'</p>';
}

/* アドセンスの説明文 */
function haumenu_section_callback_04_ana_ad() {
	$content01 =__('Automatically insert Google Adsense ad script into page footer.','hima-art-utility');
	$content01b = __('If auto ads are turned on in Adsense settings, ads will be displayed just by setting this item.','hima-art-utility');
	$content02 =__('To enable this feature, remove the following code from all Adsense ad tags','hima-art-utility');
	$content02b =__('&lt;script async src=&quot;https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js ?client=Adsense ID&quot;
      crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;','hima-art-utility');
	$content03 =__('If this function is enabled and auto ads are enabled on the Adsense management screen, auto ads will be enabled.','hima-art-utility');
	$content03b =__('If you enable this function and want to disable auto ads, please disable auto ads from the "Ads" setting on the Adsense management screen.','hima-art-utility');
		echo '<p>'.esc_html($content01).'<br>'.esc_html($content01b).'</p>';
		echo '<p style="color:red;font-weight:bold;">'.esc_html($content02).'<br>'.esc_html($content02b).'</p>';
		echo '<p style="color:green;font-weight:bold;">'.esc_html($content03b).'<br>'.esc_html($content03).'</p>';
}

/* H2タグ前コンテンツの説明文 */
function haumenu_section_callback_05_ana_ad() {
	$content01 =__('A function that inserts content such as advertisements before the H2 tag in the text of posts and fixed pages.','hima-art-utility');
	$content02 =__('H2 tags inserted by other plugins and H2 tags in reusable blocks are ignored, so they may not be inserted at the correct position.','hima-art-utility');
	echo '<p>'.esc_html($content01).'</p>';
	echo '<p style="color:red;">'.esc_html($content02).'</p>';
}

/***** 設定グループを追加 *****/
function haumenu_register_setting_ana_ad(){
/* GAタグ */
	register_setting(
		haumenu_define_option_group_01_ana_ad(), // $option_group 設定グループ名
		haumenu_define_option_name_01_ana_ad(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_anaad_ga',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

/* GAタグ（サブ） */
	register_setting(
		haumenu_define_option_group_02_ana_ad(), // $option_group 設定グループ名
		haumenu_define_option_name_02_ana_ad(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_anaad_ga_sub',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);


/* Matomoタグ */
	register_setting(
		haumenu_define_option_group_03_ana_ad(), // $option_group 設定グループ名
		haumenu_define_option_name_03_ana_ad(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_anaad_matomo',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

/* Adsense */
	register_setting(
		haumenu_define_option_group_04_ana_ad(), // $option_group 設定グループ名
		haumenu_define_option_name_04_ana_ad(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_anaad_adsense',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

/* H2タグ前コンテンツ */
	register_setting(
		haumenu_define_option_group_05_ana_ad(), // $option_group 設定グループ名
		haumenu_define_option_name_05_ana_ad(), // $option_name 設定名
		[
			'sanitize_callback' => 'haumenu_sanitize_anaad_before_h2',
		] //$args サニタイズ（データの無害化）関数の呼び出し
	);

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


/***** 設定画面内に表示させる内容 *****/
function haumenu_setting_screen_ana_ad() {
?>
<div class="wrap">
	<h1><?php esc_html_e('HimaArt Utilitiy GA & Adsense Setting','hima-art-utility'); ?></h1>
	<p><?php esc_html_e('Setting screen for site optimization and SEO related items','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_ana_ad()); ?>&tab=tabs_01" class="nav-tab <?php echo $active_tab == 'tabs_01' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Google Analytics Analysis Tag','hima-art-utility'); ?>
		</a>

		<a href="?page=<?php echo esc_html(haumenu_define_slug_ana_ad()); ?>&tab=tabs_02" class="nav-tab <?php echo $active_tab == 'tabs_02' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Google Analytics Analysis Tag for This Site Onry','hima-art-utility'); ?>
		</a>

		<a href="?page=<?php echo esc_html(haumenu_define_slug_ana_ad()); ?>&tab=tabs_03" class="nav-tab <?php echo $active_tab == 'tabs_03' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Matomo Analytics Analysis Tag','hima-art-utility'); ?>
		</a>

		<a href="?page=<?php echo esc_html(haumenu_define_slug_ana_ad()); ?>&tab=tabs_04" class="nav-tab <?php echo $active_tab == 'tabs_04' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Google Adsense Tag','hima-art-utility'); ?>
		</a>

		<a href="?page=<?php echo esc_html(haumenu_define_slug_ana_ad()); ?>&tab=tabs_05" class="nav-tab <?php echo $active_tab == 'tabs_05' ? 'nav-tab-active' : ''; ?>">
			<?php esc_html_e('Before H2 tag insert content','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_ana_ad() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_01_ana_ad() ); //タブのスラグ
	} elseif( $active_tab == 'tabs_02' ) { 
		settings_fields( haumenu_define_option_group_02_ana_ad() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_02_ana_ad() ); //タブのスラグ
	} elseif( $active_tab == 'tabs_03' ) { 
		settings_fields( haumenu_define_option_group_03_ana_ad() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_03_ana_ad() ); //タブのスラグ
	} elseif( $active_tab == 'tabs_04' ) { 
		settings_fields( haumenu_define_option_group_04_ana_ad() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_04_ana_ad() ); //タブのスラグ
	} elseif( $active_tab == 'tabs_05' ) { 
		settings_fields( haumenu_define_option_group_05_ana_ad() ); //$option_group 設定グループ名
		do_settings_sections( haumenu_define_tab_slug_05_ana_ad() ); //タブのスラグ
	}else{}

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

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












/*** 詳細設定項目の呼び出し ***/
/* Googleアナリティクスタグ */
require_once (__DIR__ .'/ga/setting.php');

/* Googleアナリティクスタグ サブ */
require_once (__DIR__ .'/ga-sub/setting.php');

/* Matomoアナリティクスタグ */
require_once (__DIR__ .'/matomo/setting.php');

/* Adsenseタグ */
require_once (__DIR__ .'/adsense/setting.php');

/* H2タグ前コンテンツ挿入 */
require_once (__DIR__ .'/before-h2/setting.php');

/*** サニタイズ関数の呼び出し ***/
/* Googleアナリティクスタグ */
require_once (__DIR__ .'/ga/sanitize.php');

/* Googleアナリティクスタグ サブ */
require_once (__DIR__ .'/ga-sub/sanitize.php');

/* Matomoアナリティクスタグ */
require_once (__DIR__ .'/matomo/sanitize.php');

/* Adsenseタグ */
require_once (__DIR__ .'/adsense/sanitize.php');

/* H2タグ前コンテンツ挿入 */
require_once (__DIR__ .'/before-h2/sanitize.php');