# logview_tel1.pl 最終更新 2010/01/18 #┌───────────────────────────────── #│ 携帯対応YY-BOARD(改) #│ logview_tel1.pl 通常版・マルチ掲示板対応版共用 #│ for yybbs.cgi #└───────────────────────────────── #------------------------------------------------- # 記事表示部(ケータイ) #------------------------------------------------- sub logView { my ($res,$ResNG,$mhtml); local (@mhtml,$mhtml_size); # DoCoMo用formタグ my $utnform1 = "
"; $sortnew = ($mode eq "sortnew"); $preview = ($mode eq "preview"); $msgview = ($mode eq "msgview"); $tree = ($mode eq "tree"); # 携帯での表示モード用 # if ($imode_out == 0) { # if ($in{'mode2'} eq "sortnew") { $sortnew = 1; } # elsif ($in{'mode2'} eq "preview") { $preview = 1; } # elsif ($in{'mode2'} eq "tree") { $tree = 1; } # } # if ($imode_out && $in{'mode2'} eq "sortnew") { $sortnew = 1; } # elsif ($imode_out && !$sortnew && !$preview && !$msgview && !$tree) { $preview = 1; } if ($imode_out && !$sortnew && !$preview && !$msgview && !$tree) { $preview = 1; } # 1ページ当たりの記事表示数 if ($sortnew) { $pageView = $new_log; } # 新着表示 elsif ($preview) { $pageView = $p_my_log; } # 一覧表示 elsif ($msgview) { $pageView = $p_msg_log; } # メッセージ表示 elsif ($tree) { $pageView = $new_log; } # ツリー表示 else { $pageView = $new_log; } # 標準表示 # ヘッダを出力 # $mhtml .= &header('','','skin'); &mhtml(&header('','','skin')); # uemini_link表示用 $uemini_flag = 1; # ページ内リンク用 if ($pageLink2 && $mode ne 'allno2') { # $mhtml .= qq |\n|; &mhtml(qq |\n|); } # カウンタ処理 my $kiri; if ($counter && $mode ne "allno" && $mode ne "allno2" && !$msgview) { # $kiri = &counter; my $view; ($view,$kiri) = &counter('skin'); # $mhtml .= qq |$view
\n|; &mhtml(qq |$view
\n|); } # キリ番機能 if ($kiri) { &mhtml(&tag_on($kiri)); } # 掲示板のタイトル if ($mode ne "allno2") { if ($ititleView) { $ititleView =~ s/!it_img!/$it_img/g; $ititleView =~ s/!title!/$title/g; &mhtml(&tag_on($ititleView)); } elsif ($it_img) { &mhtml(qq |
\n|); } elsif ($tColi) { &mhtml(qq |$title
\n|); } else { &mhtml(qq |$title
\n|); } } # メッセージ if ($messegei && $mode ne "allno" && $mode ne "allno2" && !$msgview) { &mhtml(&tag_on($messegei)); &mhtml(qq |\n|); } # タグ広告等 if ($Tbanner1 ne '' && (($Tbanner1View == 1 && $mode ne 'allno' && $mode ne 'allno2' && !$msgview) || ($Tbanner1View == 2 && $msgview) || ($Tbanner1View == 3 && $mode ne 'allno' && $mode ne 'allno2'))) { my $w; # 作戦C:google.phpを起動 if ($GgAdS == 2) { $w = `php -f $Tbanner1`; # 作戦B:google.cgiを起動 } elsif ($GgAdS == 1) { $w = `perl $Tbanner1`; # 作戦A:google.cgiから読み込み } else { require $Tbanner1; $w = &google_mobile; } &mhtml(qq |
\n$w\n|); } if ($mode ne "allno2") { &mhtml(qq |
\n|); } if ($miruPass && $mode ne "allno" && $mode ne "allno2" && !$msgview) { # 閲覧者限定時 # 新規投稿後の表示モードの設定 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } &mhtml(qq |\n|); if ($preview == 1 || ($msgview == 1 && $in{'tp'} ne 'tree')) { &mhtml(qq |\n|); } elsif ($tree == 1 || ($msgview == 1 && $in{'tp'} eq 'tree')) { &mhtml(qq |\n|); } elsif ($sortnew == 1) { &mhtml(qq |\n|); } else { &mhtml(qq |\n|); } # HOME if ($ihomepage eq '') { &mhtml(qq |HOME \n|); } else { &mhtml(qq |HOME \n|); } # 新規投稿 &mhtml(qq |\n|); # 掲示板の使い方 &mhtml(qq |\n|); # ページ下部へのリンク if ($pageLink1) { my $btn; if ($button) { $btn = " $button=\"8\""; } &mhtml(qq | $pageLink1\n|); } &mhtml(qq |
\n|); } elsif ($mode ne "allno" && $mode ne "allno2" && !$msgview) { # HOME if ($ihomepage eq '') { &mhtml(qq |HOME|); } else { &mhtml(qq |HOME|); } # 新規投稿 if ($preview == 1 || ($msgview == 1 && $in{'tp'} ne 'tree')) { &mhtml(qq |/新規投稿|); } elsif ($tree == 1 || ($msgview == 1 && $in{'tp'} eq 'tree')) { &mhtml(qq |/新規投稿|); } elsif ($sortnew == 1) { &mhtml(qq |/新規投稿|); } else { &mhtml(qq |/新規投稿|); } # 掲示板の使い方 &mhtml(qq |/|); # ページ下部へのリンク if ($pageLink1) { my $btn; if ($button) { $btn = " $button=\"8\""; } &mhtml(qq |/$pageLink1|); } &mhtml(qq |
\n|); } # 表示方法の設定 if ($miruPass && $mode ne "allno2") { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } &mhtml(qq |\n|); if ($imode_out == 0) { &mhtml(qq ||); } &mhtml(qq ||); if ($newok == 1) { &mhtml(qq ||); } &mhtml(qq ||); if ($mode ne 'allno' && !$msgview) { &mhtml(qq ||); } # ページ下部へのリンク elsif ($pageLink1) { my $btn; if ($button) { $btn = " $button=\"8\""; } &mhtml(qq |$pageLink1|); } &mhtml(qq |\n\n|); } elsif ($mode ne "allno2") { if ($imode_out == 0) { if ($preview == 0 && $sortnew == 0 && $msgview == 0 && $tree == 0 && $mode ne "allno") { &mhtml(qq |標準/|); } else { &mhtml(qq |標準/|); } } if ($newok == 0) { &mhtml(qq |一覧|); } else { if ($preview == 1 && $mode ne "allno") { &mhtml(qq |一覧|);} else { &mhtml(qq |一覧|); } } if ($newok == 1) { if ($sortnew == 1) { &mhtml(qq |/新着|); } else { &mhtml(qq |/新着|); } } if ($tree == 1) { &mhtml(qq |/ツリー|); } else { &mhtml(qq |/ツリー|); } if ($mode ne 'allno' && !$msgview) { &mhtml(qq |/拡張|); } # ページ下部へのリンク elsif ($pageLink1) { my $btn; if ($button) { $btn = " $button=\"8\""; } &mhtml(qq |/$pageLink1|); } &mhtml(qq |
\n|); } # 閲覧者限定時・表示ページ取得(メッセージ表示) if ($page eq '' && $in{'pagex'} ne '') { $page = $pageView * ($in{'pagex'} - 1); } # ページ区切り処理 my $start = $page + 1; my $end = $page + $pageView; my $i = 0; # 記事を展開 # 一記事全文表示 if ($mode eq "allno" || $mode eq "allno2") { if (!$in{'no'}) { &error('記事番号が指定されていません'); } my $flag = 0; open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { my ($no,$mytime) = (split(/<>/))[0,12]; # 疑似削除(非表\示)した記事 if ($no == $in{'no'} && $mytime =~ /^6/) { $flag = 2; last; } if ($in{'no'} == $no) { # 記事の表示 chomp; &mhtml(&KijiView($_)); $flag = 1; last; } } close(IN); # 疑似削除(非表\示)した記事 if ($flag == 2) { &error("削除された記事は表\示できません"); } elsif (!$flag) { &error('該当の記事が見つかりません'); } # 関連ツリー表示 if ($in{'tp'} eq 'tree' && $mode eq "allno") { my ($subC,$namC) = &color1; local($no,$re,$dat,$nam,$eml,$sub,$mytime); local(%dat,%nam,%sub,%mytime); &mhtml(qq |
関連ツリー
\n|); # 記事を展開 open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { ($no,$re,$dat,$nam,$eml,$sub,$mytime) = (split(/<>/))[0,1,2,3,4,5,12]; # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } if ($in{'top'} && ($in{'top'} != $no && $in{'top'} != $re) || !$in{'top'} && ($in{'no'} != $no && $in{'no'} != $re)) { next; } # 親記事 if (!$re) { push(@view,$no); } # レス記事 else { $res{$re} .= "$no,"; } # 疑似削除した記事の処理 if ($mytime =~ /^0/) { &dude; } # 管理人未認証の記事 if ($mytime =~ /^9/) { &chkMae; } # 全角→半角変換 if ($telHalf) { $sub = &tel_half($sub); $nam = &tel_half($nam); } # 絵文字処理 # 長さ調整 if ($subC && ($imode == 3 || $imode == 8 || $imode == 6)) { $sub = &emoji_length($sub,2,'tel',$sub_leni_pre,$subColi); $sub =~ s|||g; } else { $sub = &emoji_length($sub,2,'tel',$sub_leni_pre); } if ($namC && ($imode == 3 || $imode == 8 || $imode == 6)) { $nam = &emoji_length($nam,2,'tel',$nam_leni_pre,$namColi); $nam =~ s|||g; } else { $nam = &emoji_length($nam,2,'tel',$nam_leni_pre); } # メールアドレスを変換 if ($eml) { $nam = &eml_henkan($eml,$nam,$no); } # 時間変換 &time_change('tree'); $dat{$no} = $dat; $nam{$no} = $nam; # $eml{$no} = $eml; $sub{$no} = $sub; $mytime{$no} = $mytime; } close(IN); # ツリー表示 &treeView; } if ($mode eq "allno2") { &mhtml(qq |\n\n|); &mhtml_view; exit; } &mhtml(qq |
\n
\n|); # ページ内リンク用 if ($pageLink1) { &mhtml(qq |\n|); } &mhtml(&uemini_ilink); # ページ上部へのリンク if ($pageLink2) { if (!$miruPass) { &mhtml(qq |
|); } # 閲覧者限定時以外 my $btn; if ($button) { $btn = " $button=\"2\""; } &mhtml(qq |$pageLink2|); } &mhtml(qq |
\n|); &mhtml(qq |\n\n|); &mhtml_view; exit; # ツリー表示(ケータイ) } elsif ($tree == 1) { my ($subC,$namC) = &color1; local($no,$re,$dat,$nam,$eml,$sub,$mytime, @view,%res,%dat,%nam,%sub,%mytime); if (!$miruPass) { &mhtml(qq |
\n|); } # 閲覧者限定時以外 # 記事を展開 open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { ($no,$re,$dat,$nam,$eml,$sub,$mytime) = (split(/<>/))[0,1,2,3,4,5,12]; # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } if (!$re) { $i++; } if ($i < $start) { next; } if ($i > $end && ($ipgoku eq 'all' || $ipgoku >= 1 || $ipgoku eq 'form')) { next; } elsif ($i > $end) { last; } # 親記事 if (!$re) { push(@view,$no); } # レス記事 else { $res{$re} .= "$no,"; } # 疑似削除した記事の処理 if ($mytime =~ /^0/) { &dude; } # 管理人未認証の記事 if ($mytime =~ /^9/) { &chkMae; } # 全角→半角変換 if ($telHalf) { $sub = &tel_half($sub); $nam = &tel_half($nam); } # 絵文字処理 # 長さ調整 if ($subC && ($imode == 3 || $imode == 8 || $imode == 6)) { $sub = &emoji_length($sub,2,'tel',$sub_leni_pre,$subColi); $sub =~ s|||g; } else { $sub = &emoji_length($sub,2,'tel',$sub_leni_pre); } if ($namC && ($imode == 3 || $imode == 8 || $imode == 6)) { $nam = &emoji_length($nam,2,'tel',$nam_leni_pre,$namColi); $nam =~ s|||g; } else { $nam = &emoji_length($nam,2,'tel',$nam_leni_pre); } # メールアドレスを変換 if ($eml) { $nam = &eml_henkan($eml,$nam,$no); } # 時間変換 &time_change('tree'); $dat{$no} = $dat; $nam{$no} = $nam; # $eml{$no} = $eml; $sub{$no} = $sub; $mytime{$no} = $mytime; } close(IN); # ツリー表示 &treeView; # 新着順表示(ケータイ) } elsif ($sortnew == 1) { # 記事を展開 open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; my @logdata = ; close(IN); #投稿Noでソート my @tmp = map {(split /,/)[0]} @logdata; @logdata = @logdata[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp]; foreach (@logdata) { # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } $i++; if ($i < $start) { next; } if ($i > $end && ($ipgoku eq 'all' || $ipgoku >= 1 || $ipgoku eq 'form')) { next; } elsif ($i > $end) { last; } # 記事の表示 chomp; &mhtml(&KijiView($_)); } # 親記事とレス記事一括表示(ケータイ) } elsif ($msgview == 1) { my $tpage = $page; # スレッド参照数保存用 # エラー判定 if (!$in{'no'}) { &error("記事番号が指定されていません"); } # 該当記事取得 $res = 0; my $page_less = 0; my @lines2 = (); $ResNG = ''; my $oya = ''; my $f = 0; open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { my ($no,$re,$mytime) = (split(/<>/))[0,1,12]; # 疑似削除(非表\示)した親記事 if ($in{'no'} == $no && !$re && $mytime =~ /^6/) { $f = 3; last; } if ($in{'no'} == $no && $re) { $f++; last; } if (($in{'no'} == "$no" && !$re) || ($in{'no'} == "$re" && $re)) { # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } if ($meslast == 2 && $in{'no'} eq "$no") { $oya = $_; } else { push (@lines2,$_); } if (!$re && $mytime =~ /^0/) { $ResNG = "この記事には返信出来ません"; } if (!$re && $mytime =~ /^9/) { $ResNG = "未認証の記事には返信出来ません"; } if (!$re && $mytime =~ /^8/) { $ResNG = "閲覧専用です"; } } } close(IN); # エラー判定 if ($f == 3) { &error("このスレッドは削除されています"); } elsif ($f) { &error("不正な表\示要求です"); } # 新しいレスから表示する場合 if ($meslast == 2) { if ($oya) { push (@lines2,$oya); } @lines2 = reverse(@lines2); } # 該当記事の数 $res = @lines2; if (!$res) { &error("該当の記事がありません"); } # レス数限定 if ($resMax && $res-1 >= $resMax && !$ResNG) { $ResNG="返信終了です"; } # 閲覧者限定時 表示ページ取得 # if ($page eq '' && $in{'pagex'} ne '') { $page = $pageView * ($in{'pagex'} - 1); } # if ($in{'pagex'} ne '') { $page = $pageView * ($in{'pagex'} - 1); } # $page = $pageView * ($in{'pagex'} - 1); # 最新のレスを表示する場合 if ($meslast == 1 && $page eq '') { $page_less = 1; # 初期表示レス番号取得 if ($pageView == 1) { $start = $res - $pageView + 1; } else { $start = $res - $pageView + 2; } $end = $res; # 現在ページ取得(ページ送り用) my $a = $res / $pageView; if ($a ne int($a)) { $a = int($a+1); } $a -= 1; $page = $a * $pageView; } foreach (@lines2) { $i++; if (($i < $start) && ($i ne 1 || !$page_less)) { next; } if ($i > $end) { next; } # レス番号を定義 my $tempresno; if ($meslast == 2) { # 最新のレスを表示する場合 $tempresno = $res - $i + 1; # レス記事 } else { $tempresno = $i - 1; } # 初めのレスから表示する場合 # 記事の表示 chomp; &mhtml(&KijiView($_,$tempresno)); } # スレッド参照数保存 if ((-e "$viewcntfile") && ($PreviewRes == 2 || $PreviewRes == 3 || $PreviewResi == 2 || $PreviewResi == 3) && $tpage eq '' && $in{'no'} >= 1) { &ViewCountUp($in{'no'}); } # 一覧表示(ケータイ) } elsif ($preview == 1) { my (%ViewCnt,$tempno,$tempdate,$tempname,$newsign,$newsign_res); my ($subC,$namC,$noC) = &color1; my (%colors) = &color2; # スレッド参照数取得 if ((-e "$viewcntfile") && ($PreviewResi == 2 || $PreviewResi == 3)) { %ViewCnt = &ViewCountGet; } &mhtml(qq |
\n|); if ($miruPass) { # 閲覧者限定時 &mhtml(qq |$utnform1|); if ($room ne '') { &mhtml(qq |$multi_form|); } &mhtml(qq ||); &mhtml(qq ||); &mhtml(qq |\n|); if ($page ne '') { &mhtml(qq ||); } } my $rcount=0; my $r_flag=1; # 記事を展開 open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { local ($no,$re,$dat,$nam,$eml,$sub,$mytime)=(split(/<>/))[0,1,2,3,4,5,12]; # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } if (!$re) { $i++; } if ($i < $start) { next; } if ($i > $end && ($ipgoku eq 'all' || $ipgoku >= 1 || $ipgoku eq 'form')) { next; } elsif ($i > $end) { last; } # 親記事の場合 if (!$re) { # 一覧表示の後方の表示(レスの数等) if (!$r_flag) { &PrePlus1($rcount,$tempname,$tempdate,$ViewCnt{$tempno},$newsign,$newsign_res); if ($miruPass) { &mhtml(qq |
\n|); } # 閲覧者限定時 elsif ($thdSpiPre == 1) { &mhtml(qq |

\n|); } elsif ($thdSpiPre == 2) { &mhtml(qq |
\n|); } else { &mhtml(qq |
\n|); } $newsign = ''; $newsign_res = ''; $r_flag++; } # 疑似削除した記事の処理 if ($mytime =~ /^0/) { &dude; } # 管理人未認証の記事 if ($mytime =~ /^9/) { &chkMae; } # 全角→半角変換 if ($telHalf) { $sub = &tel_half($sub); $nam = &tel_half($nam); } # 絵文字処理 # 長さ調整 if ($subC && ($imode == 3 || $imode == 8 || $imode == 6)) { $sub = &emoji_length($sub,2,'tel',$sub_leni_pre,$subColi); $sub =~ s|||g; } else { $sub = &emoji_length($sub,2,'tel',$sub_leni_pre); } if ($namC && ($imode == 3 || $imode == 8 || $imode == 6)) { $nam = &emoji_length($nam,2,'tel',$nam_leni_pre,$namColi); $nam =~ s|||g; } else { $nam = &emoji_length($nam,2,'tel',$nam_leni_pre); } # メールアドレスを変換 if ($eml) { $nam = &eml_henkan($eml,$nam,$no); } # # 時間変換 # &time_change; # タイトルを【と】で囲む if (!$iprelink) { $sub = "【$sub】"; } # 管理メッセージ if ($mytime =~ /AD$/) { if (!$re || $sortnew == 1) { &mhtml(&tag_on($KanriMessagei)); } # $mytime =~ s/AD$//; } # 記事を表示 if ($miruPass) { # 閲覧者限定時 &mhtml(qq ||); } elsif (!$iprelink) { &mhtml(qq |[$noC$no$colors{'noC'}]|); } if ($iprelink >= 1) { &mhtml(qq |$subC【$sub】$colors{'subC'}|); } else { &mhtml(qq |$subC$sub$colors{'subC'}|); } if ($iprelink == 1) { &mhtml(qq |$noC\[$no\]$colors{'noC'}|); } &mhtml(qq | $namC$nam$colors{'namC'}|); $rcount=0; $r_flag=0; # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($mytime); } # 参照数表示用 if ($PreviewResi == 2 || $PreviewResi == 3) { $tempno = $no; } # レス記事の場合 } else { $rcount++; # 疑似削除した記事の処理 if ($mytime =~ /^0/) { next; } # 管理人未認証の記事 if ($mytime =~ /^9/) { next; } # NEWマークの計算 if ($newViewResi || $newViewResi2) { $newsign_res = &get_newsign($mytime,'res'); } # 最終返信表示用 if ($PreviewResi == 1 || $PreviewResi == 3) { $tempdate = $dat; $tempname = $nam; } } } close(IN); # 一番最後の記事の後方の表示(レスの数等) if (!$r_flag) { &PrePlus1($rcount,$tempname,$tempdate,$ViewCnt{$tempno},$newsign,$newsign_res); if ($miruPass) { &mhtml(qq |\n\n|); } # 閲覧者限定時 else { &mhtml(qq |\n|); } } # 標準表示(ケータイ) } else { # 返信数・新着マーク用時刻情報取得 my (%reses,%newtime); if ($istdView == 1) { open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { my ($re,$mytime) = (split(/<>/))[1,12]; # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } if ($re eq '') { $i++; } if ($i < $start || $re eq '') { next; } if ($i > $end) { last; } # 返信数 $resrs{$re}++; # 新着マーク用時刻情報 if ($mytime =~ /^0/) { $mytime = 0; } # 疑似削除した記事 if ($mytime =~ /^9/) { $mytime = 0; } # 管理人未認証の記事 $mytime =~ s/^8/1/; # 返信禁止記事 $mytime =~ s/^7/1/; # 保存記事 $mytime =~ s/AD$//; # 管理メッセージ if ($newtime{$re} < $mytime) { $newtime{$re} = $mytime; } } close(IN); } # 記事を展開 $i = 0; open(IN,"$logfile") || &error("Open Error : ログファイル"); my $top = ; while () { my ($no,$re,$mytime) = (split(/<>/))[0,1,12]; # 疑似削除(非表\示)した記事 if ($mytime =~ /^6/) { next; } if (!$re) { $i++; } elsif ($istdView == 1) { next; } if ($i < $start) { next; } if ($i > $end && ($ipgoku eq 'all' || $ipgoku >= 1 || $ipgoku eq 'form')) { next; } elsif ($i > $end) { last; } # 記事の表示 chomp; &mhtml(&KijiView($_)); # スレッドへリンク if ($istdView == 1 && $resrs{$no} >= 1 && $miruPass) { # 閲覧者限定時) my $newsign; &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($newtime{$no}); if ($newsign) { &mhtml(qq |$newsign\n|); } } my $mh = < EOM &mhtml($mh); } elsif ($istdView == 1 && $resrs{$no} >= 1) { &mhtml(qq |
レス表\示($resrs{$no})\n|); # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($newtime{$no}); if ($newsign) { &mhtml(qq |$newsign\n|); } } } } close(IN); } # タグ広告等 if ($Tbanner3 ne '' && (($Tbanner3View == 1 && $mode ne 'allno' && $mode ne 'allno2' && !$msgview) || ($Tbanner3View == 2 && $msgview) || ($Tbanner3View == 3 && $mode ne 'allno' && $mode ne 'allno2'))) { my $w; # 作戦C:google.phpを起動 if ($GgAdS == 2) { $w = `php -f $Tbanner3`; # 作戦B:google.cgiを起動 } elsif ($GgAdS == 1) { $w = `perl $Tbanner3`; # 作戦A:google.cgiから読み込み } else { require $Tbanner3; $w = &google_mobile; } &mhtml(qq |
\n$w\n|); } my $next = $page + $pageView; my $back = $page - $pageView; # if ($back >= 0 || $next < $i) { # if ($msgview == 1) { &mhtml(qq |
\n|); } # else { &mhtml(qq |
\n|); } # } # if ($msgview == 1 && ($back >= 0 || $next < $i)) { # &mhtml(qq |
\n|); # } else { # &mhtml(qq |
\n|); # } if ($msgview == 1) { if ($back >= 0 || $next < $i) { &mhtml(qq |
\n|); } } else { &mhtml(qq |
\n|); } &mhtml(qq |
\n|); # ページ内リンク用 if ($pageLink1) { &mhtml(qq |\n|); } # ページ送り # メッセージ表示 if ($msgview == 1) { my ($tp,$tp2); if ($in{'tp'} eq 'tree') { $tp = 'tree'; $tp2 = "ツリー"; } elsif ($in{'tp'} eq 'sortnew') { $tp = 'sortnew'; $tp2 = "新着"; } elsif ($in{'tp'} eq 'std') { $tp = 'std'; $tp2 = "標準"; } else { $tp = 'preview'; $tp2 = "一覧"; } my $f; if ($back >= 0 || $next < $i) { # フォーム表示 if ($ipgoku eq 'form') { &mhtml(&mvbtn4_2($script,0,$res,$pageView,'skin','tp',$in{'tp'})); # その他 } else { &mhtml(qq |ページ
|); my $x=1; my $y=0; if ($miruPass && $res > $pageView) { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); if ($in{'page2'} ne '') { &mhtml(qq |\n|); } $f=1; } while ($i > 0) { my $btn; if ($y == $page - $pageView && $button) { $btn = " $button=\"4\""; } elsif ($y == $page + $pageView && $button) { $btn = " $button=\"6\""; } if ($page == $y) { &mhtml(qq |[$x]\n|); } elsif ($miruPass) { # 閲覧者限定時 &mhtml(qq |\n|); } else { &mhtml(qq | $x\n|); } $x++; $y = $y + $pageView; $i = $i - $pageView; } } if ($f) { &mhtml(qq |\n|); } } &mhtml(qq |
\n|); # if ($ResNG eq "返信終了です" && $miruPass) { # 閲覧者限定時 # &mhtml(qq |$utnform1\n|); # if ($room ne '') { &mhtml(qq |$multi_form\n|); } # my $mh = < # # # # # # #EOM # &mhtml($mh); # } elsif ($ResNG eq "返信終了です") { # &mhtml(qq |[$ResNG]
|); # } els if ($ResNG) { &mhtml(qq |[$ResNG]
|); } elsif ($miruPass && $henshinNG != 1) { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); if ($in{'page2'} ne '') { &mhtml(qq |\n|); } my $mh = < EOM &mhtml($mh); } elsif ($henshinNG != 1) { &mhtml(qq |[返信]
\n|); } # 一覧の1ページ以外のmsgviewの場合、該当の一覧ページへもリンク my $prepage; if ($in{'tp'} eq 'preview') { $prepage = ($in{'page2'}/$p_my_log)+1; } else { $prepage = ($in{'page2'}/$new_log)+1; } if ($prepage > 1 && $miruPass) { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); # &mhtml(qq |$utnform1\n|); # if ($room ne '') { &mhtml(qq |$multi_form\n|); } # my $mh = < # # # #EOM # &mhtml($mh); } elsif ($prepage > 1) { &mhtml(qq |[$tp2の$prepageページへ]
\n|); # &mhtml(qq |[$tp2の先頭へ]
\n|); } elsif ($miruPass) { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); } else { &mhtml(qq |[$tp2へ戻る]
\n|); } &mhtml(&uemini_ilink); if (!$miruPass) { &mhtml(qq |
|); } # ページ送り # 新着表示、一覧表示、ツリー表示、その他 # フォーム表示 } elsif ($ipgoku eq 'form') { &mhtml(&mvbtn4($script, 0, $i, $pageView,'skin')); # 複数表示 } elsif ($ipgoku eq 'all' || $ipgoku >= 1) { &mhtml(&mvbtn3($script, 0, $i, $pageView,'skin')); # 標準 } else { if ($back >= 0) { my $btn; if ($button) { $btn = " $button=\"4\""; } if ($miruPass) { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); } else { &mhtml(qq |[前の$pageView件]
\n|); } } if ($next < $i) { my $btn; if ($button) { $btn = " $button=\"6\""; } if ($miruPass) { # 閲覧者限定時 &mhtml(qq |$utnform1\n|); if ($room ne '') { &mhtml(qq |$multi_form\n|); } my $mh = < EOM &mhtml($mh); } else { &mhtml(qq |[次の$pageView件]
\n|); } } } # ページ上部へのリンク if ($pageLink2) { my $btn; if ($button) { $btn = " $button=\"2\""; } &mhtml(qq |$pageLink2|); } # 著作権表\示部 ---削除不可--- if ($miruPass && !$msgview) { # 閲覧者限定時 &mhtml(qq |
\nCGI Script by ...
\n|); &mhtml(qq |KENT & MakiMaki
\n|); &mhtml(qq |携帯用改造:湯一路\n|); if (-e './resize.pl' && $upload >= 1 && !$IMagick && !$resizeProg){ &mhtml(qq |
- resize -\n|); } if ($upload >= 1 && $iupload == 1) { &mhtml(qq |
[Web Liberty]\n|); } &mhtml(qq |
Modified by Tambo\n|); } elsif (!$msgview) { &mhtml(qq |
\nCGI Script by ...
\n|); &mhtml(qq |KENT & MakiMaki
\n|); &mhtml(qq |携帯用改造:湯一路\n|); if (-e './resize.pl' && $upload >= 1 && !$IMagick && !$resizeProg) { &mhtml(qq |
- resize -\n|); } if ($upload >= 1 && $iupload == 1) { &mhtml(qq |
[Web Liberty]\n|); } &mhtml(qq |
Modified by Tambo\n|); } else { &mhtml(qq |
\n|); } if (!$msgview) { &mhtml(qq |
|); } &mhtml(qq |[管理用]\n|); &mhtml(qq |
\n|); # タグ広告等 if ($Tbanner2 ne '' && (($Tbanner2View == 1 && $mode ne 'allno' && $mode ne 'allno2' && !$msgview) || ($Tbanner2View == 2 && $msgview) || ($Tbanner2View == 3 && $mode ne 'allno' && $mode ne 'allno2'))) { my $w; # 作戦C:google.phpを起動 if ($GgAdS == 2) { $w = `php -f $Tbanner2`; # 作戦B:google.cgiを起動 } elsif ($GgAdS == 1) { $w = `perl $Tbanner2`; # 作戦A:google.cgiから読み込み } else { require $Tbanner2; $w = &google_mobile; } &mhtml(qq |
$w\n|); } &mhtml(qq |\n\n|); &mhtml_view; exit; } # 一覧表示の後方の表示 sub PrePlus1 { my ($rcount,$nam,$dat,$ViewCnt,$newsign,$newsign_res) = @_; # 返信数 if ($rcount > 0) { if ($PreviewResi == 2 || $PreviewResi == 3) { $rcount = "返:".$rcount; } # 最終返信表示 if ($rcount && ($PreviewResi == 1 || $PreviewResi == 3)) { # 全角→半角変換 if ($telHalf) { $nam = &tel_half($nam); } # 絵文字処理 # 長さ調整 $nam = &emoji_length($nam,2,'tel',$nam_leni_pre); &mhtml(qq | ($rcount/$nam)|); } else { &mhtml(qq | ($rcount)|); } } # # 返信数 # if ($rcount > 0) { &mhtml(qq | ($rcount)|); } # # # 最終返信表示 # if ($rcount && ($PreviewResi == 1 || $PreviewResi == 3)) { # # 全角→半角変換 # if ($telHalf) { # $nam = &tel_half($nam); # } # # 絵文字処理 # # 長さ調整 # $nam = &emoji_length($nam,2,'tel',$nam_leni_pre); # # 時間変換 # &time_change; # &mhtml(qq | [$nam:$dat]|); # } # 参照数を表示 if (($PreviewResi == 2 || $PreviewResi == 3) && $ViewCnt) { &mhtml(qq | [参:$ViewCnt]|); } # 新着マーク &mhtml(qq |$newsign$newsign_res|); } #------------------------------------------------- # ツリー部表示 #------------------------------------------------- sub treeView { local($subC,$namC,$noC) = &color1; local(%colors) = &color2; my $page2; if ($page ne '') { $page2 = "&page2=$page"; } else { $page2 = ''; } my $a = 0; foreach (@view) { # 日時 $dat{$_} = qq |$dat{$_}|; # 親記事 $a++; if ($miruPass) { # 閲覧者限定時 my $mh = <
EOM &mhtml($mh); if ($room ne '') { &mhtml(qq |$multi_form\n|); } if ($page ne '') { &mhtml(qq |\n|); } my $mh = < EOM &mhtml($mh); } else { if ($a >= 2 && $thdSpiTree == 2) { &mhtml(qq |
\n|); } elsif ($a >= 2 && $thdSpiTree == 1) { &mhtml(qq |

\n|); } elsif ($a >= 2) { &mhtml(qq |
\n|); } &mhtml(qq ||); } if ($miruPass) { # 閲覧者限定時 my $mh = <
EOM &mhtml($mh); if ($room ne '') { &mhtml(qq |$multi_form\n|); } if ($in{'page'} ne '') { &mhtml(qq |\n|); } my $mh = < EOM &mhtml($mh); # 管理メッセージ if ($mytime{$_} =~ /AD$/) { &mhtml(&tag_on($KanriMessagei)); } &mhtml(qq |$subC$sub{$_}$colors{'subC'} - $namC$nam{$_}$colors{'namC'} $dat{$_}|); #  ${noC}No.$_$colors{'noC'}|; # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($mytime{$_}); } if ($newsign) { &mhtml(qq |$newsign|); } if ($in{'no'} == $_) { &mhtml(qq | <表\示中|); } &mhtml(qq |\n|); } else { # 管理メッセージ if ($mytime{$_} =~ /AD$/) { &mhtml(&tag_on($KanriMessagei)); } &mhtml(qq |$subC\[$sub{$_}\]$colors{'subC'}$namC$nam{$_}$colors{'namC'} $dat{$_}|); #  ${noC}No.$_$colors{'noC'}|; # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($mytime{$_}); } if ($newsign) { &mhtml(qq |$newsign|); } if ($in{'no'} == $_) { &mhtml(qq | <表\示中|); } } # レス記事 if (defined($res{$_})) { my $max = @res = split(/,/, $res{$_}); my $i = 0; foreach my $res (@res) { $i++; my $tree; if ($i == $max) { $tree = "└"; } else { $tree = "├"; } # 日時 $dat{$res} = qq |$dat{$res}|; if ($miruPass) { # 閲覧者限定時 &mhtml(qq |
\n|); &mhtml(qq |$tree\n|); # 管理メッセージ # if ($mytime{$res} =~ /AD$/) { &mhtml(&tag_on($KanriMessagei)); } &mhtml(qq |$subC$sub{$res}$colors{'subC'} - $namC$nam{$res}$colors{'namC'} $dat{$res}|); #  ${noC}No.$res$colors{'noC'} # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($mytime{$res}); } if ($newsign) { &mhtml(qq |$newsign|); } if ($in{'no'} == $res) { &mhtml(qq | <表\示中|); } &mhtml(qq |\n|); if ($i == $max) { &mhtml(qq |\n|); } } else { &mhtml(qq |
\n|); &mhtml(qq |$tree|); # 管理メッセージ # if ($mytime{$res} =~ /AD$/) { &mhtml(&tag_on($KanriMessagei)); } &mhtml(qq |$subC\[$sub{$res}\]$colors{'subC'}$namC$nam{$res}$colors{'namC'} $dat{$res}|); #  ${noC}No.$res$colors{'noC'} # NEWマークの計算 if ($newViewi || $newViewi2) { $newsign = &get_newsign($mytime{$res}); } if ($newsign) { &mhtml(qq |$newsign|); } if ($in{'no'} == $res) { &mhtml(qq | <表\示中|); } } } } elsif ($miruPass) { # 閲覧者限定時 &mhtml(qq |\n|); } if (!$miruPass) { &mhtml(qq |\n|); } } } 1;