"Shade検索"Wiki

CGI/長期予定表



お知らせ
管理者がトレンドマイクロのセキュリティソフトをインストールしている場合、ログイン情報が外部に漏れる恐れがあります。
対策を施したver.1.094に更新をお願いします。

長期予定表


スケジュールを管理できるカレンダータイプの予定表はすでにいろいろありますが、月単位で表示するものがほとんどです。長期間にわたる予定を一度に見たい場合があるので、長い期間のカレンダーを表示できる予定表を作ってみました。

  1. 1年分のカレンダー横一列に並べて表示します。画面サイズやブラウザの設定によっては横スクロールしないと左右がすべて表示されなかったり、隙間が空きすぎたりするかもしれません。
    これを調整するため、フォントサイズやカレンダーのセルの大きさを右下のカレンダーサイズ調整用ボタンで微調整することができます。
    設定はクッキーに保存されるので、一度調整したら次にアクセスしたときには再度調整する必要はありません。
  2. いずれにしても、カレンダーはかなり小さくしか表示できないので、カレンダー内に予定を表示することはできません。
    カレンダー上では予定がある場合、日付を色変え表示するにとどめ、予定の内容は画面下部に「これからの予定○○件」として表示するようにしました。
    また、カレンダーの日付上にカーソルを合わせると、その日の予定をポップアップ表示します。(ブラウザによっては表示されない場合があるかもしれません。)
  3. 初期設定では今月から1年前、今月から1年後まで表示しますので、1年前のメモを参照しながら予定を立てるといった使い方ができます。
  4. 予定は、カテゴリーごとに色を変えて表示することができます。カテゴリーは追加、変更、色を変えることができます。変更はブラウザ上からできます。
  5. 予定を検索することができます。複数キーワード、AND OR検索対応です。
  6. 1年分のカレンダーを横一列に並べて表示するのが基本スタイルですが、カレンダーの月をクリックすると、その月を中心とした3か月表示に切り替わり、その月の予定を表示します。
  7. 管理者のみ書き込みできるようにも、誰でも書き込みできるようにも設定できます。
  8. カレンダーの日付、あるいは予定一覧の■をクリックすると編集フォームに移動します。画像ファイルなど、ファイルを添付し、表示させることができます。
    予定を削除する場合は、全文削除して送信ボタンを押してください。添付ファイルは削除されませんので、添付ファイルごと削除する場合は先に添付ファイルを削除してから記事を削除してください。
  9. 総合情報管理ツールAgendaとデータを共有することができます(ローカル環境で使用時のみ)。
    Agendaに書き込まれたメモを長期予定表に反映したり、長期予定表に書かれたメモをAgendaに反映することができます。
  10. 今日以降の予定を表示することも、今日までのメモを表示することもできます。今日までのメモを表示する設定だと、日記としても使用できます。
  11. クロススクリプティング対策のため、誰でも書き込みできるモードではタグを無効にしました。
    タグを有効にしたい場合は、$permission(編集権限) と $use_tag(タグを使用) をどちらも1に設定してください。
ver.1.096 2014.02.19
先頭を1月にしない場合、1月と2月で指定した年数表示にならないバグを修正しました。
ver.1.095 2014.02.13
9文字以上のパスワードも使用できるようにしました。
ver.1.094 2013.03.08
カレンダーのサイズ調整がうまくいかないバグを修正しました。設定編集時のリダイレクトを廃止しました。
ver.1.093 2012.05.17
先頭を1月にする設定にした場合、実際に表示される年月と、表示年変更フォームに表示される年月が違っていたバグを修正しました。
ver.1.092 2012.04.25
カレンダーの表示モード(年表示、3か月表示)をクッキーに保存するようにしました。
バージョンアップでファイルを上書きしてもinit_bck.cgiから設定を復元するようにしました。
ver.1.091 2012.04.17
表示年を西暦で指定するように変更しました。先月のカレンダーが左端にくるように配置していましたが、
現在が何月かにかかわらず、1月を左端に配置できるようにしました。(管理者設定画面で$january_top を1にする)
ver.1.09 2012.03.07
カテゴリー編集で既存のカテゴリーを削除するとエラーになるバグを修正しました。
ver.1.08 2011.6.16
検索で、日本語の文字コードの途中でマッチするのを回避しました。init.cgiのバックアップファイル名を変更しました。

カテゴリー編集でエラーが出た場合


ver.1.09でカテゴリー編集でエラーが出るバグを修正していますが、それ以前のバージョンでエラーが発生してしまうとあとが大変なので、必ずバージョンアップしてください。
古いバージョンでエラーが発生してしまった場合の対応を書いておきます。

ver.1.09より古いバージョンでカテゴリー編集を行い、既存のカテゴリーを削除すると、init.cgiの@category =の行(5行目あたり)が

@category = );

のように既存のカテゴリーリストが消えてしまう上、init.cgiファイルが構文エラーとなってしまいます。
このため、長期予定表CGIそのものが起動出来なくなってしまいます。
init.cgiを編集した場合、init_bck.cgiに現状の設定をバックアップするようにしていますが、このケースの場合、init_bck.cgiも構文エラーとなってしまい、バックアップとして使用出来ません。*1
対策としては、お手数ですがFTPクライアントソフトでinit.cgiファイルをダウンロードの上、@category =の行を

@category = ();

あるいは、

@category = ('重要','会議','出張','プライベート');

のように書き換えてから再度アップロードしてください。
@category = ();とした場合はWEB上で再度カテゴリーの設定が必要になります。

使用法


ダウンロードしたcalendar.zipを解凍すると、以下のようなファイル、フォルダに展開されます。kent-webのholiday.plを使用させていただきました。

 public_html / 
    |
    +-- calendar / calendar.cgi  [705]
         |         init.cgi      [604]
         |         clip.gif      [604]
         |         img.gif       [604]
         |
         +--- lib / cgi-lib.pl  [604]
                    jcode.pl    [604]
                    holiday.pl  [604]

このうち、calendar.cgiをテキストエディタで開き、1行目の

 #!/usr/local/bin/perl

を使用するサーバに合わせて書き換えます。

このスクリプトは文字コードがEUCになっています。Windows付属のメモ帳はEUCに対応していないようです。お手数ですが、EUC対応のテキストエディタをお使いください。

サーバーにすべてのファイルをアップロードしたら、calendar.cgi のパーミッションを、サーバーでCGIとして実行できるものに変更してください。(たとえば上の図のように[705]など)

ブラウザで calendar.cgiにアクセスしてください。
最初のアクセスでは、管理者パスワードが設定されていない状態なので、パスワードを設定するように求められます。管理者パスワードを設定したら、まず掲示板の設定画面に移動しますので、必要に応じて設定を変更してください。
説明は以上です。その他不明な点、バグなどありましたら、CGI掲示板までお願いします。

更新履歴

2007.12.11
ver1.01 過去のメモがうまく表示されないバグを修正
2008.10.10
ver1.02 表示年数をクッキーに保存するよう修正
2010.02.26
ver.1.05 カレンダーのフォント、セルのサイズの微調整ボタンを追加し、クッキーに保存するようにしました。誰でも書き込みできる場合はタグを無効にしました。
2010.03.10
ver.1.06 画像などのファイルのアップロードできるよう変更しました。
2010.03.15
ver.1.061 メモに"(ダブルクォート)が含まれていると表示が崩れるバグを修正しました。
2010.03.30
ver.1.07 ファイルをオリジナル名のままアップロードできるようにしましたが、日本語の場合はURLエンコード化します。

*1カテゴリー編集の場合、既存init.cgiのバックアップが出来ていなかったようなので、このあたりの処理もver.1.09で修正しています



7260


>>2014/02/19 15:35:15更新>>