[첫화면으로]UseModWiki소스수정/AllPagesFrom매크로

마지막으로 [b]

변경사항 (가장 최근의 "일반적인 수정"부터) (다른 변경사항 없음)

-84,16 +84,6
ext1.90 - [[/매크로파라메터에이중대괄호허용]]함 <mysign([[Raymundo]],2005-11-19 6:09 pm)>
=== # 사용자 의견 ===
<a href=http://cyberbuzz.gatech.edu/customize/guestbook/archives0517/73459.html>Ambien online</a> \\
<a href=http://cyberbuzz.gatech.edu/customize/guestbook/archives0517/46234.html>Buy levitra</a> \\
<a href=http://cyberbuzz.gatech.edu/customize/guestbook/archives0517/38673.html>Buy paxil</a> \\
<a href=http://cyberbuzz.gatech.edu/customize/guestbook/archives0517/84524.html>Buy viagra</a> \\
 \\
<a href=http://www.loyno.edu/~gregoire/guestbook/200603/message145.html>Order tramadol</a> \\
<a href=http://www.loyno.edu/~gregoire/guestbook/200603/message387.html>Viagra online</a> \\
<a href=http://www.loyno.edu/~gregoire/guestbook/200603/message634.html>Viagra pill</a> \\
<a href=http://www.loyno.edu/~gregoire/guestbook/200603/message441.html>Viagra</a> <mysign(testrk,2007-4-11 1:02 pm)>
<longcomments(100)>


allpagesfrom 매크로 추가

sub MacroSubst {
    ...
### 다음라인 추가
    $txt =~ s/\&__LT__;allpagesfrom\(([^,\n]+)(,\d)?\)\&__GT__;/&MacroAllPagesFrom($1, $2)/gei;
###
    return $txt;
}
### 다음 함수를 통채로 추가
sub MacroAllPagesFrom {
    my ($string, $exists) = @_;
    my (@x, @links, $pagename, %seen, %pgExists);
    my $txt;

    $string = &RemoveLink($string);
    $string = &FreeToNormal($string);
    if (&ValidId($string) ne "") {
        return "&lt;allpagesfrom($string)&gt;";
    }

    if ($exists =~ /,(\d)/) {
        $exists = $1;
    } else {
        $exists = 2;
    }

    %pgExists = ();
    foreach $pagename (&AllPagesList()) {
        $pgExists{$pagename} = 1;
    }

###############
### replaced by gypark
### 링크 목록을 별도로 관리 패치를 적용한 경우는 두번째 라인을, 그렇지 않다면 첫번째 라인을 쓸 것
#   @x = &GetPageLinks($string, 1, 0, 0);
    @x = &GetPageLinksFromFile($string, 1, 0, 0);
###
###############

    foreach $pagename (@x) {
        $pagename = (split('/',$string))[0]."$pagename" if ($pagename =~ /^\//);
        if ($seen{$pagename} != 0) {
            next;
        }
        if (($exists == 0) && ($pgExists{$pagename} == 1)) {
            next;
        }
        if (($exists == 1) && ($pgExists{$pagename} != 1)) {
            next;
        }
        $seen{$pagename}++;
        push (@links, $pagename);
    }
    @links = sort(@links);

    foreach $pagename (@links) {
        $txt .= ".... "  if ($pagename =~ m|/|);
        $txt .= &GetPageOrEditLink($pagename) . "<br>";
    }

    return $txt;
}

1.1. 추가 업데이트 내역

ext1.90 - /매크로파라메터에이중대괄호허용
-- Raymundo 2005-11-19 6:09 pm

1.2. 사용자 의견

이름:  
Homepage:
내용:
 


위키위키분류

마지막 편집일: 2007-4-11 4:32 pm (변경사항 [d])
1077 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기