『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>$Title \- /i; $head2nd=~s/<title>/<title>$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 "<div class=\"pastlink\">\n"; if( !$mkHTML || $SaveHTML ne "ON" ){ if(&IsIMODE){ $pgout=$MsgNew; &jcode'euc2sjis(\$pgout); print "<a href=\"$cgipath$ctgl?DTO=$fnamen\">$pgout</a> " if($fnamen); }else{ print "<a href=\"$cgipath$ctgl?DTO=$fnamen\"><< $nTitle</a>  |  " if($fnamen); } if( ($MsgOld1st==0)&& !&IsIMODE){ print $MsgOldBetween; } if(&IsIMODE){ $pgout=$MsgOld; &jcode'euc2sjis(\$pgout); print "<a href=\"$cgipath$ctgl?DTO=$fnameo\">$pgout</a> " if($fnameo); }else{ print "  |  <a href=\"$cgipath$ctgl?DTO=$fnameo\">$oTitle >></a>" if($fnameo) ; } } print "\n</div>\n"; if(($MsgOldForm == 0) || ($MsgOldForm == 4)){ print "<div style=\"clear\:both\;\"></div>"; &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; に変更。