=== KantanPro ===
Contributors: KantanPro
Tags: business, order management, customer management, invoice, report, staff chat, mobile responsive
Requires at least: 5.0
Tested up to: 6.9.1
Requires PHP: 7.4
Stable tag: 1.2.46
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

スモールビジネス向けの仕事効率化システム。受注・顧客・サービス・協力会社・レポート・スタッフチャットまで一元管理。

== 説明 ==

KantanProは、WordPress上で以下の業務を一元管理できる多機能プラグインです。

**主要機能：**
- **6つの管理タブ**（仕事リスト・伝票処理・顧客・サービス・協力会社・レポート）
- **受注案件の進捗管理**（7段階：受注→進行中→完了→請求→支払い→ボツ→見積中）
- **受注書・請求書の作成・編集・PDF保存**（個別・一括出力対応）
- **顧客・サービス・協力会社のマスター管理**（検索・ソート・ページネーション）
- **スタッフチャット**（自動スクロール・削除連動・AJAX送信・キーボードショートカット）
- **モバイル対応UI**（gap→margin対応、iOS/Android実機対応、タッチ操作最適化）
- **部署管理機能**（顧客ごとの部署・担当者管理）
- **利用規約管理機能**（同意ダイアログ・管理画面・バージョン管理・表示対象の最適化）
- **シンプル更新システム**（WordPress標準の更新システムに最適化）
- **セキュリティ機能**（XSS/CSRF/SQLi/権限管理/ファイル検証/ノンス/prepare文）
- **セッション管理最適化**（REST API・AJAX・内部リクエスト対応）
- **ページネーション機能**（全タブ・ポップアップ対応・一般設定連携）
- **ファイル添付機能**（ドラッグ&ドロップ・複数ファイル・自動クリーンアップ）
- **完了日自動設定機能**（進捗変更時の自動処理）
- **納期警告機能**（期限管理・アラート表示）
- **商品管理機能**（価格・数量・単位管理・データマイグレーション対応）
- **スタッフアバター表示機能**（ログイン中スタッフの可視化）
- **プラグインリファレンス機能**（包括的なヘルプシステム）
- **寄付機能**（Stripe決済・セキュアな決済処理・進捗管理・自動メール送信）
- **自動マイグレーション機能**（データベース更新の安定化）
- **データベース整合性チェック機能**（データ品質向上）
- **消費税対応機能**（軽減税率・税区分対応の強化）
- **パフォーマンス最適化機能**（キャッシュ・クエリ最適化・メモリ効率化）
- **協力会社職能選択の改善**（ページネーション・検索・ソート機能の強化）
- **アイコンのSVG化**（Material SymbolsからSVGアイコンへの完全移行）
- **進捗アイコンのSVG化**（仕事リストタブの進捗フィルターアイコンをSVG化）
- **消費税対応の改善**（税率計算・表示の最適化）
- **受注書のコスト項目更新処理の改善**（リアルタイム保存・値変更検知・エラーハンドリング強化）
- **受注書のコスト項目発注メールの改善**（適格請求書対応・詳細な税額内訳・計算根拠明示）
- **請求書プレビューが閉じない問題を修正**
- **パフォーマンスの向上**（キャッシュシステム最適化・データベースクエリ効率化・メモリ使用量最適化・画像最適化・JavaScript・CSS最適化・セッション管理最適化・Ajax通信最適化）
- **マイグレーション中にエラー解消**（データベース更新処理の安定化・エラーハンドリング強化）
- **利用規約の表示対象を修正**（より適切な対象への変更）
- **URL生成問題１−１の修正**（動的パーマリンク取得による環境非依存のURL生成）
- **モバイル表示の改善**（レスポンシブデザイン強化・タッチ操作最適化・モバイル専用UI改善）
- **更新チェック問題テスト**（更新システムの安定性向上・バグ修正・パフォーマンス最適化）
- **KantanPro License Managerプラグインの連携１−１**（ライセンス管理システムとの統合・ライセンス検証機能・ライセンス情報管理・レート制限機能・セキュアなAPI通信）
- **ダミーデータツール機能**（管理画面でのテストデータ作成・顧客・サービス・協力会社・受注データの一括生成）
- **レポート機能**（売上レポート・顧客レポート・サービスレポート・協力会社レポート・期間別分析・グラフ表示機能・データエクスポート機能・ライセンス認証連携）

== インストール ==

1. プラグインを `/wp-content/plugins/` にアップロード、または管理画面からインストール
2. プラグインを有効化（自動マイグレーションが実行されます）
3. 固定ページに `[ktpwp_all_tab]` を挿入
4. 管理画面「KantanPro」から基本設定を行ってください

== 基本的な使い方 ==

1. **固定ページに `[ktpwp_all_tab]` を挿入**すると、6つのタブが表示されます
2. **各タブで顧客・サービス・協力会社・受注書・レポート等を管理**
3. **伝票編集時は「サービス選択」ポップアップから商品を追加**
4. **受注書・請求書はPDFで出力可能**（個別・一括対応）
5. **モバイルでも快適に操作可能**（レスポンシブデザイン）
6. **スタッフチャットでリアルタイムコミュニケーション**（Ctrl+Enter送信対応）
7. **ヘルプボタンで使用方法を確認**
8. **顧客管理で部署・担当者を管理**
9. **利用規約に同意してから利用開始**（表示対象の最適化）
10. **ファイル添付でメール送信も可能**
11. **寄付機能でプラグイン開発をサポート**

== 管理タブの詳細 ==

**1. 仕事リストタブ**
- 受注案件の一覧表示・検索・フィルタリング機能
- 進捗状況による絞り込み
- 顧客名・案件名での検索
- 納期・金額でのソート
- ページネーション機能

**2. 伝票処理タブ**
- 受注書・請求書の作成・編集
- PDF出力機能（個別・一括対応）
- サービス選択ポップアップ
- スタッフチャット機能
- ファイル添付機能

**3. 顧客タブ**
- 顧客情報の登録・編集・削除
- 部署・担当者管理
- 顧客別の受注履歴表示
- 検索・ソート・ページネーション

**4. サービスタブ**
- サービス・商品の登録・編集・削除
- 価格・数量・単位管理
- カテゴリー別管理
- 検索・ソート・ページネーション

**5. 協力会社タブ**
- 協力会社情報の登録・編集・削除
- 職能・スキル管理
- 協力会社別の案件履歴
- 検索・ソート・ページネーション

**6. レポートタブ**
- 月別売上レポート
- 進捗状況の統計
- グラフ表示機能
- データエクスポート機能

== スタッフチャット機能 ==
- リアルタイムメッセージ送信（AJAX対応）
- 自動スクロール機能
- キーボードショートカット（Ctrl+Enter）
- メッセージ削除連動機能
- ログイン中スタッフのアバター表示

== 部署管理機能 ==
- 顧客ごとの部署・担当者管理
- 部署別のメールアドレス設定
- 請求書への部署情報反映
- 部署の追加・編集・削除機能

== 利用規約管理機能 ==
- 利用規約の同意ダイアログ表示
- 管理画面での利用規約編集
- 利用規約バージョン管理
- 同意状態の追跡

== シンプル更新システム ==
- WordPress標準の更新システムに完全対応
- 軽量で安定性を重視した設計
- 自動マイグレーション機能搭載

== ページネーション機能 ==
- 全タブでの統一されたページネーション
- サービス選択ポップアップ対応
- 一般設定による表示件数制御
- レスポンシブデザイン対応

== ファイル添付機能 ==
- ドラッグ&ドロップによるファイル添付
- 複数ファイル同時添付（最大50MB）
- 対応形式：PDF、画像、Office文書、圧縮ファイル
- 自動クリーンアップ機能
- リアルタイムプレビュー

== 完了日自動設定機能 ==
- 進捗ステータス変更時の自動処理
- 完了時の自動日付設定
- 受注以前への変更時の自動クリア
- 仕事リスト・受注書詳細両対応

== 納期警告機能 ==
- 期限間近の案件への警告マーク表示
- リアルタイム更新対応
- ツールチップでの残り日数表示

== 商品管理機能 ==
- 商品名・単価・数量・単位の管理
- DECIMAL型による精密な価格計算
- デフォルト値設定（数量：1、単位：式）
- インデックス最適化によるパフォーマンス向上
- データマイグレーション機能（職能→商品管理への移行）

== スタッフアバター表示機能 ==
- ログイン中スタッフのアバター一覧表示
- 現在のユーザーを強調表示
- レスポンシブデザイン対応
- ツールチップでユーザー名表示
- セッション管理との連携

== プラグインリファレンス機能 ==
- 包括的なヘルプシステム
- 機能別詳細ガイド
- トラブルシューティング情報
- キャッシュ機能付きの高速表示
- モーダルベースの使いやすいUI

== 寄付機能 ==
- Stripe決済による安全な寄付システム
- 複数の寄付金額オプション
- 寄付進捗のリアルタイム表示
- 寄付完了後の自動メール送信
- 管理画面での寄付履歴確認
- フロントエンド通知システム

== 自動マイグレーション機能 ==
- データベース更新の自動化
- 安全なデータ移行
- バージョン管理による段階的更新
- エラーハンドリングとロールバック機能

== データベース整合性チェック機能 ==
- データ品質の自動チェック
- 不整合データの検出と修復
- 定期的な整合性確認
- データベースパフォーマンスの最適化

== 消費税対応機能 ==
- 税制モードは「消費税あり / 消費税なし」の2択
- 消費税なしを選ぶと税率/税額列や内訳表示を自動で非表示
- 消費税ありの場合：一律税率を設定すると全明細に適用、未入力なら複数税率運用
- 軽減税率（8%・10%）対応
- 内税・外税の管理
- 税区分ラベルの統一
- 消費税計算ロジックの最適化（切り上げ）
- 請求書・受注書・メール本文での税表示の一貫制御

== パフォーマンス最適化機能 ==
- **キャッシュシステム**（トランジェント・オブジェクトキャッシュ）
- **データベースクエリ最適化**（インデックス・JOIN最適化）
- **メモリ使用量最適化**（効率的なデータ構造）
- **画像最適化**（WebP変換・圧縮）
- **JavaScript最適化**（非同期読み込み・バンドル化）
- **CSS最適化**（不要なスタイル削除・圧縮）
- **セッション管理最適化**（自動クローズ・メモリ効率化）
- **Ajax通信最適化**（バッチ処理・レスポンス圧縮）

== セキュリティ機能 ==
- **SQLインジェクション防止**（prepare文・バインド変数）
- **XSS・CSRF対策**（サニタイズ・エスケープ・ノンス）
- **ファイルアップロード検証**（MIME型・サイズ制限）
- **権限管理・安全なDBアクセス**（ロールベースアクセス制御）
- **ノンス・トークンによるフォーム保護**（CSRF攻撃防止）
- **REST API制限**（ログインユーザーのみアクセス可能）
- **セッション管理最適化**（内部リクエスト・API呼び出し時の自動クローズ）
- **gap→margin対応によるUI崩れ防止**（iOS/Android実機対応）

== システム要件 ==
 
== 開発者向け: ライセンス認証（KLM連携）実装・調査ガイド ==

- **対象**: 任意のプラグインから KLM（KantanPro License Manager）へのライセンス認証
- **参考**: [KantanPro公式サイト](https://www.kantanpro.com/)

--- 基本仕様 ---
- **エンドポイント（維持）**: POST `/wp-json/ktp-license/v1/verify`
- **Content-Type**: `application/x-www-form-urlencoded`
- **パラメータ**:
  - `license_key`（必須）
  - `site_url`（任意だが推奨。紐付け比較あり）
  - `plugin_version`（任意）
- **レスポンス（例）**:
  - 成功: `{ success:true, valid:true, message, data }`
  - 失敗: `{ success:false, valid:false, message, error_code }`

--- 実装サンプル（cURL） ---
`--data-urlencode` でURLエンコード必須。記号やパイプ(`|`)が含まれても安全に送信されます。
```bash
curl -sS -X POST \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'license_key=PREFIX-123456-ABCDEFGH-1234' \
  --data-urlencode 'site_url=https://example.com' \
  --data-urlencode 'plugin_version=1.2.3' \
  https://www.kantanpro.com/wp-json/ktp-license/v1/verify
```

--- 失敗しやすいポイント（必読） ---
1) **エンコード形式ミス**
   - JSON送信や未エンコード送信でキーが破損（例: `+`→空白、`|`欠落）
2) **文字種の揺れ**
   - 大文字/小文字、全角/半角、ゼロ幅スペース、Unicodeハイフン（‐, –, —）
   - 原則「英大文字・数字・ハイフン」基準。大文字化・不可視文字除去・ダッシュ統一を推奨
3) **site_url 不一致**
   - 比較は正規化（http/https、www有無、末尾スラッシュ差は無視）。別サイトなら `site_mismatch`
4) **事前バリデーションが厳しすぎる**
   - クライアント側は「非空」または緩和。KLM側に最終判定を委譲
5) **レート制限/タイムアウト**
   - レート制限: 1時間に100回。指数バックオフ/再試行を実装
6) **中継/セキュリティ層**
   - WAF/CDN/プロキシが `|`, `<`, `>` をブロック/改変。ログで到達ペイロードを確認

--- 期待挙動（受け入れ基準） ---
- **生成と検証の一致（100%）**
- **記号を含む既存キー**はKLM側フォールバックで受理可能（`invalid_format`は原則返さない）
- **site_url** は正規化比較で誤検知最小化
- 失敗時は必ず `message` と `error_code` を返却

--- 切り分けのために添えてほしい情報（報告テンプレ） ---
- **license_key**: `XXXX-XXXXXX-XXXX...`（先頭以外は一部マスク可）
- **site_url**: 実際に送った値
- **plugin_version**: 例 `2.3.37`
- **実行時刻**（JST ±10分）
- **送信方式**: `application/x-www-form-urlencoded`（YES/NO）
- **エンコード方法**: `--data-urlencode` 相当（YES/NO）
- **レスポンス原文**（HTTPステータス/JSON）
- **ネットワーク**: CDN/WAF/プロキシの有無

--- デバッグ用（任意） ---
到達と内部判定を可視化します。
```bash
curl -sS -X POST \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'license_key=PREFIX-123456-ABCDEFGH-1234' \
  --data-urlencode 'site_url=https://example.com' \
  https://www.kantanpro.com/wp-json/ktp-license/v1/debug
```

--- 実装チェックリスト ---
- [ ] フォームエンコード（`--data-urlencode`）で送信している
- [ ] 送信前にトリム/大文字化/不可視文字除去を実施
- [ ] 事前バリデーションは「非空のみ」または緩和（KLMへ委譲）
- [ ] レスポンスの `success/valid/error_code` を正しく判定
- [ ] レート制限時のバックオフ/再試行を実装
- [ ] WAF/CDNの例外設定（該当リクエストパス/メソッド/パラメータ）

--- 備考 ---
- `site_url` は KLM側で正規化比較（http/https、www、末尾スラッシュ差は一致扱い）
- 既存キー（記号含む）は KLM側フォールバックで最大限受理（`invalid_format` は原則出ません）

* WordPress 5.0 以上（推奨：最新版）
* PHP 7.4 以上（推奨：PHP 8.0以上）
* MySQL 5.6 以上 または MariaDB 10.0 以上
* 推奨メモリ: 256MB 以上
* 推奨PHP拡張: GD（画像処理用）

== 変更履歴 ==

= 1.2.46 - 2026年04月18日 =
* レポートタブのレイアウトを協力会社タブと揃える修正
    * `css/ktp-report.css` の `#report_content { margin-top: 8px !important; }` がタブパネル全体に効き、メインタブと本文の間に隙間が出る問題を修正（`.ktp_plugin_container .tab_content#report_content` にスコープし margin/padding 上を 0 に）
    * `styles.css` で `#report_content` を受注書用の下マージン付きルールから分離し、協力会社等のタブと同じ余白ルールに統一
    * レポートのサブタブ行（`generate_controller`）を協力会社と同様、外側 `.controller` にインライン style を付けず `.ktp-report-controller` でレイアウト
    * モバイル・印刷用の `#report_content` 指定を本文カード（`.ktp-report-print-area`）中心に整理
* コントローラー周りの過剰な全タブ共通 `!important` 上書きを整理

= 1.2.45 - 2026年04月18日 =
* サービス／協力会社タブのメモ欄クリック時にブラウザがフリーズする問題を多層で解消
    * 他プラグイン（Gomoku Game 等）の $(document) 委譲・MutationObserver による干渉を、KantanProページでのみ自動除外（ktpwp_interfering_asset_handles フィルターで拡張可能）
    * サービス／協力会社／顧客／レポート／リストタブでは受注書専用の重いJS（ktp-invoice-items 等）を読み込まないよう制御
    * メモ textarea に CSS containment（contain: layout style）と独立合成レイヤー化を適用し、レイアウト再計算を閉じ込め
    * Grammarly 等のブラウザ拡張・翻訳による介入を抑止する属性（spellcheck, data-gramm 他）を textarea に付与
    * KTPWP プレフィックス付き console.log をデフォルトで抑制し、DevTools 起動時のメインスレッド詰まりを防止（localStorage / URLパラメータ / 定数で verbose 復活可）
    * 各タブ専用JS（ktp-invoice-items / ktp-cost-items / ktp-client-delete-popup / ktp-delivery-dates）に対象DOM不在時の早期returnを追加
* プラグイン削除時のデータ保持設定機能を追加
    * 「一般設定」に「プラグイン削除時のデータ保持設定」セクションを追加し、「データを残す（推奨）／完全削除」を選択可能
    * プラグイン一覧画面の KantanPro 行に現在の削除モードをバッジ表示、横の「変更」リンクから設定画面へ直接ジャンプ
    * 「削除」リンク押下時に、現在のモードに応じた確認ダイアログを表示（完全削除時は復元不可の警告）
    * uninstall.php を新設し、「完全削除」選択時に ktp_* テーブル、ktp_*/ktpwp_* 系オプション・トランジェント、ユーザーメタ、投稿メタ、KantanPro系cronを一括削除（マルチサイト対応）
* 詳細フォームをリスト列より前面に固定し、タブの pointer-events を撤去
* タブ表示をサーバー側クラスで確定し、兄弟セレクタのみに依存しないよう堅牢化
* サービス・協力会社のレイアウトを顧客タブに合わせて統一
* タブ内の重複IDを解消し、タブレイアウトの重なりを防止
* View_Table 内の setcookie を headers_sent でガードし、ヘッダー送出後の警告を防止
* タブパネルをラジオと兄弟DOMに戻し全タブ表示を修正。ショートコードの tab_name を POST 優先にし、ベースURLの page_id 取得を改善

= 1.2.44 - 2026年04月18日 =
* 新規インストール判定（ktpwp_is_new_installation）の論理不整合を修正。メインの ktp_* テーブルにデータがあるのにオプション未設定等で新規扱いになる問題を解消
* マイグレーション履歴オプションの検索を `ktp_migration_%` にも対応（実際のフラグ名と一致）

= 1.2.43 - 2026年04月18日 =
* タブビュー（TabsView）で各タブの本体HTMLを `#list_content`〜`#report_content` の要素内に配置し、CSS（`#tab:checked ~ #*_content`）と整合。協力会社タブなどで本文が真っ白に見える問題を修正
* タブのアクティブ表示で `tab_name` を POST 優先とし、ショートコード側のタブコンテンツ生成と一致させる

= 1.2.42 - 2026年04月18日 =
* 協力会社職能の追加・削除POSTを template_redirect でテーマ出力より前に処理し、投稿名パーマリンク等でヘッダー送出後にリダイレクトできず真っ白になる問題を修正（早期処理時のエラーは GET パラメータで通知）

= 1.2.41 - 2026年04月18日 =
* 協力会社職能の追加・削除フォームに tab_name / data_id を付与し、POST 時も協力会社タブとして確実に処理されるよう改善
* 職能追加・削除後のリダイレクトを強化（Referer 欠如時は HTTP_HOST + REQUEST_URI で組み立て、tab_name・data_id を明示、nocache_headers を付与）

= 1.2.40 - 2026年04月18日 =
* 協力会社タブで職能の追加・削除後に画面が真っ白になる問題を修正（リダイレクト先をフルURLで組み立て、wp_safe_redirect に統一）

= 1.2.39 - 2026年04月18日 =
* 新規インストール等で協力会社職能テーブル（ktp_supplier_skills）が作成されず職能を追加できない問題を修正（プラグイン有効化時のテーブル作成、未作成時の自己修復、コスト項目用AJAX対応）

= 1.2.38 - 2026年04月08日 =
* 中央バナーのキャッシュキーを修正し、enabledフラグの判定ロジックを改善

= 1.2.37 - 2026年04月08日 =
* KTP Bannerの配信条件を修正し、中央バナー設定の有効化チェックを追加

= 1.2.36 - 2026年04月08日 =
* 中央バナー設定に配布用画像URL、リンクURL、代替テキストの設定項目を追加し、バナー表示のフォールバック処理を改善
* 初回有効化後の管理画面リダイレクト機能を追加し、リライトルールの再生成処理を追加

= 1.2.35 - 2026年03月28日 =
* バナー表示のスタイルを改善

= 1.2.34 - 2026年03月27日 =
* 中央バナー設定を追加（設定画面・REST API配信ルートを実装）
* ヘッダー上バナー表示を改善（中央設定優先・外部JSON参照対応・旧ktp-banner設定との互換維持）

= 1.2.33 - 2026年03月27日 =
* ページネーションとフッターの間に外部プラグインの差し込み領域を追加
* ヘッダー上にバナー表示機能を追加し、ショートコードからの描画を改善

= 1.2.32 - 2026年03月21日 =
* 印刷機能を改善（チャートのボーダー設定削除、印刷時のスタイル復元と表示一貫性向上）

= 1.2.31 - 2026年03月21日 =
* 印刷機能を改善（チャートの印刷時スタイル復元、ボーダー設定調整、表示一貫性向上）

= 1.2.30 - 2026年03月20日 =
* 印刷機能を改善（プレビュー／ポップアップUIを削除し、印刷処理を直接実行）
* 印刷データ作成・取得失敗時のエラーハンドリングを強化（アラート表示を追加）
* 印刷ボタンラベルを「印刷」に統一し、関連JavaScript処理を更新

= 1.2.29 - 2026年03月20日 =
* 振込先口座情報を請求書・見積書に追加（設定オプション対応）
* 自社情報ボックスHTML生成とAjaxレスポンス反映を改善

= 1.2.28 - 2026年03月19日 =
* 印刷用スタイルを改善（ヘッダー・フッター位置調整、リスト表示最適化、余白設定）
* 印刷用スタイルに警告バッジのCSSを追加（警告マークの表示強化、印刷時の可読性向上）

= 1.2.27 - 2026年03月19日 =
* 納期・入金予定日（支払期日）超過の警告表示を改善（請求日超過・支払期日超過の警告バッジ追加、表示ロジックの修正）
* 印刷機能を強化（隠しiframeでの印刷ダイアログ、ファイル名生成・サニタイズ、ラベルを「印刷する」に変更、全件取得オプション追加）
* 検索機能のプレースホルダーを改善（入力なし時に「フリーワード」表示、aria-labelでアクセシビリティ向上）
* 仕事リスト行に顧客会社名リンクを追加（顧客タブへのリンク実装、スタイル改善）

= 1.2.26 - 2026年03月17日 =
* 印刷ポップアップの閉じるボタンのイベントバインディングを修正（無名関数を使用して可読性を向上）

= 1.2.25 - 2026年03月17日 =
* レポートタブの顧客・サービス売上TOP5表示を改善（データがない場合のメッセージ追加、期間デフォルトを「all_time」に変更）
* レポートタブの印刷機能を強化（印刷用JavaScript追加、グラフキャンバスのスタイル調整、背景色に応じた可読性確保）
* 仕事リストの印刷ボタン機能を改善（印刷対象エリアの追加、印刷用JavaScriptの読み込み処理を実装）

= 1.2.24 - 2026年03月17日 =
* フリーワード検索機能を追加（検索結果表示メソッドの実装、コントローラーのレイアウト調整、検索フォームの追加）

= 1.2.23 - 2026年03月17日 =
* マイグレーションファイルの出力を抑制し、ダッシュボードへのリダイレクト機能を削除
* エラーハンドリングを改善し、出力バッファの管理を追加

= 1.2.22 - 2026年03月17日 =
* データベース更新通知メッセージの文言を統一（旧文言が残っている場合に新文言に置き換える処理を追加）

= 1.2.21 - 2026年03月17日 =
* プラグイン更新直後にダッシュボードへリダイレクトする機能を追加
* データベース更新通知のメッセージを改善（KantanPro設定ページへのリンクを追加、ユーザーへの案内を明確化）

= 1.2.20 - 2026年03月17日 =
* データベース更新通知の表示を改善（KantanPro設定ページでのみ表示するように修正、メッセージのフォーマットを簡素化、ボタンのスタイルを調整）

= 1.2.19 - 2025年03月15日 =
* 売上台帳PDF生成機能の改善（自社名の取得と表示を追加、月別売上サマリーのレイアウト修正、テーブル罫線の統一、JavaScriptスタイルの調整）
* ダークモード表示を改善

= 1.2.18 - 2025年03月15日 =
* モバイルのレポートグラフ表示を改善

= 1.2.17 - 2025年03月15日 =
* 警告バッチ：受注を追加

= 1.2.16 - 2025年03月15日 =
* WooCommerce連携：税率の取得を追加
* 支払いタイミングのセレクタを追加

= 1.2.15 - 2025年03月15日 =
* コスト項目の金額合計と利益を即時計算・表示する機能を追加（利益表示の更新ロジックを修正）

= 1.2.14 - 2025年03月15日 =
* 完了日保存失敗を修正

= 1.2.13 - 2025年03月15日 =
* WooCommerce対応調整

= 1.2.12 - 2025年03月15日 =
* WooCommerce対応完了

= 1.2.11 - 2025年03月15日 =
* WooCommerceの注文がKantanProに同期されない原因を調査・対応

= 1.2.10 - 2025年03月15日 =
* WooCommerce連携を追加（WooCommerce読み込み時にKantanProへ受注を自動追加、クラス存在チェックと連携クラスの初期化を実装）
* 翻訳の早期読み込みに関するNoticeを抑制するフィルターを追加（WooCommerce関連プラグインでのリダイレクト失敗を防ぐため、_load_textdomain_just_in_timeのエラートリガーを無効化）

= 1.2.9 - 2025年03月15日 =
* プラグイン更新結果画面での通知表示を改善（更新直後に「更新が利用可能です」と表示されないように条件を追加）

= 1.2.8 - 2025年03月15日 =
* 「次にやること」を更新画面の上部（admin_notices）に表示するよう変更

= 1.2.7 - 2025年03月15日 =
* 納期警告判定の改善（不正な日付をスキップする処理を追加）
* 前入金済ラベルの追加（案件情報に前入金済ラベルを表示）

= 1.2.6 - 2025年03月15日 =
* プラグイン更新後の案内機能を追加（マイグレーション成功時に「次にやること」を表示、管理画面フッターに案内メッセージ追加、エラーメッセージをユーザー向けに改善）

= 1.2.5 - 2025年03月15日 =
* マイグレーション状態チェックの条件を改善（KantanPro設定ページでの重複表示を避けるため表示条件を追加）

= 1.2.4 - 2025年03月15日 =
* DB更新

= 1.2.3 - 2025年03月15日 =
* 前入金済対応
* 請求書プレビュー修正

= 1.2.2 - 2025年02月19日 =
* 進捗更新機能を改善
  - メール送信後に完了日を含むレスポンスを返すように変更し、フロントエンドでの進捗表示をリアルタイムで更新
  - AJAX設定を統一し、コードの可読性を向上
* 進捗更新機能を強化
  - メール送信後に進捗を自動更新し、完了日を実行日で記録
  - AJAXによる進捗フォームの送信処理を改善し、ユーザーが進捗を柔軟に変更可能に
* 受注書でのメール送信バグを修正

= 1.2.1 - 2025年02月17日 =
* 発注済みのコスト項目の更新機能を強化
  - Ajax処理でのデータベース更新を新旧形式に対応
  - UI表示を「に発注済み」に変更
  - 発注メール送信後にコスト項目を自動更新する機能を追加
* 検索機能の改善
  - リダイレクト処理を更新し、検索結果が見つかった場合にno_resultsパラメータを削除
  - 関連するクラスでのリダイレクトURLの整形を統一

= 1.2.0 - 2025年02月17日 =
* 検索機能の改善
  - リダイレクト処理を更新し、検索結果が1件の場合にフォームを閉じて詳細を表示するように変更
  - no_results用パラメータをリダイレクトから削除

= 1.1.9 - 2025年02月17日 =
* 検索機能の改善
  - リダイレクト処理にno_resultsパラメータを追加し、該当なしメッセージの表示を強化
  - 複数結果表示のためのHTML構造をhidden divに変更し、スクリプトで読み取る方式に更新
  - リダイレクト処理を協力会社タブと同様の方式に統一

= 1.1.7 - 2026年02月16日 =
* 検索機能の改善（未入力時のリダイレクト処理と該当なしメッセージの表示を追加）

= 1.1.6 - 2026年02月16日 =
* 検索機能の改善（検索モードのメッセージ表示とGETリクエストの安全性向上）
* サービスタブの検索バグを修正

= 1.1.5 - 2026年02月16日 =
* サービスタブの検索機能に関する不具合を修正

= 1.1.4 - 2026年02月16日 =
* 発注書メール送信の不具合を修正
* 顧客・サービス・協力会社タブの検索機能に関する不具合を修正

= 1.1.3 - 2025年02月15日 =
* コスト項目フォーム内の受注ID取得ロジックを改善

= 1.1.2 - 2026年01月30日 =
* 受注書のタブの上のみワーニング表示を修正
* フッターの無効な利用規約テキストリンクを削除
* データリストア機能のUI改善
  - リストア処理の進行状況を表示するプログレスバーを追加
  - ユーザー体験を向上させるための視覚的なフィードバックを強化

= 1.1.1 - 2025年09月24日 =
* AJAXハンドラーの重複登録防止機能を追加
  - 重複登録によるエラーを防止し、システムの安定性を向上
  - ログ出力を改善し、デバッグモード時のAjaxリクエスト監視を強化
  - ログレベルを追加して本番環境でのログ出力を制御
  - パフォーマンスの向上とメモリ使用量の最適化

= 1.1.0 - 2025年09月20日 =
* 管理メニューのアイコンを更新
  - データツールのアイコンをデータベースエクスポートから金色の星に変更
  - 視覚的な強調を追加し、ユーザーの注目を集めるように改善
* バックアップ機能のUI改善
  - 設定ページのバックアップ機能に関するメッセージとボタンのテキストを更新
  - 視覚的な強調を追加し、ユーザーに対する呼びかけを強化
  - ライセンス設定の案内を明確化
* システム名と説明の更新
  - 設定ページでのシステム名を「KantanPro」に変更
  - システムの説明を「個人事業主・フリーランス・小規模ビジネスのための売管理システムです。」に変更
* バックアップ機能のライセンスチェックを追加
  - 設定ページにライセンスの有効性を確認する機能を実装
  - 無効な場合はライセンス購入を促すメッセージを表示
* データリストア機能の実装
  - インポート機能をリストアに変更し、関連する処理とUIを更新
  - 既存データの削除処理を追加
  - リストア成功/失敗時の通知を実装
* バックアップ機能の名称変更
  - データ処理ページをバックアップページに改名
  - 関連するメニュータイトルを更新

= 1.0.31 - 2025年09月09日 =
* AJAX設定の統一化の改善
  - 不要なajaxConfigの取得を削除
  - コードの簡素化を図る
  - パフォーマンスの向上

= 1.0.30 - 2025年09月09日 =
* AJAX設定の統一化
  - AJAX URLとnonceの取得方法を一元化
  - デバッグログを改善
  - コードの可読性と保守性を向上
* ライセンス認証の実装ガイドをreadme.txtに追加
  - ライセンスキーの形式チェックを軽減
  - JavaScriptでの許容文字チェックを実装
  - エラーメッセージを改善
* プラグインバージョンの動的定義を実装
  - フッターの利用規約リンク表示をクラスで特定するように改善
  - 既存のリンクチェック機能を強化

= 1.0.29 - 2025年09月07日 =
* ライセンス管理クラスの改善
  - ライセンスキーの正規化処理を追加
  - APIリクエストのエラーログを強化
  - AJAXハンドラでのnonce検証を厳格化
  - 失敗時のフォールバック処理を実装
* キャッシュ管理クラスと関連JavaScriptファイルを削除し、プラグインの軽量化を図る
* レポート機能の修正と改善
  - レポート表示の安定性向上
  - データ処理の最適化

= 1.0.28 - 2025年01月27日 =
* ヘルプのリンク先を修正
* ファイル・クラス名の統一を実施
* 受注書プレビュー印刷を閉じる際のバグ修正

= 1.0.26 - 2025年08月14日 =
* 消費税制モード修正

= 1.0.25 - 2025年08月13日 =
* サーバー移転対応
  - サーバー移転時のためのデータ処理機能を追加（エクスポート/インポート補助、URL/パス置換、エンコード正規化、ドライラン、ログ出力）

= 1.0.23 - 2025年08月11日 =
* 消費税モード対応
  - 税制モード「消費税あり / 消費税なし」の切替を追加
  - 税率/税額列や内訳表示の自動表示制御
  - 請求書・受注書・メール本文の税表示を一貫制御

= 1.0.22 - 2025年08月09日 =
* ダミーデータツールの改善

= 1.0.21 - 2025年01月31日 =
* ダミーデータツールの改善
  - テストデータ作成機能の最適化
  - データ生成処理の安定化
  - ユーザビリティの向上

= 1.0.20 - 2025年01月31日 =
* 自動マイグレーション機能の改善
  - データベース更新処理の安定化
  - エラーハンドリングの強化
  - マイグレーション安全性の向上
  - バージョン管理の最適化

= 1.0.19 - 2025年01月31日 =
* 更新チェック問題修正
* リポジトリ名を修正（KantanPro/KantanPro-a- → KantanPro/KantanPro）

= 1.0.18 - 2025年08月05日 =
* 更新チェック問題修正
* リポジトリ名を修正（KantanPro/KantanPro-a- → KantanPro/KantanPro）
* ダミーデータ作成スクリプトの配布対応

= 1.0.16 - 2025年08月06日 =
* 協力会社のエラーを修正

= 1.0.15 - 2025年08月05日 =
* ライセンス無効時のレポートタブ修正

= 1.0.14 - 2025年08月04日 =
* 自動マイグレーション機能の改善

= 1.0.13 - 2025年8月4日 =
* 自動マイグレーション機能の改善

= 1.0.12 - 2025年8月4日 =
* ライセンスステータスの改善
* ライセンス無効中のレポート表示の改善

= 1.0.10(a) - 2025年8月2日 =
* ３桁カンマ問題の修正
* サービス選択からの入力改善

= 1.0.9(a) - 2025年8月2日 =
* ダミーデータツールの改善

= 1.0.7(a) - 2025年8月1日 =
* ダミーデータツールの改善
* 詳細タイトルの表示改善

= 1.0.6(a) - 2025年8月1日 =
* ダミーデータツールの改善
* ライセンスキー設定の表示改善

= 1.0.4(a) - 2025年7月31日 =
* レポート機能の追加・改善
  - 売上レポート機能の実装
  - 顧客レポート機能の実装
  - サービスレポート機能の実装
  - 協力会社レポート機能の実装
  - 期間別分析機能の実装
  - グラフ表示機能の実装（Chart.js対応）
  - データエクスポート機能の実装
  - ライセンス認証連携機能の実装
  - レポートセレクター機能の実装
  - リアルタイムデータ更新機能の実装

= 1.0.2(a) - 2025年7月30日 =
* ダミーデーターツール改善

= 1.0.1(a) - 2025年7月30日 =
* ダミーデーターツール実装
* 基本的レポート機能実装

= 1.0.0(a) - 2025年7月29日 =
* ktpa開発開始

== よくある質問 ==

**Q: プラグインの動作が重い場合は？**
A: パフォーマンス最適化機能により、キャッシュシステムやデータベースクエリの最適化が自動的に行われます。それでも重い場合は、サーバーのメモリ設定を確認してください。

**Q: モバイルで表示が崩れる場合は？**
A: gap→margin対応により、iOS/Android実機での表示崩れを防止しています。最新のブラウザを使用してください。

**Q: データベースエラーが発生した場合は？**
A: 自動マイグレーション機能により、データベースの更新が自動的に行われます。プラグインを再有効化してください。

**Q: セキュリティは大丈夫ですか？**
A: XSS・CSRF・SQLインジェクション対策、ファイルアップロード検証、権限管理など、包括的なセキュリティ機能を実装しています。

== スクリーンショット ==

1. 管理タブ画面
2. 受注書編集画面
3. スタッフチャット画面
4. モバイル対応画面
5. レポート画面



== アップグレード通知 ==

プラグインの更新は、WordPress標準の更新システムで自動的に通知されます。