MyInterest 매크로
- 사용법 : <myinterest> 또는 <myinterest(사용자아이디)>
- <myinterest> 매크로는, 이 매크로가 포함된 페이지를 브라우징하는 사용자의 관심 페이지 목록을 출력한다. 로그인하지 않은 사용자의 경우는 아무것도 출력되지 않는다. 최근변경내역 등에 이 매크로를 넣어 두는 식으로 사용할 수 있다.
- <myinterest(사용자아이디)> 매크로는, 인자로 받은 아이디에 해당하는 사용자가 존재하고 그 사용자가 페이지 하나 이상을 관심페이지로 등록한 경우 그 페이지들의 목록을 출력한다. 그 외의 경우는 아무것도 출력되지 않는다.
- 주의사항 :
- <myinterest> 는 이름이 <mysign> 과 유사하나 (/MySign전처리매크로 참조) 전처리 매크로가 아니다. <date> 나 <time> 이 "페이지를 보는 시각"에 따라 출력이 달라지는 것처럼, 이 매크로는 "페이지를 보는 사용자"에 따라 출력이 달라지는 것이다.
- <myinterest(사용자아이디)> 를 사용하면, 자신의 관심 페이지 목록을 쉽게 자신의 개인페이지 등에 삽입해 두기가 쉬운 대신, 말을 바꾸면 타인의 관심 페이지 목록을 이 매크로를 써서 알아낼 수 있다는 뜻이 된다. 네티켓을 지키는 의미로, 남의 아이디를 인자로 넣어서 페이지에 포함하는 것을 삼가자. (주인장의 과민반응일지도..)
wiki.pl 수정
sub MacroSubst {
...
$txt =~ s/(\&__LT__;myinterest(\(([^\n]+)\))?\&__GT__;)/&MacroMyInterest($1, $3)/gei;
return $txt;
}
다음 함수를 통채로 추가
sub MacroMyInterest {
my ($itself, $username) = (@_);
my ($data, $status, @pages);
my (%tempUserData, %tempUserInterest);
my $txt = "";
if ($username eq "") {
if (&GetParam('username') eq "") {
return "";
} else {
$username = &GetParam('username');
}
}
%tempUserData = ();
($status, $data) = &ReadFile(&UserDataFilename($username));
if (!$status) {
return "";
}
%tempUserData = split(/$FS1/, $data, -1);
%tempUserInterest = split(/$FS2/, $tempUserData{'interest'}, -1);
@pages = sort (keys (%tempUserInterest));
foreach (@pages) {
$txt .= ".... " if ($_ =~ m|/|);
$txt .= &GetPageOrEditLink($_)."<br>";
}
return $txt;
}
Notes
Raymundo 페이지에 테스트 삼아서 넣긴 했지만... 제 홈페이지에 있는 페이지들이야 전부 제 관심 페이지일테니... 제가 만들었지만 저는 전혀 쓸 일이 없는 매크로로군요. 게다가 막상 남의 홈페이지에서 사용하려고 해도 괜히 페이지들 차별하는 느낌이 들어서.. ^^; NoSmoke 같은 공공 홈페이지쯤 되면 사용하기 좋을 것 같은데 그런 곳 중에 이곳의 소스를 사용해서 운영하는 곳이 있으려나요? :-)
if ($username eq "") {
if (&GetParam('username') eq "") {
return "";
} else {
$username = &GetParam('username');
}
} else {
$username = &FreeToNormal($username);
}
누군가를 위해서 저걸 추가해주는게 좋을거 같습니다. --
Bab2 2003-3-31 12:22 am
- 누구가 누군데요? 일리가 있고, 생각을 안 한 것도 아닙니다만... /사용자아이디 패치를 적용하지 않은 경우에는 들어맞지 않지요. 굳이 패치들간에 불필요한 의존성을 걸 필요가 없다고 생각해서 일부러 넣지 않았습니다. 뭐 이 원칙이 잘 지켜지고 있지도 않습니다만 :-)
- 그렇군요.. 'o'a 누군가는... 저희 아이들(?) 얘기 였습니다. ^^;
--
Bab2 2003-3-31 2:12 am
ext1.50b - 관심있는 페이지로 등록한 페이지가 삭제되었을 경우, 여전히 평범하게 링크가 나오던 것을 일반적인 경우처럼 "없는 페이지 링크" (뒤에 물음표 또는 굵은 첫글자) 로 표시하게 고쳤습니다. 관심 페이지의 수가 좀 많을 경우 속도 저하가 있겠습니다만, 그것을 체감할 정도로 관심 페이지를 많이 등록하지는 않겠죠.
위키위키분류