=== SG Business Calendar ===
Requires at least: 6.0
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

営業日・定休日の表示に特化した軽量WordPressプラグインです。
複数の営業カレンダー、週定休、臨時休業日、取消日、休日色、1〜3か月表示に対応します。

== Description ==

SG Business Calendar は、店舗・事業所などの営業日／定休日カレンダーを表示するための軽量プラグインです。
Google カレンダーなどの外部サービスは不要で、WordPress 管理画面内だけで設定できます。

主な機能:

* 複数カレンダー作成（例: eigyo / seibi / shop）
* 毎週の定休日を曜日チェックで設定
* 臨時休業日を YYYY-MM-DD 形式で追加
* 取消日（通常は定休日だが、その日だけ営業）を YYYY-MM-DD 形式で追加
* カラーピッカー／16進カラーコードで休日色を指定
* 1〜3か月表示
* 前月・翌月移動（通常はページ再読み込みなし）
* JavaScript 無効時は GET 方式で月送り
* 日曜赤、土曜青、当日青、前後月グレー
* レスポンシブ対応
* ショートコード対応

本プラグインは XO Event Calendar の公式後継・改変版ではありません。
営業日・定休日カレンダーという用途のために独自実装したプラグインです。

== Installation ==

1. ZIP ファイルを WordPress 管理画面の「プラグイン」→「新規プラグインを追加」→「プラグインのアップロード」からアップロードします。
2. 「SG Business Calendar」を有効化します。
3. 管理画面の「営業カレンダー」からカレンダーを作成します。
4. 表示したいページやテンプレートにショートコードを設置します。

== Shortcodes ==

基本:

`[sg_business_calendar calendar="eigyo"]`

2か月表示・過去へ戻らない・3か月先まで:

`[sg_business_calendar calendar="eigyo" previous="0" next="3" months="2"]`

全カレンダーの休日をまとめて表示:

`[sg_business_calendar calendar="all"]`

凡例を非表示:

`[sg_business_calendar calendar="eigyo" legend="0"]`

PHP テンプレートから:

`<?php echo do_shortcode('[sg_business_calendar calendar="eigyo"]'); ?>`

== Security ==

本プラグインは攻撃面を小さくするため、機能を営業カレンダー用途に限定しています。

* 管理画面操作は `manage_options` 権限を確認
* 保存・削除処理は WordPress nonce で CSRF 対策
* カレンダー ID、タイトル、色、日付を検証・サニタイズ
* HTML 出力時にエスケープ処理
* WordPress Options API で保存（独自 SQL なし）
* 公開 AJAX エンドポイントなし
* REST API エンドポイントなし
* ファイルアップロード機能なし
* 外部 API 通信なし
* `eval()` 等の動的 PHP 実行なし

どのソフトウェアについても「脆弱性が絶対に存在しない」ことは保証できません。
利用環境の WordPress / PHP をサポートされているバージョンに保ち、プラグインも最新版を使用してください。

== Data ==

設定データは WordPress Options API を使用し `sgbc_calendars` に保存します。
プラグインを無効化または削除しても、設定データは自動削除しません。

== Copyright / License ==

Copyright (C) 2026 株式会社STAY GOLD

SG Business Calendar is free software licensed under the GNU General Public License version 2 or later (GPLv2-or-later).
You may use, modify, and redistribute it under the terms of that license.

== Changelog ==

= 1.1.0 =
* 一般公開向けに作者情報、ライセンス表記、README、SECURITY 文書を整備しました。
* 配布パッケージのセキュリティレビューと構文チェックを実施しました。
* カレンダー機能自体は 1.0.5 から変更していません。

= 1.0.5 =
* 管理画面の色指定を WordPress 標準カラーピッカーに変更しました。
* #81d742 のような16進カラーコードを直接入力できるようにしました。

= 1.0.4 =
* 前月・翌月の切り替えを JavaScript による画面内更新に変更し、ページ全体の再読み込みを不要にしました。
* 公開 AJAX や REST API は追加せず、休日設定を埋め込み JSON として渡してブラウザ内だけで再描画します。
* JavaScript 無効時は GET 方式で月送りできるフォールバックを維持しています。

= 1.0.3 =
* 月送り後にページ上部へ戻らず、操作したカレンダー位置へ戻るアンカーを追加しました。

= 1.0.2 =
* 月送りフォームの送信先を現在のページパスへ明示しました。

= 1.0.1 =
* 月送りナビゲーションをリンクから GET フォームのボタン方式へ変更しました。
* 矢印を CSS 描画に変更しました。
