############################################################################################### ## # PHP予約・応募フォーム連動 営業日カレンダー【CalendarForm01】ver1.0.4 (2020.07.20アップデート) # # 営業日カレンダーと予約フォームが連動したPHPプログラムです。 # 任意のページに設置し、予約フォーム連動カレンダーとして運用できます。 # 改造や改変は自己責任で行ってください。 # # 不具合等がありましたら下記までご連絡ください。 # MailAddress: info@php-factory.net # name: K.Numata # HP: http://www.php-factory.net/ # ## ############################################################################################### 以下内容はサイト内にも同様の内容がありますので出来る限りサイト内を御覧ください。 サイトのほうが新しい記事である場合があります。 http://www.php-factory.net/calendar_form/01.php ■主な機能 ・申し込み上限機能付き営業日カレンダー兼予約受付、申し込みフォームプログラムです。もちろん商用サイトでもどんなサイトでも設置可能です。 ・管理画面から登録、編集できるので完全自動化(CMS)として運用可能です。 ・申し込み数上限を設定すれば上限に達したら申し込みボタンが表示となります。(OFFにすることも可能)  上限数は常に管理画面から変更可能です。※キャンセルや予約に至らなかった場合には随時変更ください。 ・時間毎の設定が可能です。  例 11:00〜11:30、12:00〜12:30 など時間毎に予約設定が可能です。 ・カレンダー、フォームのデフォルトデザインはシンプルですが、CSSを編集すればオリジナルデザインも可能。  特に幅などは設置するページに合わせて変更して下さい。 ・スマホ(スマートフォン)、携帯(ガラケー)用に最適化したファイルも同梱していますので、3デバイス同時更新が可能です。 ・設置が容易。任意のページに直接コピペで埋め込むことが可能です。コピペ箇所はコメントにて指示がありますのでご参考下さい。 ・休業日の他に定休日設定(たとえば毎週月曜日)が可能で、設定すれば全期間で有効になります。  ※ただし隔週は不可なので隔週の場合は通常通り休業日として設定してください。 ・カレンダーは何ヶ月後まで表示させるかなどの設定が可能です。(前月を表示するかどうかも設定可能) ・祝日は赤字で表示され、GoogleAPIから自動で取得されます。こちらの詳細が以下「注意点」にありますのでご一読ください。 ・日付ごとに補足、コメントも入力可能です。 ・その他設定ファイルにて細かい設定が可能で実務での様々な運用に対応します。 ■動作環境 PHPバージョン4.3.9〜5.5まで動作確認済 推奨ブラウザ:IE(8〜11で動作確認済)、Firefox、GoogleChrome(Mac環境では動作テストしておりませんが問題無いでしょう) ※IE6〜IE7でもテスターでは問題ないことを確認しています。JSは特に使用していませんので、ブラウザ間の問題は起こりにくいと思います。 ■ 設置方法  ※サイト内が最新である可能性が高いので、できればサイト内の設置法をご覧ください。 ファイルの文字コードは基本的にUTF-8です。必ず対応したエディタで開いてください。 メモ帳(UTF-8非対応)は使用禁止です。ファイルが壊れます。TeraPad(無料)やDreamWeaver等で開いてください。 DWだとコードに色付けされ分かりやすいのでおすすめです。 ※ PHPでは、スラッシュ2回「//」の後からその行の末尾までがコメント扱いとなります。コード内に複数あります。「#」もです。 ◆1.ファイル構成を確認し、表示側の設定を行う(iframeタグを埋め込む等) ダウンロードしたzipファイルを解凍するとフォルダがあります。 ・index.php PC用のカレンダーを表示するファイルです。実際にはこれをページの任意の箇所にiframeタグ、またはファイル内のコードをコピペで直接埋め込むことになります。 ・sp.php スマホ用のカレンダーです。このファイルにリンクさせる形になるかと思いますが、iframeで読み込んでもOKです。(iframeタグはほとんどのスマホで対応しているかと思いますが保証はできません) ・i.php 携帯()用のカレンダーです。携帯はiframeに対応していな機種がほとんどかと思うので、このファイルにリンクさせる形になるかと思います。 ・style.css index.php、sp.phpのスタイルを記述してます(もちろん独自のCSSでもOKです)必要に応じて自由に変更して下さい。 ・Readme.txt このファイル。設置法、利用規約など。 ・admin/index.php 管理画面です。登録や変更を行います。クライアントにはこのURLだけを教えることになるかと思います。 ・admin/pulldown_manage.php 時間などのリスト管理用のページです。 ・admin/complete.php 「更新」による2重登録防止用のリダイレクトファイルです。そのまま置いておきましょう。 ・admin/config.php 設定ファイル。管理画面ログイン情報の設定やその他設定、関数記述など ・admin/copy.inc 著作権表記用のファイルです。削除、または改変等を行うとシステムに影響しますので、開いたり変更したりしないで下さい。 ・admin/style.css 管理画面のスタイルを記述してます ・data/ データ保存用ディレクトリ(パーミッション777等書き込み可能なものに)  ┗ holiday_set.dat (パーミッション666等書き込み可能なものに)  ┗ comment_set.dat (パーミッション666等書き込み可能なものに)  ┗ closed.dat (パーミッション666等書き込み可能なものに)  ┗ time_list.dat (パーミッション666等書き込み可能なものに)  ┗ 西暦_holiday.dat 祝日データを保存するファイルです。年が切り替わるタイミングでGoogleAPIより祝日データを自動で取得、保存します。Googleの仕様により祝日データが正確では無い場合は直接編集も可能です。登録データを参考に変更下さい。 ・data/ reserv 予約カウントファイルのディレクトリです。(パーミッション777等書き込み可能なものに) ・mail/mail.php PC用のフォームからのメール送信用ファイルです。(確認画面のレイアウトなどはオリジナルを反映可能です。ファイル内のコメントを参考に設定下さい) ・mail/sp.php  スマホ用のフォームからのメール送信用ファイルです。(確認画面のレイアウトなどはオリジナルを反映可能です。ファイル内のコメントを参考に設定下さい) ・mail/mb.php  ガラケー用のフォームからのメール送信用ファイルです。(確認画面のレイアウトなどはオリジナルを反映可能です。ファイル内のコメントを参考に設定下さい) ◆2. 必須設定、オプション設定を設定する admin/config.phpをエディタソフトで開き、「必須設定」の箇所を設定してください。 ※メモ帳は使用禁止です。ファイルが壊れます。 特にログインID、パスワードの初期値は ID:admin パスワード:1397 になっています。必ず変更してください。その他必要に応じてコメントを参考に設定してください。 ◆3. FTPでアップ フォルダごと全ファイルをアップし、 「data」ディレクトリのパーミッションを書き込み可能な755 or 777等に設定(サーバーによる) 「data/reserv」ディレクトリのパーミッションを書き込み可能な755 or 777等に設定(サーバーによる) data/holiday_set.datのパーミッションを書き込み可能な666等に設定(サーバーによる) data/comment_set.datのパーミッションを書き込み可能な666等に設定(サーバーによる) data/closed.datのパーミッションを書き込み可能な666等に設定(サーバーによる)s data/time_list.datのパーミッションを書き込み可能な666等に設定(サーバーによる)s にしてください。 これで完了です。 各パーミッションの適切な値はサーバーのマニュアル等を参考に変更下さい。 サーバーによっては値が違う、または変更の必要自体無いこともあります。 もしパーミッションの設定が間違っていた場合ですが、すべての環境での保証はありませんが管理画面にてその旨警告が表示されるよう設定しています。またもしパーミッションが間違いの場合には「data」ディレクトリの場合、祝日データが取得できない、また、holiday_set.dat、closed.datの場合、新規登録時にエラーで登録自体ができません。要するにまともに動かないのでテスト段階ですぐに気付けます。 逆にそのようなことがない場合は適切なパーミッションになっていると考えてOKです。 ちなみにエックスサーバーの場合、今のところパーミッション変更は不要です。 ◆4.登録テストとブラウザで結果確認 ブラウザで「あなたのサイトのURL」/calendar_form01/admin/を表示し、管理画面にログインし、登録を行ってみてください。正常に登録、編集できればOKです。定休日設定も確認下さい。 ifirameなどで埋め込んだページもブラウザで確認してみて下さい。 登録データが反映されていればOKです。 ◆5. ページの調整 設置するページやその他必要に応じてスタイルシート、HTML等で見た目の調整を行ってください。じゆ〜です! カレンダー部分のhtmlタグはconfig.php内下部に各デバイス(PC用、スマホ用、携帯用)ごとに記述しています。 ■ 更新履歴 ----------------------------------------------------------------------------------------------------------------------- 2020.07.20 セキュリティ強化や機能の追加など。 2015.10.28 Android端末でかつChromeの場合に、フォーム→確認画面→戻るの遷移で選択日付がリセットされてしまうものを修正(3デバイスともデータ送信をPOSTからGETに変更) ※変更したファイル:function.phpとpc.php、sp.php、i.phpを変更。 2015.09.07 バージョンアップ。1,日付未入力チェック、2,曜日表示のON、OFF、3,選択日付の確認画面、送信メールでの項目名設定を可能に。4,受付中でなかったら強制終了する。 2015.06.19 サーバーのPHPのバージョンがPHP4.○○の場合に管理画面で翌月、前月が「1月」と表示されてしまう。及び表示側で前月に戻れない不具合を修正しました。 2015.06.09 スマホ版完了ページのaタグへのexternal属性追加と管理画面のプルダウン変更時に自動チェック機能追加とデバイスごとの完了ページ設定可。 2014.11.25 GoogleAPIの仕様変更に伴い、変更を行いました。今後は祝日取得にGooglAPIキーが必要になります。→googleにて無料で取得できます。 2014.11.09 スマホ版でフォーム入力→確認画面→戻るの操作を行った際にフォーム画面ではなくカレンダーに戻ってしまう不具合を修正しました。 2014.08.25 PHP5.3.9以降の場合で、予約時間リストを3つ以上設定した場合、「受付中」や「休日」設定などの登録が行われない不具合を修正しました。 2014.07.16 メールフォームで確認画面非表示と設定した場合、予約数のカウントダウンが行われない不具合を修正しました。(デフォルトは表示するです) 2014.04.30 v1.0.0 配布開始 ■ご利用規約 ・無料版プログラムはフリーウェアです。ただし、著作権は放棄するものではありません。  また、カスタマイズ依頼、著作権表示リンク削除依頼にて表示を削除したとしても著作権は放棄しません。 ・プログラムによって何らかの不利益、損害が生じても一切の責任を負いません。  あらかじめご了承の上ご使用ください。  もし何らかのトラブルがあった場合には、ご相談いただければ解決策が見つかるかもしれません。  (クライアントへの原因の説明など) ・プログラムは全ての環境(サーバー)での動作を保証するものではありません。 ・プログラムの著作権表示リンクを削除することはできません。(削除依頼をいただいた場合を除く) ・改変等は自己責任でお願いします。 ・有料版をご購入いただいた場合、初期不良を除き、使用後の返金には応じ兼ねます。 ・有料版は1サイト内であれば複数利用可能です。2サイト目以降は都度サイトより購入申込みが必要になります。 ・プログラムの再配布は禁止しております。  ダウンロードいただいた時点で利用規約に同意したものとみなされます。 ■著作権表示削除について 削除されたい場合には1サイトあたり2,000円の使用料金が必要になります。 2サイト目以降は都度料金が必要になります。 お支払いは銀行振込、またはPayPal(クレジットカード)となります。 ご希望の際は以下よりお申込みをお願いいたします。 http://www.php-factory.net/calendar_form/01.php ■カスタマイズ、設置代行について PC、携帯、スマホサイトへの設置代行(各3,000円)、カスタマイズ(2,000円〜)にも対応いたしますのでご相談ください。 実装が難しいもの、まったく違うものに作り変えるなどは対応出来かねる場合もございます。 +++--------------------------------------------------------+ PHP工房 各種お問い合わせは「お問い合わせ」よりお願いします。 http://www.php-factory.net/ +--------------------------------------------------------+++