GetFullLinkList 함수에 파라메터 사용을 가능하게 함
- 역링크를 구현하는 과정에 파생된 부산물
- 이 패치만 가지고는 아무런 변화도 일어나지 않는다.
- 기존에는 wiki.pl?action=links 화면에서, 추가로 몇 가지 옵션을 주소 입력창에서 넣어줄 수 있었다.
- unique, sort, page, inter, url, exists, empty, search 등
- 예: wiki.pl?action=links&sort=0&url=1
- 위키 소스 내부에서 이 함수를 호출할 때도, 함수 파라메터로 위의 옵션을 받을 수 있게 수정했다. 옵션을 명시하는 방법은 주소 입력창에서와 동일하게, "옵션항목=값"의 쌍을 & 로 붙이면 된다.
- 예: &GetFullLinkList("sort=0&url=1");
- 위키소스를 수정하여 운영하는 과정에서, 이 함수에 어떤 옵션(예:sort=0)을 주어 호출하는데, 사용자가 브라우저 주소창에서 같은 옵션 항목에 다른 값(예:sort=1)을 지정하는 경우가 발생할 수 있다. 이런 경우 후자에게 우선권이 주어진다. (sort=1이 된다)
-
sub GetFullLinkList {
my ($opt) = @_;
my $opt_item;
my %args = (
"unique" , 1,
"sort", 1,
"page", 1,
"inter", 0,
"url", 0,
"exists", 2,
"empty", 0,
"search", "",
"reverse", ""
);
foreach $opt_item (split('&',$opt)) {
if ($opt_item =~ /^(.+)=(.+)$/) {
$args{$1} = $2;
}
}
...
my ($pagelink, $interlink, $urllink);
my (@found, @links, @newlinks, @pglist, %pgExists, %seen);
$unique = &GetParam("unique", $args{"unique"});
$sort = &GetParam("sort", $args{"sort"});
$pagelink = &GetParam("page", $args{"page"});
$interlink = &GetParam("inter", $args{"inter"});
$urllink = &GetParam("url", $args{"url"});
$exists = &GetParam("exists", $args{"exists"});
$empty = &GetParam("empty", $args{"empty"});
$search = &GetParam("search", $args{"search"});
위키위키분류