## config.pl ## 아래의 변수 추가. $UserCSS1 = '../wiki.css'; # 사용자 스타일시트 설정. $UserCSS2 = '../jof.css'; $UserCSS3 = '../nosmoke.css'; ## wiki.pl use vars qw(@RcDays @HtmlPairs @HtmlSingle .... ## 변수추가 $UserCSS1 $UserCSS2 $UserCSS3 ); ## 변수추가 sub GetHtmlHeader { .... ## 적절히 수정. if ($StyleSheet ne '') { if (!(($UserID eq "113") || ($UserID eq "112") || ($UserID eq "")) && ($UserData{'cssstyle'} == 0)) { $html .= qq(<LINK REL="stylesheet" HREF="$UserCSS1">\n); } elsif ($UserData{'cssstyle'} == 1) { $html .= qq(<LINK REL="stylesheet" HREF="$UserCSS2">\n); } elsif ($UserData{'cssstyle'} == 2) { $html .= qq(<LINK REL="stylesheet" HREF="$UserCSS3">\n); } else { $html .= qq(<LINK REL="stylesheet" HREF="$StyleSheet">\n); } } ## 적절히 수정. .... } sub DoEditPrefs { .... print '<br>', &GetFormCheck('linkrandom', 0, T('Add "Random Page" link to link bar')); ## 사용자 CSS스타일 (적절히 수정.) print '<br>', T('CSS Style:'), ' '; %csss = (0=>T('PiWD Style'), 1=>T('Jof Style'), 2=>T('Nosmoke Style')); print $q->popup_menu(-name=>'p_cssstyle', -values=>[0,1,2], -labels=>\%csss, -default=>&GetParam("cssstyle", $UserData{'cssstyle'})); ## 사용자 CSS스타일(적절히 수정.) print '<br>', $q->submit(-name=>'Save', -value=>T('Save')), "\n"; print "<hr>\n"; .... } sub DoUpdatePrefs { .... &UpdatePrefNumber("editrows", 1, 1, 999); &UpdatePrefNumber("editcols", 1, 1, 999); ## CSS (적절히 수정) &UpdatePrefNumber("cssstyle", 1, 0, 2); ## CSS (적절히 수정) print T('Server time:'), ' ', &TimeToText($Now-$TimeZoneOffset), '<br>'; .... }DoEditPrefs에 하드코딩된부분을 적절히 수정해주면 무난하게 쓸수 있을것 같습니다. 노스모크 같이 경로를 직접 치는거 보다는 저런식으로 하는게 더 나아보일것 같네요.
## 변경 # if ($UserData{'cssstyle'} == 0) { if (!(($UserID eq "113") || ($UserID eq "112") || ($UserID eq "")) && ($UserData{'cssstyle'} == 0)) { ##해쉬변수 'cssstyle'이 존재하지 않을때(로긴하지 않았을 때) 이 값이 0으로 간주되는 것을, 익명일 때는 바로 $StyleSheet 구문으로 내려가도록 바꿨습니다.