페이지를 삭제 또는 이름을 변경할 때 cache 화일도 같이 처리
- UseCache 옵션을 켰을 때의 동작과 관련된 부분
- 위에서 언급한 *.lck 화일과 마찬가지로, 관리 메뉴에서 페이지를 삭제하거나 이름을 바꿀 때, html 디렉토리에 있는 *.htm 화일을 삭제하지 않는 문제가 있다. 이렇게 미아가 된 화일은 관리 메뉴를 통과해도 여전히 삭제되지 않고 영원히 남아 있게 된다.
- DeletePage 와 RenamePage 함수를 수정
- 부작용: 알려진 것 없음
-
sub DeletePage {
...
$fname = $KeepDir . "/" . &GetPageDirectory($page) . "/$page.kp";
unlink($fname) if (-f $fname);
$fname = &GetLockedPageFile($page);
unlink($fname) if (-f $fname);
&UnlinkHtmlCache($page);
unlink($IndexFile) if ($UseIndex);
&EditRecentChanges(1, $page, "") if ($doRC);
}
}}}
: RenamePage 에서는, lck 화일과 달리 cache 화일은 그냥 삭제한다.
{{{
sub RenamePage {
...
my ($oldlock, $newlock);
$oldlock = &GetLockedPageFile($old);
if (-f $oldlock) {
$newlock = &GetLockedPageFile($new);
rename($oldlock, $newlock) || die "error while renaming lock";
}
&UnlinkHtmlCache($old);
&EditRecentChanges(2, $old, $new) if ($doRC);
if ($doText) {
&BuildLinkIndexPage($new);
&RenameTextLinks($old, $new);
}
}
위키위키분류