[첫화면으로]UseModWiki소스수정/인터위키이미지

마지막으로 [b]

InterWiki 로 된 이미지 화일 처리

sub InterPageLink {
### 다음 라인 수정
#   my ($id) = @_;
    my ($id, $useImage) = @_;
###
    my ($name, $site, $remotePage, $url, $punct);

    ($id, $punct) = &SplitUrlPunct($id);

    $name = $id;
    ($site, $remotePage) = split(/:/, $id, 2);
    $url = &GetSiteUrl($site);
    return ("", $id . $punct)  if ($url eq "");
    $remotePage =~ s/&/&/g;  # Unquote common URL HTML
    $url .= $remotePage;
### 다음 단락 추가
    if ($useImage && ($url =~ /^(http:|https:|ftp:).+\.$ImageExtensions$/)) {
        $url = $1 if ($url =~ /^https?:(.*)/ && $1 !~ /^\/\//);
        return ("<img $ImageTag src=\"$url\" alt=\"$id\">", $punct);
    }
### 여기까지
    return ("<a href=\"$url\">$name</a><a href=\"$url\" target=\"_blank\"><img src=\"./emoticon/newwindow.gif\" border=\"0\" alt=\"" . T('Open in a New Window') . "\" align=\"absbottom\"></a>", $punct);
}
위에서 볼 수 있듯이 InterPageLink 에 두번째 파라메터가 추가되었다. 호출해주는 곳 각각을 적절히 수정해주어야 한다.
sub CommonMarkup {
    ...
### 다름 라인 수정
#       s/$InterLinkPattern/&StoreInterPage($1)/geo;
        s/$InterLinkPattern/&StoreInterPage($1, $useImage)/geo;
###
    ...
}
sub StoreInterPage {
### 다음 라인 수정
#   my ($id) = @_;
    my ($id, $useImage) = @_;
###
    my ($link, $extra);

### 다음 라인 수정
#   ($link, $extra) = &InterPageLink($id);
    ($link, $extra) = &InterPageLink($id, $useImage);
###
    # Next line ensures no empty links are stored
    $link = &StoreRaw($link)  if ($link ne "");
    return $link . $extra;
}


위키위키분류

마지막 편집일: 2007-1-8 12:19 pm (변경사항 [d])
679 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기