<?php
/**
 * Uninstall handler.
 *
 * プラグイン削除時にオプションと一時ファイルを除去する。
 *
 * @package Neutrope_Japanese_Invoice_PDFs_For_WooCommerce
 */

defined( 'WP_UNINSTALL_PLUGIN' ) || exit;

/**
 * Remove plugin data on uninstall.
 *
 * 関数スコープにまとめてグローバル変数汚染を避ける。
 *
 * @return void
 */
function wcjbp_uninstall_cleanup() {
	delete_option( 'wcjbp_settings' );

	// mPDF 一時ディレクトリの掃除（存在すれば）.
	$upload = wp_upload_dir();
	$dir    = trailingslashit( $upload['basedir'] ) . 'wcjbp-tmp';

	if ( ! is_dir( $dir ) ) {
		return;
	}

	$files = glob( trailingslashit( $dir ) . '*' );
	if ( is_array( $files ) ) {
		foreach ( $files as $file ) {
			if ( is_file( $file ) ) {
				wp_delete_file( $file );
			}
		}
	}

	// 空ディレクトリ削除。WP_Filesystem は uninstall 文脈で過剰なため直接呼ぶ.
	// phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_rmdir, WordPress.PHP.NoSilencedErrors.Discouraged
	@rmdir( $dir );
}

wcjbp_uninstall_cleanup();
