PHP工房トップ

HOME > 【Calendar03】PHP営業日・スケジュールカレンダー(テキスト入力付)

【Calendar03】PHP営業日・スケジュールカレンダー(プルダウン選択・テキスト入力付) 有料版

営業日カレンダー・スケジュールカレンダー(プルダウン選択・テキスト入力付)

無料版(フリー)の【Calendar02】スケジュール・営業日カレンダーCMSプログラムに日付ごとにプルダウンから反映したい項目を選択できる機能を追加した有料版です。(プルダウン項目も管理画面から更新可能です)※午前中、午後のみ、終日、予約可、予約不可、残りわずかなど決まったテキストを反映したい場合に便利です。また日付ごとのフリーテキスト入力箇所は補足、コメントとして使用可能です。営業日カレンダーだけでなく、イベントカレンダーや予定表、予約管理、営業時間など様々な用途に対応します。

お店や会社、病院、歯科医院、スポーツクラブ、学校(スクール)、社内の予定表など様々な使い道に対応できると思います。クライアントが更新することを想定しているので、管理画面はシンプルで直感的な更新が可能です。

【2014/11/25 重要なお知らせ】

今からダウンロードされる方、及び2014/11/26以降にダウンロードされた方は関係ございませんので、読み飛ばして下さい。
2014/11/17のGoogleカレンダーAPIの仕様変更に伴い、2014/11/25以前のバージョンでは祝日データが自動取得できなくなりました。そのため2014/11/25以前にダウンロードし、現在設置中のプログラムは2015年の祝日データが取得できません。また2015年1月1日午前0時以降設置サーバーによってはページ上にWarningエラーが表示されることがあります。

大変申し訳ございませんが、以下ページを参考にご対応のほど宜しくお願い致します。
ご不便、ご迷惑をおかけし誠に申し訳ございませんでした。

料金とお支払い方法

【Calendar03】営業日・スケジュールカレンダー(プルダウン・テキスト入力付)有料版
プログラム本体料金 2,000円+消費税

基本的には即日、遅くとも翌日までにはダウンロード用URLをお送りいたします。

主な機能と特徴

  1. フリーの【Calendar02】営業日・スケジュールカレンダーCMS日付ごとにプルダウンから反映したい項目を選択出来る機能を追加したバージョンです。プルダウンリストの追加や変更も同じ管理画面上で可能です。プルダウンリストは無制限にいくつでも追加可能です。
    その他基本機能はフリー版と同じです。
    商用サイトでもどんなサイトでも設置可能です。特に制限はありません。
  2. 管理画面から登録、編集できるので完全自動化(CMS)として運用可能です。
  3. 設定ファイルにて用途に応じて様々な設定が可能です。
  4. スマホ(スマートフォン)、携帯(ガラケー)用に最適化したファイルも同梱していますので、3デバイス同時更新が可能です。スマホ、ガラケーは表形式ではなく縦長のリスト形式で表示されます。
  5. デフォルトデザインはシンプルですが、CSSを編集すればオリジナルデザインも可能。
    特に幅などは設置するページに合わせて変更して下さい。(変更にはHTMLやCSSの基本知識が必要です)
  6. 設置が容易。ページ内でカレンダーを表示させたい場所にiframeタグ1行を記述すれば表示側の設置は完了します。iframeタグなので既存のページが.htmlでもOKです。
  7. 定休日設定(たとえば毎週月曜日)が可能で、設定すれば全期間で有効になります。
    ※ただし隔週は不可なので隔週の場合は通常通りチェックにて反映してください。
  8. カレンダーを何ヶ月後まで表示させるかなどの設定が可能です。(過去を表示するかも設定可)
  9. 祝日は赤字で表示され、GoogleAPIから自動で取得されます。こちらの詳細が以下「運用上の注意点」にありますのでご一読ください。 (※2015/11/25からオプションとなりました。デフォルトはOFF)
    ただし、この機能はPHP5.2以上のみ可能です。
  10. Javascriptは使用していませんので、ブラウザ間の問題もありません。
  11. パーミッションの自己診断も行います。データ保存ファイルのパーミッションの値が正常でない場合には管理画面で警告文が出ます。

サンプルデモ

ユーザ名:admin
パスワード:1397
※自由に登録、編集して下さい。

PCのみ表示形式を表(テーブル)形式、リスト形式から選択可能です。(スマホ、ガラケーはリスト形式)
デフォルトは表(テーブル)形式です。設定ファイルにて変更可能です。

iframeタグ(インラインフレーム)で表示しています。実際は既存サイトなどにiframeタグを埋め込むことになるかと思います。
カレンダーの幅は自由に変更可能です。(デフォルトは100%)ただ表形式の場合、テキストを考慮するとあまり狭いと見ずらくなる可能性があります。カレンダーはシンプルなHTMLのtableタグです。CSSにて自由に設定下さい。

携帯、スマホはQRコードを読めば実機でも確認できます。スマホ、携帯は既存ページ内に表示させるよりもリンクさせる方法が良いでしょう。スマホ、ガラケーは表形式ではなく縦長のリスト形式で表示されます。

スマホ用QR
QRコード
携帯用QR
携帯版QRコード

ダウンロード

上記「購入申込み」より申し込みください。
基本的には即日、遅くとも翌日までにはダウンロード用URLをお送りいたします。

設定項目(設定ファイルで設定可能なもの)

設定可能な項目はフリー版と同じになります。

  • 本日の背景色を変更する(0=しない、1=する)※デフォルトはする
  • 上記で「する」場合の背景色(カラーコードのみ可) ※デフォルトは黄色
  • カレンダーで当月から何ヶ月前、何ヶ月後まで表示するか(ユーザ閲覧ページ用)※今月のみも可
  • ユーザ閲覧側ページで当月の前月以降を表示する(0=しない、1=する)※管理画面では常に表示
  • カレンダーで当月から何ヶ月前、何ヶ月後まで表示するか(管理画面用)※今月のみも可
  • 休業日の背景色(カラーコードのみ可) ※ガラケーのbgcolorでも使用するので6桁で指定ください。

マニアック設定

  • 定休日の背景色(カラーコードのみ可) ※デフォルトは休業日と同じ 
  • 定休日と休業日の背景色が違う場合に追加表示する「色 定休日」テキスト。
    ※表示処理は自動で行われますのでページをブラウザで直接確認してみて下さい。
  • 曜日の表示文字 ※デフォルトは漢字表記 Sun、Monなど英語表記も可能
  • カレンダーを表形式(テーブル)、または縦長のリスト形式で表示 PCのみ
    ※デフォルトは表形式(テーブル)
以下スマホ、ガラケーのみ
  • ページ上部の「年月」部分の背景色 ※ガラケーのbgcolorでも使用するので6桁で指定ください。
  • ページ上部の「年月」部分の文字色 ※ガラケーのbgcolorでも使用するので6桁で指定ください。

設置方法

基本的にはフリー版と同じです。
ファイルの文字コードはUTF-8です。必ず対応したエディタで開いてください。
メモ帳(UTF-8非対応)は使用禁止です。ファイルが壊れます。TeraPad(無料)やDreamWeaver等で開いてください。必ずUTF-8のBOM無し(UTF-8N)で保存して下さい(いずれもデフォルトではBOM無しで保存されます)。
BOMについて詳しく知りたい方はこちら
※PHPではスラッシュ2回「//」の後からその行の末尾までがコメント扱いとなります。「#」、「/**/」もです。

1.ファイル構成を確認し、表示側の設定を行う(iframeタグを埋め込む等)

ダウンロードしたzipファイルを解凍するとcalendar03フォルダがあります。
赤字のファイルが触るファイルです。その他は特に触らずOKです。

・index.php PC用のカレンダーを表示するファイルです。実際にはこれを既存のページなどの任意の箇所にiframeタグで読み込むことになると思います。見た目等はCSSで自由に調整して下さい。
インラインフレーム使用時のiframeタグ
以下のタグをページ内の表示させたい場所に貼り付ければOKです。必要に応じて幅、高さ、パス等を調整してください。
テキスト量によって高さが変わりますのでスクロールバーを出したくない場合は高さは多めに指定すると良いです。

・Readme.txt 設置法、利用規約など。
・admin.php 管理画面です。登録や変更を行います。クライアントにはこのURLだけを教えることになるかと思います。
・pulldown_manage.php プルダウンリスト用の管理画面です。追加登録や変更を行えます。
上記メイン管理画面上部にこちらへのリンクがあります。
・complete.php 「更新」による2重登録防止用のリダイレクトファイルです。そのまま置いておきましょう。
・config.php 設定ファイル。管理画面ログイン情報の設定やその他設定、関数記述など
・style.css admin.php、index.php、sp.phpのスタイルを記述してます(もちろん独自のCSSでもOKです)必要に応じて自由に変更して下さい。
・data/ データ保存用ディレクトリ(パーミッションを書き込み可能なものに)
 ┗ holiday_set.dat 休業日データを保存するファイル
(パーミッション666等書き込み可能なものに)
 ┗ comment_set.dat コメントデータを保存するファイル
(パーミッション666等書き込み可能なものに)
 ┗closed.dat 定休日データを保存するファイル
(パーミッション666等書き込み可能なものに)
 ┗西暦_holiday.dat ダウンロード直後は存在しません。サーバーにアップロード後、初回アクセス時に自動生成されます。
祝日データを保存するファイルです。年が切り替わるタイミングでGoogleAPIより当年、翌年、前年分の祝日データを自動で取得、保存します。Googleの仕様により祝日データが正確では無い場合は直接編集も可能です。登録データを参考にエディタ等で開き変更下さい。
sp.php スマホ用のカレンダーです。このファイルにリンクさせる形になるかと思いますが、iframeで読み込んでもOKかもしれません。(ただし、スマホ全機種でのiframeタグ対応は保証できませんのでリンクさせるのが無難です)
i.php 携帯(ガラケー)用のカレンダーです。携帯はiframeに対応していな機種がほとんどかと思うので、このファイルにリンクさせる形になるかと思います。

 

2. ユーザID、パスワードを設定する

config.phpをエディタソフトで開き、ログインのためのID、パスワードを変更してください。
初期値は
ID:admin
パスワード:1397
になっています。必ず変更してください。その他必要に応じてコメントを参考に設定してください。

3. FTPでアップ

「calendar03」フォルダごと全ファイルをアップし、
「data」ディレクトリのパーミッションを書き込み可能な755 or 777等に設定(サーバーによる)

「data」ディレクトリ内のデータファイルすべてのパーミッションを書き込み可能な666等に設定(サーバーによる)して下さい。以下5ファイルです
data/holiday_set.dat
data/comment_set.dat
data/closed.dat.dat
data/pulldown_list.dat
data/pulldown_set.dat

もちろんカレンダーを埋め込んだページもアップして下さい。これで完了です。

各パーミッションの適切な値はサーバーのマニュアル等を参考に変更下さい。
サーバーによっては値が違う、または変更の必要自体無いこともあります。
もしパーミッションの設定が間違っていた場合ですが、すべての環境での保証はありませんが管理画面にてその旨警告が表示されるよう設定しています。またもしパーミッションが間違いの場合には「data」ディレクトリの場合、祝日データが取得できない、また、holiday_set.dat、closed.datの場合、新規登録時にエラーで登録自体ができません。要するにまともに動かないのでテスト段階ですぐに気付けます。
逆にそのようなことがない場合は適切なパーミッションになっていると考えてOKです。
ちなみにエックスサーバーの場合、今のところパーミッション変更は不要です。

4.登録テストとブラウザで結果確認

ブラウザで「あなたのサイトのURL」/calendar03/admin.phpを表示し、管理画面にログインし、登録を行ってみてください。正常に登録、編集できればOKです。プルダウンリストの登録、定休日設定も確認下さい。
ifirameなどで埋め込んだページもブラウザで確認してみて下さい。
登録データが反映されていればOKです。

5. ページの調整

設置するページやその他必要に応じてスタイルシート、HTML等で見た目の調整を行ってください。じゆ~です!
その他htmlソースを見ると分かりますが、タグや各セル、各曜日にはそれぞれ細かくclassを振っていますので、
style.cssのCSSを変更して自由にデザイン下さい。おそらくどんなものにでも変更可能です。
また、class="youbi_0"が日曜日でそのまま曜日ごとに連番が振られclass="youbi_6"が土曜日となっています。
カレンダー部分のhtmlを変更したい場合はconfig.php内下部に各デバイス(PC用、スマホ用、携帯用)ごとに記述しています。カレンダーのタグや「日」、「月」などのテキストを変更したい場合直接変更してください。

これら設置法などはダウンロードファイル内のReadme.txtにも記述しています。

充分な検証は行っておりますが、不具合、気になる点などがあれば遠慮なくお問い合わせ下さい。
また使用感などもいただけますとものすごーくありがたいです^^

よくある質問

既存のサイトの任意のページに直接埋め込みたい場合

※中、上級者向け
カレンダー部分を任意のページに埋め込みたい場合でカレンダーの下にコンテンツ等があり、iframeだとスクロールバーが出てしまう、またスクロールバーを非表示とした場合、カレンダーの内容が増えた場合に一部表示されなくなってしまうなどの問題を解決したい場合には直接埋め込むことも可能です。
calendar03フォルダ内のindex.phpの必要な箇所(2箇所)をコピペすればOKです。コメントも書いておりますので参考下さい。 ただし、埋め込み先のページは拡張子が.phpでかつ文字コードがUTF-8である必要があります。
また
require_once('config.php');
の箇所は設置場所によって変更下さい。単純にconfig.phpへの相対パスを書けばいいだけです。(絶対パス不可)
例 require_once('calendar03/config.php');
CSSファイルへのリンク部分も必要に応じて変更下さい。もちろんオリジナルでもOKです。

GoogleAPIの仕様変更に伴う既存ファイルの修正方法

2014/11/25以前にダウンロードされた方は以下のページにまとめしたのでご参照下さい。
GoogleAPIの仕様変更に伴う既存ファイルの修正方法

運用上の注意点

オプション機能の祝日自動取得について(デフォルトはOFF)

2014/11/17からのGoogleAPIの仕様変更に伴い、GoogleAPIキーが必要になりました。お手数ですが、事前にAPIキーの取得が必要になります。取得方法は以下ページにまとめておりますのでご参考下さい。
GoogleカレンダーAPIキーの取得手順

祝日設定は不要、またはGoogleAPIキーの取り方が分からない、または面倒な方はそのままでも運用は問題ありません。デフォルトはOFFです。(祝日が赤字にならないだけです)または祝日用のデータファイルをこのページからダウンロードいただいて手動でdataディレクトリにアップしても反映可能です。

【重要】表示月数(管理画面側の表示月数)の設定について

設定ファイルで管理画面側の表示月数を設定可能となっていますが、複数月を一括で更新する仕様上、管理画面側の表示月数を増やすほど、1ページあたりのPOST数(項目数)も増えていきます。

ここで問題となるのがPHP5.3以降で導入されたphp.iniの「max_input_vars」で、これはPOST数の上限値です。

この「max_input_vars」はデフォルトで1000に設定されています。
そのため管理画面側の表示月数を増やしていくとこの上限値1000を超えてしまうため、 更新が反映されない状況になります。

プログラムごとに異なりますが、表示月数をおおよそ以下の値に設定すると上限値を上回ってしまう可能性が高いです。

【Calendar01】= 基本的には問題となりません。(少なくとも2~3年程度まではOKです)
【Calendar02】= おおよそ14ヶ月以上
【Calendar03】= おおよそ7ヶ月以上

そのためこの表示月数以下としていただく必要がございます。
どうしてもこの表示月数以上に設定されたい場合はサーバーのphp.iniの設定値を変更する必要があります。
サーバーのphp.iniの設定値を変更する方法については以下ページで説明しておりますのでご参考下さい。

PHP5.3以降で一度にPOSTできる上限数(max_input_vars)を変更する

動作確認済PHPバージョン

PHP4.3.9~PHP8.1

動作確認済レンタルサーバー

  • エックスサーバー [PR]
    ※個人的にはここが好きで、もうずっとここです。このサーバーで困ることはまずないでしょう。
  • ロリポップ! [PR]
    ※ただしここはWAF機能がONの場合、CMSプログラムで問題が発生する可能性が高いです。詳細はこちら
    またサーバーがブラックリストに登録されてしまいメール系のプログラムで受信できない大問題も多々確認されています。詳細はこちら
     ただコスパ的には有りだと思います。
  • カゴヤのレンタルサーバー [PR]
    ここは高機能、高スペック、良心的な価格でありながら風俗系のサイトがOKという非常に貴重なサーバーです。個人的には風俗系のサイトであればこのサーバー以外の選択肢はないと思ってます。
  • さくらのレンタルサーバ [PR]

その他一般的なレンタルサーバーであれば問題なく動作するはずですが、
すべての環境(サーバー)での動作を保証するものではありませんのでご了承下さい。

問題が出る可能性が高い、またはそのままでは必ず問題が出ることが分かっているサーバー

※現状私自身が把握している範囲です。(実際に確認していますのでちゃんと根拠もあります)
1,Yahoo系(ジオプラス、ウェブホスティングとも)※Softbankも含む
2,KDDI系(CPI含む)
3,NTT系(WebArena(suiteX)、NTTビズリンク(BizLink))
※プロバイダー系は特に問題が多いです。(個人的には絶対に借りてはいけないと考えています)
4,スマイルサーバー
5,ファーストサーバ

特にCPI、NTT系、スマイルサーバー、ファーストサーバで問題がある場合はこちらも参照下さい

経験上、結局は「餅は餅屋です」。プロバイダー系はプラン、金額に関係なく特に問題が多いです。サーバーの問題で時間を取られるのは非常に無駄ですし、その先ずっと影響しますのでサーバー選びは慎重にされることをオススメします。 特に理由がなければあえてこれらのサーバーは借りないほうが得策でしょう。高いから良い、安いからダメという安易なものでもありませんので難しいところですね。(まぁ安いには安いなりの理由があるのですが・・)

カスタマイズ、設置代行について

カスタマイズ(改造等)方法などのサポートは行っておりません。
カスタマイズや仕様変更、設置代行などは3,000円~の有料にて承ります。

ご利用規約

・無料版プログラムはフリーウェアです。ただし、著作権は放棄するものではありません。
・プログラムの著作権表示リンク(ページ下部にある当サイトへのリンク)を無断で削除することはできません。
(一律2,000円+消費税の削除依頼をいただいた場合を除く)
・プログラムの再配布、再販売は禁止です。
 ※ただしクライアントへの納品などでシステム費用、設置費用として請求されるのは問題ありません。
・プログラムによって何らかの不利益、損害が生じても一切の責任を負いません。
 あらかじめご了承の上ご使用ください。
 もし何らかのトラブルがあった場合には、ご相談いただければ解決策が見つかるかもしれません。
 (クライアントへの原因の説明など)
・プログラムは全ての環境(サーバー)での動作を保証するものではありません。
・改変等は自由ですが、自己責任でお願いします。
・有料版をご購入いただいた場合、初期不良を除き、ご使用後の返金には応じ兼ねます。
・有料版(著作権リンク削除含む)は1サイト(同一ドメイン)内であれば複製の上で複数利用可能です。
 2サイト目以降は都度サイトより購入申込みが必要になります。
 ※サブドメインはその性質上、別サイト(別ドメイン)とみなします。  

 ダウンロードいただいた時点で利用規約に同意したものとみなされます。

更新履歴

2015.06.19
サーバーのPHPのバージョンがPHP4.○○の場合に管理画面で翌月、前月が「1月」と表示されてしまう。及び表示側で前月に戻れない不具合を修正しました。PHP5以上であれば問題はありませんでしたので、今現在設置中の方は特に問題はございません。
(今現在大多数のサーバーではPHP5以上のため基本的には問題ありません)
ご連絡いただきましたI様にはこの場を借りて感謝申し上げます。

2014.11.25 
2014.11.17からのGoogleカレンダーAPIの仕様変更に伴い、祝日データが自動で取得されない不具合を修正しました。2014.11.25以前にダウンロードされた方は大変お手数ですが、現在配布中の最新版をダウンロードいただくか、修正をお願い致します 。
GoogleAPIの仕様変更に伴う既存ファイルの修正方法
今後は祝日自動取得にGooglAPIキーが必要になります。→googleにて無料で取得できます。
または最新版に限りますが、設定ファイルでこの機能をOFFにし、このサイトから祝日用のデータファイルをダウンロードの上、手動でアップする方法もあります。またはそもそも祝日設定が不要であればOFFのままで運用可能です。

2014.02.28 Calenderのスペルが間違っていたものを修正しました。ソースコード内のスペルも変更しています。(Calender→Calendar)

2014.02.01 インラインフレーム(iframe)での設置のみを考慮していましたが、既存のページにも直接埋め込めるよう修正しました。但し埋め込み先のページの文字コードがUTF-8である必要があります。

2014/1/29 有料版としてプログラムの配布を開始

PHPメールフォーム(無料版)

PHPメールフォーム(有料版)

新着情報・更新履歴CMS(無料版)

投票・アンケートシステム(無料版)

テロップCMS(無料版)

写真ギャラリーCMS(無料版)

営業日カレンダーCMS(無料版)

営業日カレンダーCMS(有料版)

カレンダー予約フォーム(無料版)

カレンダー予約フォーム(有料版)

リンク集ページCMS(無料版)

アクセスカウンター(無料版)

ダウンロードカウンター(無料版)

その他

メールフォームの各種カスタマイズならお任せ下さい
業務効率化が可能なPHPオリジナルCMS制作します

役立つかも?なもの

豆知識や役立ち事など

PHPについて

各種情報