2014/11/17のGoogleカレンダーAPIの仕様変更に伴い、2014/11/25以前のバージョンでは祝日データが自動取得できなくなりました。そのため2014/11/25以前にダウンロードし、現在設置中のプログラムは2015年の祝日データが取得できません。また2015年1月1日午前0時以降設置サーバーによってはページ上にWarningエラーが表示されることがあります。 大変申し訳ございませんが、ご対応のほど宜しくお願い致します。
2014/11/26以降にダウンロードされたものは問題ありませんのでこのページは無視してOKです。
見分け方は設定ファイル(config.php)のログイン情報の設定箇所の下に
「GoogleAPIからの祝日の自動取得を行うか(0=しない、1=する)」
があれば、最新版のため問題ありませんが、無い場合には対象となります。
まずは本年用の祝日データファイルを以下よりダウンロードいただき、dataディレクトリ内にそのままアップ下さい。これにてひとまずは解決となります。将来の分も用意していますが、あまり先のものですと祝日が変わるリスクも有ります。また祝日の整合性を保証するものではありませんのでご了承下さい。
2016年用であれば「2016_holiday.dat」のファイル名であればOKということです。これをサーバー上のdata/内にそのままアップして下さい。
※それぞれのファイルには当年、去年、来年分の3年分の休日データが記述されています。
※ファイル内をご覧いただくと分かりますが、単純に祝日の日付が記述されているだけですので、ご自身で直接編集しても構いません、
予め数年分のファイルをアップいただいても構いませんが、祝日が変更になる可能性もあります。自動取得をご希望の場合には下記修正方法に従って修正下さい。(自動取得を行うにはGoogleAPIキーの取得が必要になります。もちろん無料で取得できます)
今後の運用については3つの選択肢があります。
1,毎年、または数年分のデータファイルを定期的にダウンロードして手動でアップロードする。
一生放置というわけにならないため、手間はかかりますが簡単です。
2,コードを修正して自動取得を続ける
一度行えば、以降の更新は不要になります。修正方法は以下にまとめております。
3,最新版を使用する
最新版では祝日自動取得を行うかどうかを選択できます。デフォルトはOFFです。祝日の設定自体が不要であれば、最新版に切り替えるのが最も手っ取り早いかもしれません。
※GoogleAPIのキーが必ず必要になります。キーの取得方法は以下ページにまとめておりますのでご参考下さい。
GoogleカレンダーAPIキーの取得方法
営業日カレンダー関連はconfig.php、カレンダー連動予約フォームの場合にはfunction.phpの1117行目付近以下の記述(関数)
※ファイル内を「GoogleカレンダーAPIから祝日を取得」で検索すれば見つかります。
以下にまるっと書き換えて下さい。コピペでOKです。(クリックすると全選択されます)
config.phpに以下すべてを追記(コピペ)下さい。場所はどこでも良いですが各種設定等が記述されている付近に追記下さい。また同時にAPIキーを記述して下さい。
以上となります。APIキーを設定し、正常に動作するかご確認下さい。
確認方法は、サーバー上のdataディレクトリ内の「現在の西暦_holiday.dat」のファイルを一時的にリネームして、管理画面、またはカレンダー表示ページにアクセスしてみてください。正常であれば、dataディレクトリ内に「現在の西暦_holiday.dat」ファイルが自動生成されているはずです。
以下ページにまとめましたのでご参考下さい。
Googleから祝日を取得するタイミングは初回ページアクセス時、及び年が変わった時点の最初のページアクセス時(管理画面、またはユーザ閲覧側ページ)です。現在の年とその前年、翌年の祝日を取得し、ファイルに保存します。(ファイル名「その年の西暦_holiday.dat」)
※稀にサーバーのphp.iniの設定により生成されない場合があります。
※Googleの仕様上、仕様が変更になって取得ができないこともあり得ますのでご了承下さい。その場合設定ファイルでこの機能をOFFにすることで解決します。
※Googleの仕様上、ある祝日が正確な日付ではない可能性が稀にあるかもしれません。その場合直接ファイルを編集することもできます。