$SkinStats = 0;
## 추가 skin patch bab2 $SkinFile = "./skin/skin.htm"; # 스킨경로 $UseSkin = 1; # 0=스킨안사용, 1=스킨사용 ## 추가 skin patch
use vars qw(@RcDays @HtmlPairs @HtmlSingle .... ## 추가 skin patch bab2 use vars qw($UseSkin $SkinFile); ## 추가 skin patch .... ## 추가 skin patch bab2 use vars qw($SkinHeaderFile $SkinFooterFile $SkinStats $SkinSiteLogo $SkinHeader $SkinMenuSiteName $SkinMenuHomePage $SkinMenuUserGotoBar2 $SkinMenuUserGotoBar3 $SkinMenuUserGotoBar4 $SkinMenuIndex $SkinMenuRecentChange $SkinMenuLinks $SkinMenuSearchForm $SkinMenuSearch $SkinMenuPref $SkinMenuRandom $SkinMenuHistory $SkinMenuLogin $SkinMenuAdmin $SkinMenuUserGotoBar $SkinMenuMain $SkinMenuCurrentUser $SkinMenuRemotePage $SkinPage $SkinEditGuide $SkinFooter $SkinGoTop); # for skin ## 추가 skin patch
sub DoWikiRequest { .... ## 추가 skin patch bab2 $SkinStats = &GetSkin(); ## 추가 skin patch if (!&DoCacheBrowse()) { eval $BrowseCode; &InitRequest() or return; if (!&DoBrowseRequest()) { eval $OtherCode; &DoOtherRequest(); } } }
sub GetHtmlHeader { .... ## 추가 skin patch bab2 if (($UserData{'menulayout'}) || (($UserID eq "113") || ($UserID eq "112") || ($UserID eq "")) && ($UseSkin)) { } else { $SkinStats = 0; $SkinHeaderFile = ""; $SkinFooterFile = ""; } ## 추가 skin patch if ($StyleSheet ne '') { ....
## 함수 통째로 추가. sub GetSkin { my (@skintext); my $skinTemp; open(SKINFILE, "<$SkinFile") or return 0; @skintext = <SKINFILE>; $skinTemp = join('', @skintext); ($SkinHeaderFile, $SkinFooterFile) = split(/\$SkinPage/, $skinTemp); close(SKINFILE); return 1; }
sub BrowsePage { .... if (substr($Text{'text'}, 0, 8) eq '#EXTERN ') { $oldId = &GetParam('oldid', ''); ## 추가 skin patch bab2 $SkinStats = 0; ## 추가 skin patch my ($externURL) = ($Text{'text'} =~ /\#EXTERN\s+([^\s]+)/); ....
sub GetHeader { .... if ((&GetParam('InFrame','') eq '1') && (&UserIsAdmin())) { $topMsg .= '('.Ts('%s includes external page',&GetEditLink($id,$id)).')'; $result .= $q->h3($topMsg) if (($oldId ne '') || (&GetParam('InFrame','') eq '1')); ## 추가 skin patch bab2 } elsif ($SkinStats) { $result .= &GetSkinHeader($id, $title, $oldId); return $result; ## 추가 skin patch } .... }
## 함수 통째로 추가 sub GetSkinHeader { my ($id, $title, $oldId) = @_; my $logoImage = ""; my $result = ""; my $embed = &GetParam('embed', $EmbedWiki); my $altText = T('[Home]'); $result .= $SkinHeaderFile; if ((!$embed) && ($LogoUrl ne "")) { $logoImage = "img src=\"$LogoUrl\" alt=\"$altText\" border=0 height=60 valign=middle"; $SkinSiteLogo = "<a accesskey=\"w\" href=\"$ScriptName?$TitlePage\">\n<$logoImage></a>"; } if ($id ne '') { $SkinHeader = &GetReverseLink($id); } else { $SkinHeader = $title; } $result .= &GetSkinGotoBar($id); $result =~ s/\$SkinSiteLogo/$SkinSiteLogo/g; $result =~ s/\$SkinHeader/$SkinHeader/g; $result =~ s/\$SkinMenuSiteName/$SkinMenuSiteName/g; $result =~ s/\$SkinMenuHomePage/$SkinMenuHomePage/g; $result =~ s/\$SkinMenuUserGotoBar2/$SkinMenuUserGotoBar2/g; $result =~ s/\$SkinMenuUserGotoBar3/$SkinMenuUserGotoBar3/g; $result =~ s/\$SkinMenuUserGotoBar4/$SkinMenuUserGotoBar4/g; $result =~ s/\$SkinMenuIndex/$SkinMenuIndex/g; $result =~ s/\$SkinMenuRecentChange/$SkinMenuRecentChange/g; $result =~ s/\$SkinMenuLinks/$SkinMenuLinks/g; $result =~ s/\$SkinMenuSearchForm/$SkinMenuSearchForm/g; $result =~ s/\$SkinMenuSearch/$SkinMenuSearch/g; $result =~ s/\$SkinMenuPref/$SkinMenuPref/g; $result =~ s/\$SkinMenuRandom/$SkinMenuRandom/g; $result =~ s/\$SkinMenuHistory/$SkinMenuHistory/g; $result =~ s/\$SkinMenuLogin/$SkinMenuLogin/g; $result =~ s/\$SkinMenuAdmin/$SkinMenuAdmin/g; $result =~ s/\$SkinMenuUserGotoBar/$SkinMenuUserGotoBar/g; $result =~ s/\$SkinMenuMain/$SkinMenuMain/g; $result =~ s/\$SkinMenuCurrentUser/$SkinMenuCurrentUser/g; $result =~ s/\$SkinMenuRemotePage/$SkinMenuRemotePage/g; return $result; }
## 함수 통째로 추가. sub GetSkinGotoBar { my ($id) = @_; my ($main, $bartext); $bartext = ""; $SkinMenuSiteName = &T("<b>"."$SiteName"."</b>"); $SkinMenuHomePage = &GetPageLink($HomePage); if ($UserGotoBar2 ne '') { $SkinMenuUserGotoBar2 = &GetPageLink($UserGotoBar2); } if ($UserGotoBar3 ne '') { $SkinMenuUserGotoBar3 = &GetPageLink($UserGotoBar3); } if ($UserGotoBar4 ne '') { $SkinMenuUserGotoBar4 = &GetPageLink($UserGotoBar4); } $SkinMenuIndex = &ScriptLink("action=index", T('Index')); $SkinMenuRecentChange = &GetPageLink(T($RCName)); $SkinMenuLinks = &ScriptLink("action=links", T('Links')); $SkinMenuSearchForm = &GetFormStart() . &GetSearchForm() . $q->endform; $SkinMenuSearch = &GetPageLink(&T('Search')); $SkinMenuPref = &GetPrefsLink(); if (&GetParam("linkrandom", 0)) { $SkinMenuRandom = &GetRandomLink(); } $SkinMenuHistory = &GetHistoryLink($id, T('History')); if (($UserID eq "113") || ($UserID eq "112") || ($UserID eq "")) { $SkinMenuLogin = &ScriptLink("action=login", T('Login')); } else { $SkinMenuLogin = &ScriptLink("action=logout", T('Logout')); } if (&UserIsAdmin()) { $SkinMenuAdmin = &ScriptLink("action=editlinks", T('Admin')); } if ($UserGotoBar ne '') { $SkinMenuUserGotoBar = $UserGotoBar; } if ($id =~ m|/|) { $main = $id; $main =~ s|/.*||; # Only the main page name (remove subpage) $SkinMenuMain .= "<img src=\"$EmoticonPath/msn/thumbs_up.gif\" border=\"0\" alt=\"" . T('Main Page:') . " $main\" align=\"absmiddle\">" . &GetPageLink($main); } if (($UserID ne "") && ($UserID ne "112") && ($UserID ne "113")) { $SkinMenuCurrentUser .= &T('Current User :')." ".&ScriptLink($UserID,$UserID)."\n"; } else { $SkinMenuCurrentUser .= &T('Current User :')." ".$ENV{REMOTE_ADDR}."\n"; } if (&UserIsAdmin() && $UseRemoteWiki) { $SkinMenuRemotePage .= &ScriptLink("action=remotepage", &T("\.Get Remotepages\."))." "; } if (&GetParam('InFrame','') eq '') { $bartext .= "\n<div align=right><a accesskey=\"z\" name=#PAGE_TOP href=#PAGE_BOTTOM>" . T('[▼]') . "</a></div>\n"; } return $bartext; }
sub GetEditGuide { .... ## 수정/추가 skin patch bab2 if ($SkinStats) { $SkinEditGuide = $result; return ""; } ## 수정/추가 skin patch return $result; }
sub GetMinimumFooter { .... ## 수정/추가 skin patch bab2 if ($SkinStats) { $SkinGoTop = $result; $result = &GetSkinMinimumFooter; } elsif ($FooterNote ne '') { ## 수정/추가 skin patch $result .= T($FooterNote); # Allow local translations } $result .= $q->end_html; # 이것이 </body> </html> 과 같은것??? return $result; }
## 함수 통째로 추가 sub GetSkinMinimumFooter { my $footer_note = T($FooterNote); $SkinFooterFile =~ s/\$SkinGoTop/$SkinGoTop/g; $SkinFooterFile =~ s/\$SkinFooter/$footer_note/g; $SkinFooterFile =~ s/\$SkinMenuSiteName/$SkinMenuSiteName/g; $SkinFooterFile =~ s/\$SkinEditGuide/$SkinEditGuide/g; $SkinFooterFile =~ s/\$SkinFooter/$footer_note/g; return $SkinFooterFile; }
좀만 더 손대면... 아싸~ ㅡ,.ㅡ
GetEditGuide, DoEdit를 함 손대봐야겠네요 -_-;
헤더 | 본문 | 푸터 |
또는
헤더 |
본문 |
푸터 |
이렇게 해서, 위에 명시한 변수들을 원하는 위치에 집어넣으면 됩니다.
EMBED 는 어떻게 처리하게 되죠?