[첫화면으로]UseModWiki소스수정/인터위키아이콘표시

마지막으로 [b]

3 번째 수정본

인터위키의 위키 이름 부분을 아이콘으로 표시

여러 위키클론들이 구현하고 있는 패치. Jof:UseModWiki소스수정/InterWiki아이콘표시NoSmok:InterWiki토론, 그리고 MoinMoin, MoniWiki 등의 구현을 참조하여 적용하였다.

위키이름    위키URL|이미지경로
GyparkWiki  http://gypark.pe.kr/cgi-bin/wiki/wiki.pl?|GyparkWiki.gif

config.pl 수정

### interwiki 아이콘 사용
$InterIconDir = "./icons-inter/"; # directory containing interwiki icons

wiki.pl 수정

환경 변수 $InterIconDir 추가
   ...
### 패치를 위해 추가된 환경설정 변수
use vars qw(
    $UserGotoBar $UserGotoBar2 $UserGotoBar3 $UserGotoBar4
    ...
    $SlashLinks $InterIconDir
    );
###
   ...

sub InterPageLink {
    ...
    $url = &GetSiteUrl($site);
###############
### added by gypark
### interwiki 아이콘
    my ($image, $url_main);
    if ($url =~ /\|/) {
        ($url, $image) = split(/\|/, $url, 2);
    }
    $url_main = $url;
###
###############
    return ("", $id . $punct)  if ($url eq "");
    ...
        return ("<img $ImageTag src=\"$url\" alt=\"$id\">", $punct);
    }
###
###############

###############
### replaced by gypark
### interwiki 아이콘
#   return ("<a href=\"$url\">$name</a>", $punct);
    my $link_html = '';
    if (!($image)) {
        $image = "default-inter.gif";
    }
    if (!($image =~ m/\//)) {
        $image = "$InterIconDir/$image";
    }
    $link_html = "<A class='inter' href='$url_main'>" .
                "<IMG class='inter' src='$image' alt='$site:' title='$site:'>" .
                "</A>";
    $link_html .= "<A class='inter' href='$url' title='$id'>$remotePage</A>";
### 외부 URL 을 새창으로 띄울 수 있는 링크를 붙임
    $link_html .= "<a href=\"$url\" target=\"_blank\"><img src=\"$IconDir/newwindow.gif\" border=\"0\" alt=\"" . T('Open in a New Window') . "\" align=\"absbottom\"></a>";
    return ($link_html, $punct);
###
###############
}

Upload: 와 Local: , LocalWiki: 의 경우는 기본 default 이미지를 출력하도록 수정
sub GetSiteUrl {
    my ($site) = @_;
    my ($data, $url, $status);

    if (!$InterSiteInit) {
        $InterSiteInit = 1;
###############
### replaced by gypark
### file upload
#       ($status, $data) = &ReadFile($InterFile);
#       return ""  if (!$status);
#       %InterSite = split(/\s+/, $data);  # Later consider defensive code
        ($status, $data) = &ReadFile($InterFile);
        if ($status) {
            %InterSite = split(/\s+/, $data);
        }
        if (!defined($InterSite{'Upload'})) {
### interwiki 아이콘
            $InterSite{'Upload'} = "$UploadUrl\/|default-upload.gif";
        }
###
###############
###############
### added by gypark
### Local, LocalWiki 인터위키 from usemod 1.0
### interwiki 아이콘 같이 적용
        if (!defined($InterSite{'LocalWiki'})) {
            $InterSite{'LocalWiki'} = $ScriptName . &ScriptLinkChar() . "|default-local.gif";
        }
        if (!defined($InterSite{'Local'})) {
            $InterSite{'Local'} = $ScriptName . &ScriptLinkChar() . "|default-local.gif";
        }
###
###############

    }
    $url = $InterSite{$site}  if (defined($InterSite{$site}));
    return $url;
}

wiki.css

아이콘의 UseModWiki스타일쉬트
IMG.inter
{
    width: 16;
    height: 16;
    border: none;
}

Notes


위키위키분류

이 수정본 편집일: 2003-10-5 9:07 am (변경사항 [d])
901 hits | Permalink | 변경내역 보기 [h] | 현재 수정본 보기 | 3 번째 수정본 소스 보기