| -1,49 +1,36 |
| == 존재하지 않는 페이지의 링크 스타일을 사용자가 결정할 수 있게 함 == |
| * 위의 "존재하지 않는 페이지의 링크를 WikiX 스타일로 출력" 항목을 참조할 것 |
| * 각 사용자마다 "환경설정" 페이지에서 자신이 선호하는 스타일을 택할 수 있다. |
| * [[Bab2]] 님의 패치 적용 |
| * "존재하지 않는 페이지의 링크를 WikiX 스타일로 출력" 패치를 적용한 상태여야 한다. 그렇지 않으면 LinkFirstChar 변수가 선언되어 있지 않다고 에러를 낼 것이다. 위 패치를 같이 적용하던가, 그게 귀찮으면 아래 코드에서 $LinkFirstChar 대신에 0 또는 1 중 맘에 드는 값을 넣어라. |
| == userlist 매크로 추가 == |
| * 현재 존재하는 아이디 목록을 출력한다. |
| * 사용법 - <userlist> |
| * [[Bab2]] 님의 패치를 함수 이름만 바꿔서 적용 |
| : |
| {{{perl |
| sub GetPageOrEditAnchoredLink { |
| ... |
| # 다음 줄 이하를 재수정 |
| # if (($LinkFirstChar) && ($name =~ ... /)) {; |
|
| if ((&GetParam('linkstyle', $LinkFirstChar)) |
| && ($name =~ /(\[)?([^\/]*\/)?([a-zA-Z0-9\/]|[\x80-\xff][\x80-\xff])([^\]]*)(\])?/)) { |
| return $2 . &GetEditLink($id,"<b>$3</b>") . $4; |
| } else { |
| return $name . &GetEditLink($id,"?"); |
| } |
| ### 여기까지 |
| } |
| }}} |
| : |
| {{{perl |
| sub DoEditPrefs { |
| ... |
| print '<br>', &GetFormCheck('toplinkbar', 1, |
| T('Show link bar on top')); |
| ### 다음 단락 추가 |
| print '<br>', &GetFormCheck('linkstyle', $LinkFirstChar, |
| T('Use wikiX style for the links to empty pages')); |
| {{{#!vim perl |
| sub MacroSubst { |
| ### 다음 라인 추가 |
| $txt =~ s/\&__LT__;userlist\&__GT__;/&MacroUserList()/gei; |
| ### |
| print '<br>', &GetFormCheck('linkrandom', 0, |
| T('Add "Random Page" link to link bar')); |
| ... |
| return $txt; |
| } |
| }}} |
| : |
| {{{perl |
| sub DoUpdatePrefs { |
| ... |
| &UpdatePrefCheckbox("toplinkbar"); |
| ### 다음 라인 추가 |
| &UpdatePrefCheckbox("linkstyle"); |
| ### |
| &UpdatePrefCheckbox("linkrandom"); |
| ... |
| {{{#!vim perl |
| ### 다음 함수를 통채로 추가 |
| sub MacroUserList { |
| my (@userlist, $result); |
| my $usernumber; |
| opendir(USERLIST, $UserDir); |
| @userlist = readdir(USERLIST); |
| close(USERLIST); |
| shift @userlist; |
| shift @userlist; |
| @userlist = sort @userlist; |
| foreach $usernumber (0..(@userlist-1)) { |
| @userlist[$usernumber] =~ s/(.*)\.db/($1)/gei; |
| @userlist[$usernumber] = &StorePageOrEditLink("@userlist[$usernumber]", "@userlist[$usernumber]") . "<br>"; |
| } |
|
| $result = "@userlist"; |
|
| return $result; |
| } |
| }}} |
|