#┌───────────────────────────────── #│ 携帯用表示モジュール for Joyful Note v1.95 Rev1.94 #│ Copyright isso. Sep, 2006 #└───────────────────────────────── #------------------# # 新着順一覧表示 # #------------------# sub keitai_new_list { local($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm,$i,$j,$k); if ($mode eq "k_admin") { if ($in{'pass'} eq "") { &enter; } if ($in{'pass'} ne $pass) { &error("パスワードが違います"); } } $i = 0; open(IN,"$logfile") || &error("Open Error : $logfile"); $top = ; while () { chomp; ($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm) = split(/<>/); $no{$i} = $no; $reno{$i} = $reno; $sub{$i} = $sub; $email{$i} = $email; $url{$i} = $url; $name{$i} = $name; $dat{$i} = $dat; $msg{$i} = $msg; $tm{$i} = $tm; $h{$i} = $h; $pw{$i} = $pw; $i++; } &header; print "$title
\n"; if ($mode eq "k_admin" || $in{'kmode'} eq "admin") {print "$keitai_mode
\n";} if ($mode eq "k_admin" || $in{'kmode'} eq "admin") { print "\n"; print "
\n", "
\n", "\n", "\n", "\n", "

\n", "
\n"; } else { print "親記事順/", "投稿/", "管理
\n"; } # ソート処理 $j = 0; $page = $in{'page'}; foreach (sort { ($no{$b} <=> $no{$a}) } keys(%no)) { $j++; if ($j < $page + 1) { next; } if ($j > $page + $keitai_page) { next; } if ($reno{$_} eq '') { print "$treehead"; } else { print "$cohead"; } if ($mode eq "k_admin" || $in{'kmode'} eq "admin") { print "削除 ", "[$no{$_}] $sub{$_}
\n"; } else { print "$sub{$_}
\n"; } } if ($mode eq "k_admin" || $in{'kmode'} eq "admin") { print "
\n\n", "\n", "パスワード: \n", "\n", "
\n"; } $next = $page + $keitai_page; $back = $page - $keitai_page; print "
\n"; if ($back >= 0) { print "\n"; } if ($next < $i) { print "\n"; } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "- Joyful Note -
\n", "携帯対応 by isso\n"; print "\n"; exit; } #--------------------# # タイトル一覧表示 # #--------------------# sub keitai_list_view { local($no,$reno,$dat,$name,$eml,$sub,$i,$j,$k); if ($mode eq "k_admin") { if ($in{'pass'} eq "") { &enter; } if ($in{'pass'} ne $pass) { &error("パスワードが違います"); } } $i = 0; open(IN,"$logfile") || &error("Open Error : $logfile"); $top = ; while () { ($no,$reno,$dat,$name,$eml,$sub) = split(/<>/); if ($reno eq '') { $no{$i} = $no; $reno{$i} = $reno; $sub{$i} = $sub; $num{$i} = $i; $i++; } } &header; print "$title
\n"; if ($in{'pass'} eq $pass || $in{'kmode'} eq "admin") {print "$keitai_mode
\n";} if ($in{'pass'} eq $pass || $in{'kmode'} eq "admin") { print "\n"; print "
\n", "
\n", "\n", "\n", "\n", "

\n"; } else { print "新着順/", "投稿/", "管理
\n"; } # ソート処理 $j = 0; $page = $in{'page'}; foreach (sort { ($num{$a} <=> $num{$b}) } keys(%num)) { $j++; if ($j < $page + 1) { next; } if ($j > $page + $keitai_page) { next; } if ($reno{$_} eq '') { print "$treehead"; } else { print "$cohead"; } if ($in{'pass'} eq $pass || $in{'kmode'} eq "admin") { print "[$no{$_}] $sub{$_}
\n"; } else { print "$sub{$_}
\n"; } } $next = $page + $keitai_page; $back = $page - $keitai_page; print "
\n"; if ($back >= 0) { print "\n"; } if ($next < $i) { print "\n"; } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "- Joyful Note -
\n", "携帯対応 by isso\n"; print "\n"; exit; } #----------------------# # スレッド内順表示 # #----------------------# sub keitai_log_list { local($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm,$i,$j,$k); $i = 0; open(IN,"$logfile") || &error("Open Error : $logfile"); $top = ; while () { ($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm) = split(/<>/); if ($in{'no'} eq $reno || $in{'no'} eq $no) { $no{$i} = $no; $reno{$i} = $reno; $sub{$i} = $sub; $email{$i} = $email; $url{$i} = $url; $name{$i} = $name; $dat{$i} = $dat; $msg{$i} = $msg; $tm{$i} = $tm; $h{$i} = $h; $pw{$i} = $pw; $i++; } } &header; print "$title
\n"; if ($mode eq "k_admin" || $in{'kmode'} eq "admin") {print "$keitai_mode
\n";} if ($mode eq "k_admin" || $in{'kmode'} eq "admin") { print "\n"; print "\n"; print "
\n", "
\n", "\n", "\n", "\n", "
\n", "\n", "\n", "\n", "

\n", "
\n"; } else { print "親記事順/", "新着順/", "管理
\n"; } # ソート処理 $j = 0; $page = $in{'page'}; foreach (sort { ($no{$a} <=> $no{$b}) } keys(%no)) { $j++; if ($j < $page + 1) { next; } if ($j > $page + $keitai_page) { next; } if ($reno{$_} eq '') { print "$treehead"; } else { print "$thcohead"; } if ($mode eq "k_admin" || $in{'kmode'} eq "admin") { print "削除 ", "[$no{$_}] $sub{$_}
\n"; } else { print "$sub{$_}
\n"; } } if ($mode eq "k_admin" || $in{'kmode'} eq "admin") { print "
\n\n", "\n", "パスワード: \n", "
\n"; } $next = $page + $keitai_page; $back = $page - $keitai_page; print "
\n\n"; if ($back >= 0) { print "\n"; } if ($next < $i) { print "\n"; } print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "- Joyful Note -
\n", "携帯対応 by isso\n"; print "\n\n"; exit; } #------------------# # メッセージ表示 # #------------------# sub keitai_msg_view { local($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm,$i,$j,$k); &header; print "$title
\n"; if ($mode eq "kaview" || $in{'kmode'} eq "admin") {print "$keitai_mode
\n";} if ($mode eq "kaview" || $in{'kmode'} eq "admin") { print "親記事順/", "新着順
\n", "
\n"; } else { print "親記事順/", "新着順/", "管理
\n"; } $i = 0; open(IN,"$logfile") || &error("Open Error : $logfile"); $top = ; while () { ($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm) = split(/<>/); if ($in{'no'} eq $no) { if($reno) { $oya =$reno; } else { $oya = $no; } # コメントタイトル $res_sub = $sub; $res_sub =~ s/<([^>]|\n)*>//g; if ($res_sub =~ /^Re(.*)/) { $res_sub = "Re$1"; } else { $res_sub = "Re: $res_sub"; } # コメント print "No\.$no
\題名: $sub
\n投稿者: $name さん
\n$msg"; # 添付画像 if ($tail) { # サムネイル画像あり $imgfilename = "$imgurl$no"."s"."$tail"; if (-e "$imgfilename") { print "
\n
\n添付画像ファイル
\n"; } else { # サムネイル画像なし if ($tail eq ".gif" || $tail eq ".jpg" || $tail eq ".png") { $imgfilename = "$imgurl$no$tail"; if (-e "$imgfilename") { $size = int(( -s "$imgfilename" )/1000); $size = ($size < 1000) ? ($size)."kB" : (int(($size+50)/100)/10)."MB"; print "
\n
\n添付画像ファイル ($size)
\n"; } } } } "\n\n"; } else { print "\n", "\n"; } print "
\n"; print "\n"; if ($mode eq "kaview" || $in{'kmode'} eq "admin") { print "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "\n", "
\n"; } } if ($mode eq "kmsgview") { &edit_form; } print "\n\n"; exit; } #----------------# # 投稿フォーム # #----------------# sub k_msg_form{ # クッキーを取得 local($cname,$cmail,$curl,$cpwd,$cico,$ccol) = &get_cookie; my $access = &encode_bbsmode(); my $enaddress = &encode_addr(); if ($keychange && $_[0] ne "edit") { $url_key = 'email'; $mail_key = 'url'; $name_key = 'comment'; $comment_key = 'name'; } else { $url_key = 'url'; $mail_key = 'email'; $name_key = 'name'; $comment_key = 'comment'; } &header; print "[掲示板へ戻る]\n"; $wrap=$iniwrap; # 修正時 if ($_[0] eq "edit") { ($edittype,$no,$reno,$date,$cname,$cmail,$res_sub,$res_msg,$curl,$host,$pw,$kcolor) = @_; print "修正フォーム
\n", "
\n"; print "\n"; print "\n"; print "\n", "\n", "\n", "\n"; # 返信時 } elsif ($in{'kaction'} eq 'comment') { $res_sub = $in{'res_sub'}; print "
- 返信フォーム -
\n", "\n"; print "\n"; print "\n"; print "\n", "\n", "\n", "\n"; # 新規時 } else { print "
- 新規投稿フォーム -
\n", "\n"; print "\n"; print "\n"; print "\n", "\n"; } print "おなまえ
\n"; print "Eメール \n", "\n"; if ($in_email) { print "必須\n"; } print "
\n"; print "タイトル \n", "\n\n", "\n", "\n
\n"; $f_c_d = int(rand(5E07)) + 11E08; print "URL \n", "\n", "
\n"; print "\n"; print "メッセージ
\n"; print "
\n"; if ($_[0] eq "edit") { print "

\n"; } else { print "暗証キー \n"; if ($in_pwd) { print "※必須"; } print "
(英数字で8文字以内)
\n"; if ($_[0] ne "edt") { print "\n"; } print "\n"; } print "\n\n"; exit; } #------------# # 入室画面 # #------------# sub enter { &header; print <掲示板へ戻る
管理者パスワード:
EOM exit; } #------------# # 記事削除 # #------------# sub k_dele { local($no,$reno,$dat,$name,$eml,$sub,$msg,$url,$h,$pw,$color,$tail,$w,$h,$chk,$tm); # POST限定 if ($postonly && !$post_flag) { &error("不正なアクセスです"); } if ($in{'pass'} ne $pass) { &error("パスワードが違います"); } # ロック開始 &lock if ($lockkey); @DEL = split(/\0/, $in{'no'}); # ロック処理 if ($lockkey) { &lock; } # 削除情報をマッチングし更新 @new=(); open(IN,"$logfile") || &error("Open Error: $logfile"); $top = ; while () { $flag=0; ($no,$reno,$d,$n,$m,$s,$com,$u,$ho,$p,$c,$tail,$w,$h,$chk) = split(/<>/); foreach $del (@DEL) { if ($no eq $del || $reno eq $del) { if (-e "$imgdir$no$tail") { unlink("$imgdir$no$tail"); } $flag=1; last; } } if ($flag == 0) { push(@new,$_); } } close(IN); # 更新 unshift(@new,$top); open(OUT,">$logfile") || &error("Write Error: $logfile"); print OUT @new; close(OUT); # ロック解除 if ($lockkey) { &unlock; } &header; print "\n"; print "
\n", "
\n", "\n", "\n", "\n", "
\n"; print "\n"; exit; } #----------------# # 修正フォーム # #----------------# sub edit_form { print < - 記事の修正・削除 -
処理選択
記事No.
暗証キー

- Joyful Note -
携帯対応 by isso EOM exit; } #----------------# # 書き込み完了 # #----------------# sub k_after { &header; print "掲示板へ戻る\n"; print "\n"; exit; } 1;