-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; |
} |
}}} |