package SWHtmlMemoPC;
#----------------------------------------
# メモ表示(PCモード)のHTML出力
#----------------------------------------
sub OutHTMLMemoPC {
my ($sow, $vil, $logfile, $memofile, $maxrow, $logs, $logkeys, $rows) = @_;
require "$sow->{'cfg'}->{'DIR_LIB'}/log.pl";
require "$sow->{'cfg'}->{'DIR_LIB'}/file_log.pl";
my $net = $sow->{'html'}->{'net'}; # Null End Tag
my $amp = $sow->{'html'}->{'amp'};
my $cfg = $sow->{'cfg'};
my $query = $sow->{'query'};
my $reqvals = &SWBase::GetRequestValues($sow);
my $link = &SWBase::GetLinkValues($sow, $reqvals);
$link = "$cfg->{'BASEDIR_CGI'}/$cfg->{'FILE_SOW'}?$link";
# ログインHTML
$sow->{'html'}->outcontentheader();
&SWHtmlPC::OutHTMLLogin($sow);
# 村名
my $date = $sow->{'dt'}->cvtdt($vil->{'nextupdatedt'});
my $titleupdate = " ($date に更新)";
# 見出し(村名とRSS)
print "
$query->{'vid'} $vil->{'vname'}";
print "$titleupdate RSS" if ($vil->{'epilogue'} >= $vil->{'turn'});
print "
\n\n";
# 日付別ログへのリンク
my $list = $logfile->getlist();
my @dummy;
&SWHtmlPC::OutHTMLTurnNavi($sow, $vil, \@dummy, $list);
# メモ表示
my $title = '';
$title = '履歴' if ($query->{'cmd'} eq 'hist');
print <<"_HTML_";
メモ$title
_HTML_
if (@$logs > 0) {
print <<"_HTML_";
_HTML_
} else {
print <<"_HTML_";
メモはありません。
_HTML_
}
my %logkeys;
my %anchor = (
logfile => $logfile,
logkeys => \%logkeys,
rowover => 1,
reqvals => $reqvals,
);
my $order = 'desc';
$order = 'asc' if ($query->{'cmd'} eq 'hist');
$order = $query->{'order'} if ($query->{'order'} ne '');
if (($order eq 'desc') || ($order eq 'd')) {
my $i;
for ($i = $#$logs; $i >= 0; $i--) {
&OutHTMLMemoSinglePC($sow, $vil, $memofile, $logs->[$i], \%anchor);
}
} else {
foreach (@$logs) {
&OutHTMLMemoSinglePC($sow, $vil, $memofile, $_, \%anchor);
}
}
if (@$logs > 0) {
print <<"_HTML_";
_HTML_
}
print <<"_HTML_";
_HTML_
my $writepl = &SWBase::GetCurrentPl($sow, $vil);
if (($query->{'cmd'} eq 'memo') && ($vil->checkentried() >= 0) && ($sow->{'turn'} == $vil->{'turn'}) && ($vil->{'turn'} <= $vil->{'epilogue'})) {
if (($writepl->{'live'} eq 'live') || ($vil->{'winner'} != 0)) {
&OutHTMLMemoFormPC($sow, $vil, $memofile, $logs, \%anchor);
}
}
# 日付別ログへのリンク
&SWHtmlPC::OutHTMLTurnNavi($sow, $vil, \@dummy, $list) if ($query->{'cmd'} eq 'hist');
&SWHtmlPC::OutHTMLReturnPC($sow);
$sow->{'html'}->outcontentfooter();
return;
}
#----------------------------------------
# メモ発言欄HTML表示(一行分)
#----------------------------------------
sub OutHTMLMemoSinglePC {
my ($sow, $vil, $memofile, $memoidx, $anchor) = @_;
my $memo = $memofile->read($memoidx->{'pos'});
my $chrname = $memo->{'chrname'};
my $curpl = $vil->getpl($memoidx->{'uid'});
$chrname = "$chrname (村を出ました)" if ((!defined($curpl->{'entrieddt'})) || ($curpl->{'entrieddt'} > $memoidx->{'date'}));
my $mes = $memo->{'log'};
$mes = '(メモをはがした)' if ($memo->{'mestype'} == $sow->{'MEMOTYPE_DELETED'});
&SWLog::ReplaceAnchorHTML($sow, $vil, \$mes, $anchor);
&SWHtml::ConvertNET($sow, \$mes);
my $mestext = "mes_text";
$mestext = "mes_text_monospace" if ($memo->{'monospace'} != 0);
my $date = $sow->{'dt'}->cvtdt($memo->{'date'});
my $memodate = '';
$memodate = "$date
\n" if ($sow->{'query'}->{'cmd'} eq 'hist');
print <<"_HTML_";
$chrname |
$mes $memodate |
_HTML_
}
#----------------------------------------
# メモ発言欄HTML表示
#----------------------------------------
sub OutHTMLMemoFormPC {
my ($sow, $vil, $memofile, $logs, $anchor) = @_;
my $net = $sow->{'html'}->{'net'}; # Null End Tag
my $amp = $sow->{'html'}->{'amp'};
my $cfg = $sow->{'cfg'};
my $curpl = $sow->{'curpl'};
my $charset = $sow->{'charsets'}->{'csid'}->{$curpl->{'csid'}};
my $memo = $memofile->getnewmemo($curpl);
my $mes = $memo->{'log'};
$mes = &SWLog::ReplaceAnchorHTMLRSS($sow, $vil, $mes, $anchor);
$mes =~ s/
/
\;/ig;
# キャラ画像アドレスの取得
my $img = &SWHtmlPC::GetImgUrl($sow, $curpl, $charset->{'BODY'});
# キャラ画像部とその他部の横幅を取得
my ($lwidth, $rwidth) = &SWHtmlPC::GetFormBlockWidth($sow, $charset->{'IMGBODYW'});
# キャラ画像
print <<"_HTML_";
_HTML_
}
1;