pukiwiki改造/dayweek
2021-09-26 (日) 08:08:02 (316d)
表記、友瀬のサイトで実施している独自拡張。
他の方にも役に立つと思われるので、一応公開しておきます。
改造目的 †
カレンダー向け:土日・祝祭日の判定用のメカニズムを追加しています。
なおアルゴリズムとして、こちらのサイトを参考・利用させていただいています。
http://www.pahoo.org/e-soul/webtech/php02/php02-27-01.shtm
改造の概要 †
- pukiwiki\lib の下に、新規の dayweek.php を作成・設置しています。
- ダウンロード:こちらのファイルを「dayweek.php」の名前で保存してください。
- このファイルでは、新規の Dayweekクラスを定義しています。
- pukiwiki\lib\pukiwiki.php を編集。
最初のほうで列挙されているrequireに、dayweek.php を追加しています。(LIB_DIR . 'dayweek.php');
- 上記 dayweek.php では、曜日計算の負荷軽減のため、一度算出したカレンダー状況をキャッシュします:
- pukiwiki\dayweek 下に「yyyydd.txt」形式でキャッシュファイルを作成しています。
- キャッシュファイル内は「1行1日」の形式で曜日・祝日情報を記録しています。
- pukiwiki\dayweek 下に「yyyydd.txt」形式でキャッシュファイルを作成しています。
クラスメソッド †
Dayweek クラスでは、以下のメソッドを提供しています。
- getCal($year,$month)
- 指定した年・月の休日情報についての配列を取得します。
取得できる配列は、以下の構造になっています。 - $dim[日付]['wday'] :曜日情報。
0: 日曜 〜 6:土曜
9: 祝日 - $dim[日付]['info'] :説明文字列
例えば「元旦」「文化の日」など。
祝日でない日では未定義です。
- 指定した年・月の休日情報についての配列を取得します。
変更履歴 †
- 2021.9.25 Ver 1.2
- スポーツの日など五輪周りでの変則休日に対応
- 2020.Jan.23 Ver1.1
- 「平成→令和」に伴う祝祭日の変更に対応。
- この dayweek.php ファイルの日時を元に、それよりも古い曜日キャッシュを自動削除する処理追加。
メモ。 †
2020/1月時点で確定している祝日にしか対応していません。
今後何かの変更があった場合に、調整が必要です。
コメント †
ご意見などがあれば。