Appearance
ADM-012 ヒートマップ島図管理画面
概要
- ホール別の期間と 詳細/簡易 2 種のレイアウト CSV を
db_heatmap_layoutに登録・日付更新・削除する管理画面。 - WordPress 設定サブメニューとして登録。操作は multipart POST(CSV アップロード含む)とリダイレクト通知。admin-ajax は使用しない。
外部インターフェース
管理画面 URL
| 項目 | 値 |
|---|---|
| URL | /wp-admin/options-general.php?page=heatmap-layout-admin |
| メニュー名 | ヒートマップ島図 |
| 権限 | manage_options |
フォーム POST(同期)
POST options-general.php?page=heatmap-layout-admin(enctype="multipart/form-data" が必要な操作あり)。
heatmap_layout_action 値 | 処理 |
|---|---|
insert | 新規行挿入(ホール・開始終了日+詳細/簡易 CSV ファイル必須) |
update_dates | 既存行の開始・終了日のみ更新 |
delete | 既存行削除 |
Nonce フィールド: heatmap_layout_nonce(検証アクション: heatmap_layout_admin)
主な POST パラメータ
| フィールド | 操作 | 説明 |
|---|---|---|
heatmap_layout_id | update_dates/delete | 対象 ID |
heatmap_layout_hall | insert | ホールキー(日別記事で利用可能なホールに限定) |
heatmap_layout_start_date | insert/update_dates | Y-m-d 形式 |
heatmap_layout_end_date | insert/update_dates | Y-m-d 形式 |
file_detail | insert | 詳細レイアウト CSV($_FILES。最大 2MB、MIME/拡張子チェック) |
file_simple | insert | 簡易レイアウト CSV(同上) |
リダイレクト後クエリ(通知)
| クエリ | 内容 |
|---|---|
hl_success | 1 / 0 |
hl_msg | メッセージ |
編集 GET
| GET パラメータ | 説明 |
|---|---|
hl_edit | 編集対象行 ID |
データ
テーブル: db_heatmap_layout
| カラム | 説明 |
|---|---|
id | 主キー |
hall | ホール |
start_date / end_date | 適用期間(日付文字列) |
layout_detail / layout_simple | 元 CSV 文字列(UTF-8) |
created_at / updated_at | タイムスタンプ |
エラー
| 条件 | ユーザー向け挙動 | メッセージ / ログ |
|---|---|---|
| nonce 不正 | リダイレクト | Messages::AUTH_FAILED |
| ホール・日付・CSV 不備 | リダイレクト | HEATMAP_LAYOUT_* 系(必須・形式・サイズ・MIME 等) |
| CSV パース失敗 | リダイレクト | Messages::HEATMAP_LAYOUT_CSV_PARSE_ERROR |
| DB 例外 | リダイレクト+ログ | [HeatmapLayoutAdminPage] insert/update_dates/delete failed |