#!/usr/local/bin/perl #---------------------------------------------------------------------------- # 練習予定表 version 0.2 # # Copyright (C) 2000 WackyFactory / WAKI Toshihito # # このスクリプトは、ネットサーフレスキュー[Web裏技]で配布されている # CSV エディタを改造したものです。利用条件などについては、WackyFactory # http://www2b.biglobe.ne.jp/~wakit/SOFTWARE/ をご参照ください。 # # Original Copyright: # ---------------------------------------------------------------------------- # CSV EDITOR (FreeSoft) v1.00 for SJIS # (c)www.rescue.ne.jp #---------------------------------------------------------------------------- # 配置構成 # | # |-- yotei.cgi <755> # |-- yotei.csv <666> ... データファイル(空のファイルを用意) # |-- yotei.bak <666> ... バックアップファイル(空のファイルを用意) # |-- jcode.pl <644> # 使用上の注意 # # 1. perl5専用です。プロバイダによっては1行目のperlのパスを書き換える必要があります。 # 2. データに<>",を扱っているファイルの編集はできない. # 3. サーバ上のデータはこまめにローカルバックアップをすること. # 4. 自動バックアップファイルは書き換え毎に追加記録されるので、サイズに注意. # [History] # 1.00 04/JUL/1999 初版 # ==================================================================== # 0.1 31/OCT/2000 練習予定表として改造第1版 # 0.2 04/DEC/2000 日付フィールドの処理方法を変更 #---------------------------------------------------------------------------- #●日付の見出し $hiduke_midashi = '日付'; #●項目名 @table = ( $hiduke_midashi, '時間', '場所', '備考', '欠席者', ); #●1画面に表示する行数 $page = 30; #●日本語コード変換ライブラリ require 'jcode.pl'; #●編集対象となるファイル $file = 'yotei.csv'; #●バックアップ用ファイル $backup = 'yotei.bak'; #●終了したときに戻る先の URL $modoru = './'; #●表示順 (0:正順/古い順 1:逆順/新着順) .. 新規記録はこれに関係なくデータの後ろに追加される $rev = 0; #●画面の色や背景の設定 (HTML書式) $body = '
'; #---------------------------------------------------------------------------- ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); @wday_array = ('日','月','火','水','木','金','土'); $date_now = sprintf("%04d年%01d月%01d日(%s)%02d時%02d分%02d秒",$year +1900,$mon +1,$mday,$wday_array[$wday],$hour,$min,$sec); if ($file eq '') { &error("File Not Found","編集するファイルが指定されていません."); } if (!-e "$file") { &error("File Not Found","$fileが見つかりません."); } if (!open(IN,"$file")) { &error("Can't Open File","$fileを開くことができません."); } @BASE =| $_ | \n"; } print <<"EOF";編集 | 削除 | 順序 |
|---|---|---|---|
| $itm | \n"; $i++; } print <<"EOF";段 |
EOF print "
EOF exit; } sub edit { local ($target) = @_; if ($target eq '-NEW-' || $target > $#BASE) { $FORM{'restart'} = 0; } if ($target ne '-NEW-') { $line = $BASE[$target]; $line =~ s/\n//g; @items = split(/\,/,$line); } else { $target = 'ADD'; } print "Content-type: text/html\n\n"; print <<"EOF";