#!/usr/local/bin/perl
#┌─────────────────────────────────
#│ YY-BOARD v5.3 (2003/11/08)
#│ Copyright (c) KentWeb
#│ webmaster@kent-web.com
#│ http://www.kent-web.com/
#└─────────────────────────────────
# YY-BOARD v5.3用携帯電話対応スクリプト
# 2004/02/04 湯一路 http://www.url-battle.com/cgi/
# 外部ファイル取込
require './jcode.pl';
require './keitai.cgi';
require './yyini.cgi';
# メイン処理
&decode;
&axsCheck;
$sortnew = ($mode eq "sort");
$preview = ($mode eq "preview");
$msgview = ($mode eq "msgview");
if ($mode eq "imode") { &imode_write; }
elsif ($mode eq "howto") { &howto; }
elsif ($mode eq "find") { &find; }
elsif ($mode eq "res") { &resForm; }
elsif ($mode eq "image") { ℑ }
elsif ($mode eq "check") { ✓ }
elsif ($mode eq "idel") { &imode_del; }
elsif ($mode eq "iadmin") { &imode_admin; }
elsif ($mode eq "mobile_mail") { &mobile_mail; }
elsif ($mode eq "mobile_sendmail") { &mobile_sendmail; }
elsif ($mode eq "sendmail") { &send_mail; }
if ($imode && $imode_out && !$sortnew && !$preview && !$msgview) {$preview = 1;}
if ($sortnew || $preview) {$p_log = $new_log;$pageView = $p_log;}
if(!$imode_out && $imode && !$sortnew && !$preview){$pageView = $imodenum;}
&logView;
#--------------#
# 記事表示部 #
#--------------#
sub logView {
local($next,$back,$i,$flag);
# クッキー取得
local($cnam,$ceml,$curl,$cpwd,$cico,$ccol) = &get_cookie;
$curl ||= 'http://';
# ヘッダを出力
if ($ImageView == 1) { &header('ImageUp'); }
else { &header; }
# カウンタ処理
if ($counter) { &counter; }
if (!$imode){
# タイトル部
print "
\n";
if ($banner1 ne "") { print "$banner1
\n"; }
if ($t_img eq '') {
print "$title\n";
} else {
print "
\n";
}
print "$imode_msg\n";
print <
[トップに戻る]\
[留意事項]
[ワード検索]
EOM
# 過去ログのリンク部を表示
if ($pastkey) { print "[過去ログ]\n"; }
# 掲示板アドレスメール送信機能を表示
if ($send_mail) { print "[携帯に掲示板アドレスを送信]\n"; }
print <管理用]
EOM
}else{
if ($title_gif eq '') {
print "$title
\n";
}else{
print "

\n";
}
print "
書";
if (!$preview){
print "/
一覧";
}
if ($ihomepage eq ""){
}else{
print "/
戻";
}
if ($newok){
if ($preview && !$imode_out){
print "/
新/
標";
}elsif(!$sortnew){
print "/
新";
}else{
print "/
標";
}
}
if ($imode_del){
print "/
消";
}
if ($imode_admin){
print "/
管";
}
}
#新着順ソートルーチン
if ($sortnew){
# 記事を展開
open(IN,"$logfile") || &error("Open Error : $logfile");
@logdata =
;
close(IN);
$temp = shift(@logdata);
#投稿Noでソート
@tmp = map {(split /,/)[0]} @logdata;
@logdata = @logdata[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
foreach $log (@logdata) {
local($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico) = split(/<>/,$log);
$i++;
if ($i < $page + 1) { next; }
if ($i > $page + $pageView) { next; }
#imode用
if ($eml && $mailview) { $nam = "$nam"; }
#時間変換
&time_change;
print "
[$no]【$sub】
\n";
if (!$re) {
print "TO:$nam
$dat
\n";
if ($urlview && $url){print "[HOME]
\n";}
print "[返信]
";
}
else {
print "→TO:$nam
$dat
\n";
if ($urlview && $url){print "[HOME]
\n";}
print "[返信]
";
}
print "$com\n";
}
}elsif($msgview){
# 記事を展開
open(IN,"$logfile") || &error("Open Error : $logfile");
$top = ;
while () {
local($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico) = split(/<>/);
if ($in{'no'} eq "$no" || $in{'no'} eq "$re") {
#時間変換
&time_change;
if ($eml && $mailview) { $nam = "$nam"; }
if (!$re) {
print "
[$no]【$sub】
\n";
print "TO:$nam
$dat
\n";
if ($urlview && $url){print "[HOME]
\n";}
print "[返信]
";
}else{
print "
[$no]【$sub】
\n";
print "→TO:$nam
$dat
\n";
if ($urlview && $url){print "[HOME]
\n";}
# print "[返信]
";
}
print "$com\n";
#last;
}
}
print "
[返信]
";
if ($urlview && $url){print "[HOME]
\n";}
print "[一覧へ戻る]\n";
close(IN);
}else{
# 記事を展開
$i=0;
$flag=0;
open(IN,"$logfile") || &error("Open Error: $logfile");
$top = ;
while () {
local($no,$re,$dat,$nam,$eml,$sub,$com,$url,$hos,$pw,$col,$ico) = split(/<>/);
if ($re eq "") {
#レスの数を計算して表示
if ($preview && $i >= $page && $i <= $page + $pageView){
if ($rcount > 0){
print "($rcount)\n";
}
if ($i){
print "
\n";
}else{
print "
\n";
}
}
$i++;
}
if ($i < $page + 1) { next; }
if ($i > $page + $pageView) { next; }
if ($imode == 0){
# 題名の長さ
if (length($sub) > $sub_len*2) {
$sub = substr($sub,0,$sub_len*2);
$sub .= "...";
}
if ($eml) { $nam = "$nam"; }
if ($home_icon && $url) {
$url = "
";
} elsif (!$home_icon && $url) {
$url = "<Home>";
}
if (!$iconMode) { $com = "$com
"; }
if (!$re && $flag) {
print "
\n";
$flag=1;
}
if (!$re) {
print "\n";
$flag=1;
}
if ($re) { print " \n"; }
print "\n";
if ($re) { print "
| "; }
print "$sub ";
if (!$re) { print "投稿者:$nam 投稿日:$dat "; }
else { print "$nam - $dat "; }
print "No\.$no | ";
print " $url | \n";
if (!$re) {
print " | \n";
} else {
print " \n";
}
print "
\n";
if ($re) { print "
| \n"; }
# アイコンモード
if ($iconMode) { print " | "; }
print "$com | \n";
}else{
if (!$re && $flag) {
$flag=1;
}
if (!$re) {
$flag=1;
}
#時間変換
&time_change;
if (!$preview){
if ($eml && $mailview) { $nam = "$nam"; }
if (!$re) {
print " [$no]【$sub】 \n";
print "TO:$nam $dat \n";
if ($urlview && $url){print "[HOME] \n";}
print "[返信] ";
} else {
print " [$no]【$sub】 \n";
print "→TO:$nam $dat \n";
if ($urlview && $url){print "[HOME] \n";}
}
print "$com\n";
}else{
#一覧表示 投稿番号下3桁+タイトル全角9文字+/+名前1文字
if (length($sub) > 18){$sub = substr($sub,0,18);}
if (length($nam) > 6){$nam = substr($nam,0,6);}
#$sub = byte_check($sub);
#全角が分断されていないかチェック
#$name = byte_check($name);
$temp = sprintf("%-8s..%-4s", $sub, $nam);
$tempno = $no;
if (length($tempno) > 3){$name = substr($tempno,0,3)}
$tempno = sprintf("%-3d", $tempno);
if (!$re) {
print "$tempno$temp\n";
$rcount = 0;
}else{
$rcount++;
}
}
}
}
close(IN);
#レスの数を計算して表示(末尾用)
if ($preview && $i >= $page && $i <= $page + $pageView){
if ($rcount > 0){
print "($rcount) \n";
}
}
if (!$imode){print " |
\n";}
}
if (!$imode){
# ページ移動ボタン表示
if ($page - $pageView >= 0 || $page + $pageView < $i) {
print "| \n";
&mvbtn("$script?page=", $i, $pageView);
print " |
\n";
}
}else{
# ページ移動ボタン表示
if ($page - $pageView >= 0 || $page + $pageView < $i) {
print "
\n";
if ($sortnew) {
&mvbtn("$script?mode=sort&page=", $i, $pageView);
} else {
&mvbtn("$script?page=", $i, $pageView);
}
}
}
if (!$imode){
# 著作権表示(削除不可): 但し、MakiMakiさんの画像を使用しない場合に限り、
# MakiMakiさんのリンクを外すことは可能です。
print <
NO:
PASS:
$banner2
- KENT &
MakiMaki -
携帯用改造:湯一路
EOM
}else{
print <オリジナル:KENT
携帯用改造:湯一路
EOM
}
print <