新着講義リスト$titleについて
$titleは、 いかなる大学、組織とも関係ありません。 また、記載されている情報の信憑性を保障するものではありません。 各自の判断でご利用ください。単位取得は計画的に。 ヾ(´▽`;)ゝ
関連サイト: 琉大ちゃんねる -オキナビ - 2005オンラインシラバス(でもあんまないかも) -琉球大学
#!/usr/local/bin/perl ################################### #http://web.archive.org/web/20010305223003/http://www.ritsumei.ac.jp/~ec072981/ # ホームページ use Benchmark; $t1 = new Benchmark; # # ニュース記事 # $HEADLINE_HTML =<<'__EOF__';
琉球大学の講義のレビューを書きませんか?
__EOF__
##################################
#ここから設定
#
# 辞書の名前
$title = '琉大ナビ 裏講義概要';
# メールアドレス
$mail = 'mail@oki-nabi.com';
# パスワード(必ず変更すること)
$pass = 'mimimi320';
$super_passwd = "mimimi320";
# このCGIファイルの名前
$thiscgi ='review.cgi';
#オンラインシラバスのURL
$onlinesyl = "http://www.u-ryukyu.ac.jp/syllabus/sylla_top.html";
#科目名+ファイル名一覧ファイル
$lecfile = 'bkc/lecdata.csv';
#学部・コース・インスティテュート・科目分類一覧ファイル
$catfile = 'bkc/leccat.csv';
#タイトル行を保存するログファイルを入れるディレクトリ
$titledir = './bkc/title/'; #パーミッション777
#スレッドの記事を保存するログファイルを入れるディレクトリ
$datadir = './bkc/log/'; # パーミッション777
#画像保存
$pic_dir = "./bkc/pic/";
$def_print_num = 20;#一頁に表示する件数
$ok_time = 120;#同じスレッドに対する投稿禁止期間(秒)
# ライブラリへのパス
require 'cgi-lib.pl';
require './jcode.pl';
require './mylib.pl';
############################
# 設定ここまで
############################
&ReadParse; #デコード
$mode = $in{"mode"};
$n = $in{"n"};
$o = $in{"o"};
$passwd = $in{"passwd"};
$subject = $in{"subject"};
$teacher = $in{"teacher"};
$about = $in{"about"};
$facl = $in{"facl"};
$stat = $in{"stat"};
$repu = $in{"repu"};
$enjoy = $in{"enjoy"};
$name = $in{"name"};
$pass = $in{"pass"};
$seme = $in{"seme"};
$year = $in{"year"};
$file = $in{"file"};
&jcode'convert(*about,sjis);
&jcode'convert(*name,sjis);
&jcode'convert(*year,sjis);
&jcode'convert(*subject,sjis);
&jcode'convert(*teacher,sjis);
&jcode'convert(*facl,sjis);
$next =0;
if($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/ ){ # ZIP圧縮できる場合(高速)
print "Content-type: text/html\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| /usr/bin/gzip -1 -c");
}else{ # ZIP圧縮できない場合(通常)
print "Content-type: text/html\n\n";
}
print <<"HT";
新着講義リスト$titleは、 いかなる大学、組織とも関係ありません。 また、記載されている情報の信憑性を保障するものではありません。 各自の判断でご利用ください。単位取得は計画的に。 ヾ(´▽`;)ゝ
関連サイト: 琉大ちゃんねる -オキナビ - 2005オンラインシラバス(でもあんまないかも) -琉球大学
講義の内容をレビューした高品位な講義レビューを募集しています。 ためになる講義、先生の熱意が感じられる講義など講義の情報をみんなで共有しよう。
HT &KensakuForm; print "
| 検索結果 |
"; #my $count = 0; $flag_num = int($temp_max / $def_print_num)+1; for($temp = 1 ;$temp <= $flag_num; $temp++){ print "$temp|"; } print "(全$temp_max件)
"; #$num_of_view_list#表示件数 #$p#$p=最初の数 #$print_num = $p + $num_of_view_list;#最終数 open (LOG ,"$lecfile"); # 個人ログファイルオープン my $num_of_view_list=1; while(選択した学部・学科・コース・インスティテュートには講義情報は登録されていません。募集中!
"; } } sub Guideline{ print <<"HT";
また、以下の内容についてもご注意ください。
ログについて
その科目がなくなったものや、担当教員が変わった場合、2年以上立ったものは削除したいと思います。 そのレビューが参考になりそうな場合は残しておくことにします。
HT } sub ViewEachData{ my $now_unix_time = time; #日付獲得 ($sec,$min,$hour,$mday,$mon,$year_t,$i) = localtime(time); $month = ($mon + 1);$year_t = ($year_t + 1900); $date = "$year_t/$month/$mday"; if($mode eq "regi3"){ #講義スレッドをたてる #二重投稿か? open CHK,"$lecfile"; my $marketdata; read(CHK,$before_data,512); ($b_num,$b_subject) = split(/<>/,$before_data); if($b_subject eq "$subject"){ $err_comment = "二重投稿はできません。"; }else{#違う @each_facl = split(/\0/,$facl); #時間だけだとダブる可能性があるので、乱数を利用 srand;$random=int(rand(10)); #ファイルネーム(スレッド番号)の作成 $datefile="$year_t$month$mday$hour$min$sec$random"; $file = "$datefile".".dat"; $short_data = "$subject"; $name_data = "$teacher"; foreach $number (@each_facl){ InputToFirstLine($lecfile,"$number<>$subject<>$teacher<>$datefile.dat<>$about<>\n");#一覧保存 open (CAT ,"$catfile"); #オープン @alldata = (
(二重投稿を防止するため)"; }else{ my $new_rev_num = $num_rev_data + 1; WriteNewData("$titledir$file","$short_data<>$name_data<>$file_name_data<>$stat<>$new_rev_num<>$pic_data<>$kaisei<>$now_unix_time<>\n");#タイトルファイル #講義情報追加 open(IN, ">>$datadir$file"); flock(IN,2); print IN "$repu<>$enjoy<>$year<>$seme<>$subject<>$about<>$name<>$pass<>$facl<>$ip<>$now_unix_time<>$date<>$stat<>\n"; flock(IN,8); close(IN); } } } &GetSbjData("$file");#$short_data,$name_data,$file_name_data,$stat_data,$num_rev_data,$pic_data print <<"HT"; HT if($err_comment){ print "
";
print "$err_comment\n"; print " |
|
$short_data $name_data(担当) HT if($stat_data == 3){ print " |
| 現在は開講してない可\能\性があり。 |
| 担当教員が変更の可\能\性があり。 |
| 琉球大学 |
配当:$kaisei |
この講義についてのレビュー(講義評価)を書く!
レビュー(講義評価)まだ誰も書き込んでいません。情報提供をおねがいします。
";} print <<"HT";
HT
open (CAT ,"$catfile"); # 個人ログファイルオープン
@facl = (
";
$count++;
}
}
print <<"HT";
$name_data HT } sub Input{ my $file = $_[0]; &GetSbjData("$file");#$short_data,$name_data,$file_name_data,$stat_data,$reviw_num_data print <<"HT";
|
講義レビューを書く $short_data $name_data これでいいですか?よい場合は、登録ボタンを押してください。 |
|
新規登録にあたって 講義基礎データの登録にご協力ください。
|
参考:琉大オンラインシラバス
HT &RegiForm; } #改訂する sub RegiRevise{ #データゲット &RegiForm; } ###### 登録2 sub RegiPage2{ @each_facl = split(/\0/,$facl); if($subject eq "" || $teacher eq "" | $facl eq "" ||$about eq ""){ print <<"HT";未記入項目があります。
戻って再記入 HT }else{ print <<"HT"; 講義基礎データ新規登録| 科目名 | $subject |
| 担当者 | $teacher |
| 配当年次 | $about |
| 学部・学科・コース・インスティテュート | |
| $name | |
HT }else{ my ($repu,$year,$seme,$subject,$about,$name,$pass,$facl,$ip,$time,$time,$stat) = split(/<>/,$_); $strings = substr($subject,0,120); print "
"; } $line_count++; } }else{ print "ぱすわーどがちがうよ"; } } ### 登録フォーム sub RegiForm{ print <<"HT"; HT } sub NewList{ #タイトルリストを、日付を使ってソート #きれいに書ける気がするけど、とりあえず動いてるのでママ opendir(DIR, "$datadir"); my @tmp0 = grep /^[^.]/, readdir DIR; my @tmp1 = map { [$_, -M "$datadir/$_"] } @tmp0; my @tmp2 = sort { $a->[1] <=> $b->[1] } @tmp1; my @logz = map { $_->[0] } @tmp2; for($i = 0 ; $i<5;$i++){ $filename = $logz[$i]; $filename =~ s#.*/##; &GetSbjData($filename); $num = $i+1; &PrintList("$num","$filename","$short_data","$name_data","$pic_data","$num_rev_data","$stat_data","$kaisei",2); } } sub AllList{ #タイトルリストを、日付を使ってソート #きれいに書ける気がするけど、とりあえず動いてるのでママ opendir(DIR, "$datadir"); my @tmp0 = grep /^[^.]/, readdir DIR; my @tmp1 = map { [$_, -M "$datadir/$_"] } @tmp0; my @tmp2 = sort { $a->[1] <=> $b->[1] } @tmp1; my @logz = map { $_->[0] } @tmp2; print <<"HT"; 講義一覧データファイルが更新されたものから順に$def_print_num件づつ\表\示
HT #foreach $filename (@logz){ my $num_of_data = @logz; my $first; if($n eq ""){ $first =0; }else{ $first = $n; } $how = int($num_of_data /$def_print_num) * $def_print_num; if($num_of_data % $def_print_num != 0){ $how = $how + $def_print_num; } my $count = 0; print ""; for($j = 0 ; $j<$how;$j = $j +$def_print_num){ $count++; if($n >= $j && $n < $j +$def_print_num){ print "$count|"; }else{ print "$count|"; } } print "(全$num_of_data件)
"; my $print_num = $def_print_num + $n; for($i = $first ; $i<$print_num;$i++){ $filename = $logz[$i]; $filename =~ s#.*/##; &GetSbjData($filename); if($num_rev_data eq ""){$num_rev_data =0;} if($filename ne ""){ my $num = $i +1; &PrintList("$num","$filename","$short_data","$name_data","$pic_data","$num_rev_data","$stat_data","$kaisei"); } } print ""; $count = 0; for($j = 0 ; $j<$how;$j = $j +$def_print_num){ $count++; if($n >= $j && $n < $j +$def_print_num){ print "$count|"; }else{ print "$count|"; } } if($num_of_data > $print_num){ print "次の$def_print_num件\n"; print "
"; } } sub ReqSearch{ print <<"HT"; 条件検索
工事中
| ";
print "$num_of_list.\n"; print "$sbj_name | |
| $staff_name(担当) | ||
| レビューの数:$rev_data | ||
| 現在開講されていない可\能\性があります。\n"; }elsif($stat_data == 2){ print " | ||
| 担当教員が変わっている可\能\性があります。\n"; }else{ print " | ||
| 琉球大学\n"; } if($grade_data eq "x" || $grade_data eq ""){ print "配当年次不明"; }else{ print "$grade_data年次配当"; } print " |
\n"; } sub PrintReview{ print "
";
print "難易度:";
$rest_star = 5 - $repu;
for($star=0;$star < $repu;$star++){
print "☆";
}
for($r_star=0;$r_star < $rest_star;$r_star++){
print "☆";
}
print " ";
print "満足度:";
$rest_star = 5 - $enjoy;
for($star=0;$star < $enjoy;$star++){
print "☆";
}
for($r_star=0;$r_star < $rest_star;$r_star++){
print "☆";
}
print "\n\n (試験についてのコメント)\n
投稿者 $name\";
if($facl == 1){print "(法文学部)";}
if($facl == 2){print "(教育学部)";}
if($facl == 3){print "(理学部)";}
if($facl == 4){print "(医学部)";}
if($facl == 5){print "(工学部)";}
if($facl == 6){print "(農学部)";}
if($facl == 7){print "(その他)";}
print "\n $year\年\n";
if($seme == 1){print "前期に受講";}
if($seme == 2){print "後期に受講";}
if($seme == 3){print "通年に受講";}
if($seme == 4){print "夏季に受講";}
if($seme == 5){print ",その他の期間に受講";}
if($seme == 6){print "に受講(セメスターは不明)";}
print "
\n\n";
print "$subject\n";
if($about){
print "
$about";
}
print "
\n\n";
}
sub Kensaku{
$word = $_[0];
if($word eq ""){
&KensakuForm;
}else{
print "\"$word\"の検索結果
";
&KensakuForm($word);
open (CA ,"$lecfile"); # categoryオープン
$num=1;
while(該当する講義は存在しません。
";
print "検索のヒント";
print "検索語を短めに。ex. 苗字のみにする。";
}
}
}
sub KensakuForm{
my $word = $_[0];
print <<"HT";