페이지 목록에서 잠겨 있는 페이지 표시
- 관리자로 로긴했을 때, 페이지 목록을 보면 각 페이지 제목 옆에 lock 과 unlock 두 가지 기능이 있는데, 정작 각 페이지가 현재 잠겨 있는지 그렇지 않은지를 알려면 쉘에서 lock 화일을 찾는 수 밖에 없다. (아니면 로그아웃해서 각각의 페이지를 확인하던가..)
- wiki.pl 을 수정하여, 관리자로 로긴하여 index 화면에 들어갈 경우, 잠긴 화일 옆에는 "(locked)" 라는 표시가 추가로 보이게 하였음
- 관리자 아닌 경우에도 표시되게 하고 싶다면, if (&UserIsAdmin()) { 라인 위쪽에 적어주면 될 터이다. 그렇지만 방문자들이 index 를 볼 때마다 lock 화일을 찾는 과정을 거쳐야 하므로, 페이지 수가 많고 방문객도 많은 사이트에서는 시스템을 혹사시킬 듯 하다.
- 부작용:
- 페이지 수가 많을 경우, 각 페이지에 대한 lock 화일을 찾아야 하므로 시스템 성능 저하가 예상됨 - lock 화일이 있는 페이지의 목록을 미리 만들어 두었다가 비교하는 방법이 더 낫지 않을까 함
-
sub PrintPageList {
...
if (&UserIsAdmin()) {
if (-f &GetLockedPageFile($pagename)) {
print " " . T('(locked)');
}
print " | " . &ScriptLink("action=pagelock&set=1&id=" . $pagename, T('lock'));
print " | " . &ScriptLink("action=pagelock&set=0&id=" . $pagename, T('unlock'));
}
...
}
위키위키분류