====================================== 予約状況カレンダー:設置マニュアル 作成: hige MAIL: hige@deneb.freemail.ne.jp HOME: CGIのかんづめ http://www.dab.hi-ho.ne.jp/appletea/cgikan/ ====================================== ────────────────────────────────────── ■ 目次 ────────────────────────────────────── ・はじめに ・配布物一覧 ・設置方法 ・カスタマイズ方法 ・使用方法 ・変更履歴 ────────────────────────────────────── ■ はじめに ────────────────────────────────────── 旅館などの施設の予約情報をカレンダー形式で表示するCGIです。あるMLで「フリー の予約状況カレンダーがなかなか見当たらない」という声を聞いて、ちょこっと作っ てみました。 見た目の良さは全く考えてません。実際に使う場合はHTML作成部分を調整して見た目 を整えるといいでしょう。 ────────────────────────────────────── ■ 配布物一覧 ────────────────────────────────────── 予約状況カレンダーは「CGIのかんづめ」でダウンロードできます。ダウンロードし たyoyaku.lzh を解凍すると以下のファイルが展開されます。 install.txt : 設置マニュアル(このファイル) customize.txt : カスタマイズマニュアル yoyaku.cgi : CGIスクリプト本体 jcode.pl : 漢字コード変換ライブラリ yoyaku/yoyakustr.txt : 予約状況を表す文字列定義 ────────────────────────────────────── ■ 設置方法 ────────────────────────────────────── 予約状況カレンダーを設置する方法を説明します。大まかな手順は以下の通りです。 1. CGIスクリプト本体を修正する 2. サーバーにアップロードする 3. 動作を確認する ---------------------------------------- 【1】CGIスクリプト本体を修正する ---------------------------------------- テキストエディタで yoyaku.cgi を開き、3箇所修正してください。 □ 1行目 #!/usr/local/bin/perl プロバイダが指定するPerlへのパスを指定します。 □ 30行目 $home = "http://www.dab.hi-ho.ne.jp/appletea/cgikan/yoyaku.shtml"; [HOME]をクリックしたときに戻るページを指定します。 □ 33行目 $pwd = 'guest'; 管理機能を使うためのパスワードを指定します。セキュリティの関係上、必ず変更し てください。 ---------------------------------------- 【2】サーバーにアップロードする ---------------------------------------- CGIの設置ディレクトリを xxx と仮定します。下図のようなファイル配置でサーバに アップロードして下さい。[]内の数字はパーミッションです。 xxx / | +-- yoyaku.cgi [755] +-- jcode.pl [644] | +-- yoyaku / [755] | +-- yoyakustr.txt [666] +-- holiday.txt [666] FTP でアップロードするときは、以下の点に注意してください。 ・全てのファイルを Ascii モードで転送する ・全てのファイルの漢字コードを EUC に変換する 予約状況カレンダーはUNIXサーバーを前提にしています。Windowsサーバーの場合は そのままでは設置できないのでご了承ください。 ---------------------------------------- 【3】動作を確認する ---------------------------------------- アップロードが終わったらブラウザで表示してみましょう。URL は以下のようになり ます。お使いのサーバによって URL は異なります。 http://(CGIを設置したサーバ)/(CGIを設置したディレクトリ)/yoyaku.cgi きちんと表示されましたか? ・はい。表示されました。 >> 設置完了です。お疲れ様でした。 ・いいえ。エラーになります。 >> 手順をチェックしてやりなおして下さい。 動かない場合、文字コードを変換していないというミスが多いです。「動かない」と いう報告のほとんどがコレです。 文字コード変換機能のある FFFTP のような FTP ソフトを使うと失敗が少ないと思い ます。 ────────────────────────────────────── ■ カスタマイズ方法 ────────────────────────────────────── 予約状況カレンダーのデザインは自由にカスタマイズできます。長くなるのでこの マニュアルには書いていません。customize.txt をご覧になってください。 ※祝日の設定もcustomize.txtをご覧下さい。 ────────────────────────────────────── ■ 使用方法 ────────────────────────────────────── 予約状況カレンダーは、3種類の機能があります。 ・管理画面を表示 ・指定月の予約状況カレンダーを表示 ・更新日時を表示 また、予約状況カレンダーを表示する方法は2種類あります。お好きなほうを使って 下さい。 (1) ページ全体をCGIで出す -> CGI偏 (2) 既存のページにカレンダーを埋め込む -> SSI偏 使い方のイメージをつかむには、下記サンプルページをご覧になることをお薦めし ます。 CGIのかんづめ:予約状況カレンダーの説明ページ http://www.dab.hi-ho.ne.jp/appletea/cgikan/yoyaku.shtml ---------------------------------------- ■ 管理画面の表示 ---------------------------------------- ■ URL URL は以下のようになります。 管理画面:http://(パス)/yoyaku.cgi ■ 操作方法 パスワード入力を求める画面が表示されます。そこで正しいパスワードを入れると管 理画面が表示されます。 ---------------------------------------- ■ 予約状況の表示(CGI編) ---------------------------------------- ■ URL URL は以下のようになります。 今月を表示 :http://(パス)/yoyaku.cgi?mode=show 指定月(絶対指定)を表示:http://(パス)/yoyaku.cgi?mode=show&month=2001/1 指定月(相対指定)を表示:http://(パス)/yoyaku.cgi?mode=show&next=1 ■ デザイン ページ全体をCGIで出す場合、カレンダー部分の他に、記号の説明、前後の月への移 動用リンク、著作権などが表示されます。 デザインはあまり凝っていませんからHTML作成部分を適宜修正するといいでしょう。 ↓下記の関数の中でHTMLを作成しています。 # 予約表示 sub show { ... } ---------------------------------------- ■ 予約状況の表示(SSI編) ---------------------------------------- ■ URL カレンダーを表示したい箇所に以下のようなコードを埋め込みます。 URL は以下のようになります。 今月を表示 :(パス)/yoyaku.cgi?mode=ssishow 指定月(絶対指定)を表示:(パス)/yoyaku.cgi?mode=ssishow&month=2001/1 指定月(相対指定)を表示:(パス)/yoyaku.cgi?mode=ssishow&next=1 ■ デザイン SSIを使う場合、カレンダー部分のみ埋め込まれます。そのため、著作権表示をその ページのどこかに記述してくださるようお願いします。 ↓著作権表示のHTML(例)
- CGI提供:CGIのかんづめ -
■ 注意事項 プロバイダによってSSI機能に制約があります。プロバイダの対応状況を必ず確認し てください。 よくある制約1:「SSIを埋め込むページの拡張子は .shtml でなければならない」 よくある制約2:「パスはvirtualで指定する / 指定できない」 ---------------------------------------- ■ 更新日時の表示 ---------------------------------------- ■ URL カレンダーを表示したい箇所に以下のようなコードを埋め込みます。 URL は以下のようになります。 デフォルト書式で表示:(パス)/yoyaku.cgi?mode=updtime 指定した書式で表示 :(パス)/yoyaku.cgi?mode=updtime&fmt=YYYY.MM.DD ※デフォルト書式は yoyaku.cgi の $updtime_fmt で定義します。 ■ デザイン 単純なテキストです。色などを変えたい場合はHTMLファイルの方で修飾できます。 例: ■ 書式 書式の中の特定の文字が年、月、日、時、分、秒と置き換わります。指定可能な書式 は下記の通りです。意味は推測してください。(^^; 年:YYYY,YY | 月:MM,M | 日:DD,D | 時:hh,h | 分:mm,m | 秒:ss,s 書式(例) | 出力結果(例) ------------------------------ YYYY.MM.DD | 2001.07.07 YY/M/D | 01/7/7 YY/M/D hh:mm | 01/7/7 01:15 CGIの引数で書式を指定する場合、半角スペース等のCGIの引数として指定できない文 字は使えません。 ※半角スペースは'+'で指定してください(ex. "fmt=M/D+hh:mm")。 うまくできないときは、引数ではなく yoyaku.cgi の $updtime_fmt で指定してくだ さい。こちらは半角スペース等も普通に指定できます。 ────────────────────────────────────── ■ 変更履歴 ────────────────────────────────────── ---------------------------------------- ■ 1.7 -> 1.8 (2004.2.17) ---------------------------------------- ・1月に複数の祝日があるときに祝日のセルの色が変わらないバグを修正。 ---------------------------------------- ■ 1.6 -> 1.7 (2004.2.10) ---------------------------------------- ・祝日のセルの色を指定する機能を追加。 ---------------------------------------- ■ 1.5 -> 1.6 (2003.7.7) ---------------------------------------- ・サイト移転のため著作権表示を修正。 ---------------------------------------- ■ 1.4 -> 1.5 (2002.3.6) ---------------------------------------- ・v1.3/v1.4 では v1.2 で追加した機能が含まれていないことが判明。v1.4をベース  に v1.2 の追加機能を再度盛り込みました。 ---------------------------------------- ■ 1.3 -> 1.4 (2002.3.4) ---------------------------------------- ・カレンダーの形式として横長2段を追加しました。 ・管理画面でカレンダーを編集するとき表示形式を選べるようになりました。 ---------------------------------------- ■ 1.2 -> 1.3 (2002.3.1) ---------------------------------------- ・カレンダーの形をdisptypeで切り替えられるようにしました。disptypeを指定しな  ければ1.2以前と同じです。 ---------------------------------------- ■ 1.1 -> 1.2 (2001.7.27) ---------------------------------------- ・月を相対指定できるようにしました。 ・当日以降のデータ未設定日のデフォルト値を指定できるようにしました。 ・データ更新日をSSIで表示できるようにしました。 ---------------------------------------- ■ 1.0 -> 1.1 (2001.2.7) ---------------------------------------- ・1日に複数の状態(午前と午後など)を設定できるようにしました。 ・カレンダー部分をSSIで表示できるようにしました。 ・パラメータなしで yoyaku.cgi を実行すると、パスワード入力画面を表示した後  管理画面を表示するようにしました。 以上