『Modeに従って実行』内の下の方、「elsif〜」がたくさん並んでるところに
}elsif( $DTO ){
&NickyOneEntry();
をまぎれこませる。「}elsif( ($Mode eq "MakeSetup") && ($Admin) ){」の行の上に入れたけど
あの中ならどこでもいいはず…。
--------------------------------------
『# リンク用タグ』から下を以下のように書き換え。
# リンク用タグ
$pt="$year$month$day$daysub";
$Permalink="$cgipath?DTO=$pt";
if( $LinkTH eq "Yes" ){
$TitleHeadL="$TitleHead";
}else{
$TitleHeadL=$TitleHead;
}
短くなってしまった。
月別表示の時は元のようなリンク方法がいいかもしれないけど、とりあえず。
--------------------------------------
以下のサブルーチンをどこか適当なところに入れる。
『#日付から曜日を取得』の行の上に入れた。なんとなく。
#
# 個別記事
#
sub NickyOneEntry{
my($fileone,$fna,$ctgl);
my($gomi, $fn, $fname, $gyear);
my($cnt, $gfn);
my($fnameo, $fnamen,$pgout);
my($nTitle, $oTitle);
my($ofn, $p1,$sts);
$Mode="MONTH";
$ModeSub=16;
$ctgl="\?ctg=$ctg" if( $ctg );
$year=substr($DTO,0,4);
$fileone=substr($DTO,4,5);
if( opendir(RDD, "$vDir/$year") ){
for $fna( readdir(RDD) ){
if( $fna =~ /^$fileone.*nky$/ ){
$NickyFname="$vDir/$year/$fna";
last;
}
}
closedir(RDD);
}
&GetNickyFile($NickyFname);
&nickyGetHead();
if((( !$Title && !$Message )||($year>2900)) && (!$Admin || $mkHTML)){
($Title,$Message,$Date,$GrpFileName)="";
}
if( &IsIMODE() ){
$iHead = &put_macro($iHead);
$sts=&ReqJcode();
&jcode'euc2sjis(\$iHead) if( $sts );
print $iHead;
print "
";
}else{
$head=~s//$Title \- /i;
$head2nd=~s//$Title \- /i;
if( $Use2ndHD eq "Yes" ){
print &put_macro($head2nd);
}else{
print &put_macro($head);
}
}
if( ($MsgOldForm == 2) || ($MsgOldForm == 4) ){
&PutMonthTag("UP", "");
print "$br\n";
}
$p1=rindex($NickyFname, "\/");
$ofn=substr($NickyFname, $p1+1, 5);
$cnt=0;
@nli=&GetNickyList($Age) if( !@nli );
for $gfn(@nli){
($gomi, $gyear, $fname)=split(/\//, $$gfn[0]);
($fn, $gomi)=split(/\./, $fname);
last if( ($year == $gyear) && (substr($fn, 0, 5) eq $ofn) );
$cnt++;
}
$DTOcnt = $cnt;
if( &IsIMODE() ){
&PutNickyOneDayIMODE();
}else{
&PutNickyOneDay();
}
($gomi, $gyear, $fname)=split(/\//, $nli[$cnt+1][0]);
($fn, $gomi)=split(/\./, $fname);
&GetNickyFile("$vDir/$gyear/$fname");
if(!$Title){
$oTitle = "無題";
}else{
$oTitle = $Title;
}
$fnameo=$gyear.substr($fn, 0, 5);
($gomi, $gyear, $fname)=split(/\//, $nli[$cnt-1][0]);
&GetNickyFile("$vDir/$gyear/$fname");
if(!$Title){
$nTitle = "無題";
}else{
$nTitle = $Title;
}
($fn, $gomi)=split(/\./, $fname);
if($gyear<$year){
$fnamen="";
}else{
$fnamen=$gyear.substr($fn, 0, 5);
}
print "\n";
if( !$mkHTML || $SaveHTML ne "ON" ){
if(&IsIMODE){
$pgout=$MsgNew;
&jcode'euc2sjis(\$pgout);
print "
$pgout " if($fnamen);
}else{
print "
<< $nTitle | " if($fnamen);
}
if( ($MsgOld1st==0)&& !&IsIMODE){
print $MsgOldBetween;
}
if(&IsIMODE){
$pgout=$MsgOld;
&jcode'euc2sjis(\$pgout);
print "
$pgout " if($fnameo);
}else{
print " |
$oTitle >>" if($fnameo) ;
}
}
print "\n
\n";
if(($MsgOldForm == 0) || ($MsgOldForm == 4)){
print "";
&PutMonthTag("DOWN", "") ;
}
if( &IsIMODE() ){
$iFoot = &put_macro($iFoot);
&jcode'euc2sjis(\$iFoot) if( $sts );
print $iFoot;
}else{
if( $Use2ndFT eq "Yes" ){
print &put_macro($foot2nd);
}else{
print &put_macro($foot);
}
}
}
--------------------------------------------
「# コメント」の少し下にある2行を以下のように書き換え。
if( (($ModeSub == 16) || ($Mode eq "CMNTEDIT")) && (($CIRCV eq "ON") || ($cf_size !=0 || (($Mode ne "MONTH") && !$page && !$saveExec))) ){
↓
if( (($ModeSub == 16) || ($Mode eq "CMNTEDIT")) && (($CIRCV eq "ON") || ($cf_size !=0 || (($Mode ne "MONTH") && !$page && !$saveExec)) || ($DTO && ($PrintDay>$DTOcnt))) ){
if( ($CIRCV eq "ON") || ($CIRCV ne "ON") && ($Mode ne "MONTH") && !$page && !$saveExec ){
↓
if( ($CIRCV eq "ON") || ($CIRCV ne "ON") && (($Mode ne "MONTH") && !$page && !$saveExec) ||($DTO && ($PrintDay>$DTOcnt)) ){
--------------------------------------------
「sub PutCustomComment」内の1行を以下のように変更。
if( ($CIRCV ne "OFF") || ($CIRCV eq "OFF") && (!$page && !$saveExec) && ($Mode ne "MONTH") ){
↓
if( ($CIRCV ne "OFF") || ($CIRCV eq "OFF") && (!$page && !$saveExec) && ($Mode ne "MONTH") || ($DTO && ($PrintDay>$DTOcnt))){
--------------------------------------------
mkrssnky.cgiでRSSフィードを出力しているのでそれも書き換え。
mkrssnky.cgiの「# 記事のURI」の少し下にある「$RSS_ITEM_URI = $RSS_SCRIPT_URI."〜」の行を、
$RSS_ITEM_URI = $RSS_SCRIPT_URI."?DTO=".$dateY.$dateM.$dateD.$dateSUB;
に変更。